Buscar (Don't Edit)

lunes, 16 de marzo de 2020

Amazon Simple Storage Service (S3)

Función principal: Almacenamiento seguro, durable y altamente escalable en la nube.

Ejemplos de casos de uso populares:

  • Backups.
  • Almacenamiento y distribución de contenido (software, media).
  • Big data.
  • Web hosting estático.
  • Recuperación de desastres.

Storage classes: General purpose, infrequent access y archive.

Servicios similares: Amazon Glacier

Detalles:

S3 utiliza un sistema de almacenamiento llamado cloud object storage, el almacenamiento es independiente de un servidor y se accede a tráves de Internet. Todos los datos almacenados se consideran objetos y estos son administrados usando una API basada en verbos HTTP. Los objetos están compuestos por datos y metadatos. Los metadatos pueden ser de tipo system creados por Amazon o user que son opcionales. Cada objeto es identificado por una llave que nosotros proporcionamos, esta llave hace a su vez la función de nombre del archivo. Los objetos son automáticamente replicados en múltiples instalaciones y dispositivos dentro de una misma región. El tamaño de los objetos puede variar entre 0 bytes y 5TB.Cada objeto puede ser dirigido por una única URL formada por el endpoint del webservice + el nombre del bucket + el la llave del objeto.

Ejemplo:

http://nombreBucket.s3.amazonaws.com/llave

Los objetos mencionados son almacenados en una estructura llamada bucket. Los buckets son simplemente carpetas planas que no tiene ningún tipo de estructura jerárquica. Virtualmente cada bucket puede almacenar la cantidad de objetos que queramos. Los nombres de los bucktes son globales, así es que los nombres tienen que ser únicos y pueden contener hasta 63 caracteres incluyendo números, guiones y puntos. La sugerencia es basarse en un sistema similar a las reglas de los DNS. Cada bucket se crea en una región especificada seleccionada por nosotros.

S3 esta altamente optimizado para lecturas y sus características minimalistas son intencionales con el fin de brindar mayor escalabilidad y durabilidad. Ahora mencionamos las operaciones permitidas.

  • Crear y eliminar buckets.
  • Escribir objetos.
  • Leer objetos.
  • Borrar objetos.
  • Listar llaves en un bucket.

Durabilidad : 99.999999999%
Disponibilidad: 99.99%

Consistencia de datos:

Se basa en un sistema eventual de consistencia debido a la replicación en múltiples servidores y localidades los cambios realizados pueden tardar un poco en propagarse. Para PUTs nuevos no existe ninguna consideración ya que se garantiza consistencia de lectura después de escritura. Sin embargo cuando utilizamos PUT o DELETE para un objeto ya existente se aplica la estrategia de consistencia eventual. Esto quiere decir que podríamos recibir la información no actualizada pero nunca una mezcla inconsistente de datos.

Control de acceso:

Por default cuando creamos un bucket solo el creador tiene acceso a el. Después de eso es nuestra responsabilidad utilizar alguno de los mecanismos que se ofrecen para dar acceso a terceros. Podemos hacer uso de ACLs para dar acceso a nivel de bucket ó podemos hacer uso de la recomendación de Amazon y usar políticas especificas para cada bucket. 

Web hosting estático:

Rápido, muy escalable y mucho más seguro que un sitio web dinámico.

Prefijos y delimitadores:

Debido a la estructura plana la utilización de prefijos y delimitadores permite organizar y navegar simulando una estructura jerárquica. Es común utilizar “/” y ”\”. Utilizando IAM o políticas aplicadas a los buckets podemos filtrar accesos a distintos usuario.

Ejemplos:

Nombre del objeto: 2008/septiembre/foto1.jpg

Es importante recalcar que es una simple emulación ya que S3 no es un sistema de archivos.

Storage classes:

General purpose, infrequent access y archive.

S3 Standard – Para la mayoría de los casos de uso general.

S3 Standard Infrequent Access – Para archivos que persisten por un tiempo más largo (más de 30 días) y que su acceso no es tan frecuente. Su costo depende de uso en GB que se haga.

S3 Reduced Redundancy Storage – Ideal para datos que puedes ser calculados o recuperados fácilmente.

 Utilizar el API SDK de AWS para Java es realmente muy sencillo, imagino que debe de ser igual de sencillo para otro lenguaje soportado.

Particularmente  realice el ejemplo que viene en la documentación y adicionalmente realice un PUT usando un InputStream, en ese caso la firma requiere de un ObjectMetada en cual agregue la información de tamaño del contenido.

https://docs.aws.amazon.com/sdk-for-java/v1/developer-guide/examples-s3-objects.html 
 

martes, 26 de septiembre de 2017

Ready Player One

Una avalancha de referencias culturales adecuadas a una buena historia da como resultado “Ready Player One”. Nunca he visto una laptop llena de calcomanías que no se vea culera por más chidas que estén y en este caso este libro logra llenarse de calcomanías y verse genial. Las referencias culturales son inmensas, pero en ningún momento están de más, si bien algunas pueden no ser completamente de tu agrado o son desconocidas seguramente alguna de ellas si marco tú vida.
Otro aspecto a destacar es el contraste que marca entre la vida real y la virtual, me pareció muy adecuado como logra mezclar y sacar provecho de sus características particulares. Me logro recordar un poco los cambios que ocurrían en la historia sin fin. El libro está separado por niveles y luego por capítulos iniciando con una breve introducción de la situación que vive el protagonista. Para el final del primer nivel yo ya estaba completamente enganchado en la historia y solo quería leer el siguiente capítulo. Si bien sentí un ligero bajón en la historia después de esa primera explosión de emociones posteriormente en los capítulos intermedios y finales todo va para arriba, la emoción se mantiene viva en todo momento.
Los personajes son otro acierto de la novela los protagonistas son muy agradables, el muy fácil sentir empatía con el personaje principal obviamente supero mis expectativas generadas al principio de la novela Art3mis es lo mejor, es la nerd que todos los nerds hemos deseado alguna vez, trae todo. Ache cumple también con creces en su rol como gran compañero en la aventura. Incluso los villanos están muy bien logrados y a las pocas páginas ya empiezas a aborrecer a los Sixers. El sabor que me dejo al final fue muy agradable, el desenlace está bien logrado incorporando un mensaje moral y de reflexión, es como debía ser. Solo me queda recomendarlo y esperar a ver la película que se viene en 2018. El tráiler luce genial y solo puedo esperar que sea una gran película.

sábado, 14 de enero de 2017

Compañeros


Esos compañeros de los cuales unos días o semanas después puedes llamar amigos y que les puedes decir que no traen nada o que son bien putos y simplemente te la regresan o se mueren de risa.


Para mi todo comenzó con mi primer trabajo que fue para una pequeña empresa de software fundada por un grupo de amigos. El equipo estaba conformado aproximadamente por 8 desarrolladores, 2 diseñadores, una persona encargada de temas administrativos y 2 personas de ventas. El ambiente laboral era fantástico y entre los desarrolladores era aún más cercano gracias a que la mayoría nos habíamos conocido previamente. Hacíamos muchas actividades en conjunto tanto dentro como fuera de la oficina, pero claro que la mayoría de estas pasaban dentro de la oficina. Las platicas de sobremesa eran fascinantes y siempre divertidas, cualquier tema era valido. Solo un par de ocaciones hubo algunos roces y claro que había mejores relaciones entre algunos, pero sinceramente puedo asegurar que todos nos convertimos en amigos. Había una particularidad en la oficina, la chica de administración junto con los de ventas salían temprano siempre y los diseñadores a las 6 en punto aplicaban el famoso "Yaba daba doooo"! A partir de ese momento todo era permitido, las 6 marcaba la línea en la que no había reglas nos expresábamos como queríamos nos convertíamos en una bola de patanes que no teníamos limites. Las bromas eran muy pesadas, los apodos y burlas eran cosa de todos los días que en lugar de desgastar nuestra relación solo hacia más grande nuestro lazo afectivo, claro algunas veces si era necesario quedarse a trabajar, pero gran parte de las veces nos quedábamos simplemente para cotorrear. Otras veces había retas de PES obviamente estaba instalado en el server XD, pero se ponía mejor cuando se armaba la reta 3 vs 3. Toda la noche dejábamos bajando “material” que ese día entre la mayoría habíamos decidido bajar y solo puedo decir que al poco tiempo llenamos el disco duro. Así fue poco más de un año, con grandes sonrisas y buenos momentos.




Mi carrera ha sido larga y diversa y en todos siempre he podido encontrar grandes amigos sin embargo hay 2 trabajos que merecen una mención honorífica. Mi primer trabajo en Guadalajara marco mi primera vez fuera de casa, afortunadamente así también lo fue para varios compañeros que pronto nos acoplamos y apoyamos para esa nueva aventura. Hoy en día gran parte de mis relaciones personales están basadas en ese trabajo. Las condiciones laborales se prestaban para salir a desayunar diario y hacer múltiples visitas al OXXO. La empresa era muy grande y se daba pie para formar muchos grupos y conocer gente nueva con cada ingreso. En total fueron casi 3 años de una experiencia social muy grata y que como mencione anteriormente que gran parte de esas personas siguen afortunadamente cerca de mi hasta la fecha.


Mi regreso a Guadalajara marco el ultimo trabajo en el que se genero un grupo realmente especial y aunque seguimos en contacto por medio de un chat lamentablemente el tiempo de convivencia personal fue muy breve. En el papel las condiciones sonaban un poco adversas, no existe ningún parecido entre nosotros, somos de distintas edades y distintas ciudades, ahora cuanto a gustos a algunos nos gustan Los Simpsons a otro no, a unos nos gusta el fut a otro no, ellos son putos yo no. El chiste es que entramos a la empresa el mismo día y eso fue suficiente para crear ese gran grupo en el que me siento privilegiado de estar.



Debo decir que he sido demasiado afortunado en cuanto compañeros se refiere y no ha habido un trabajo en el que no saliera ganando un buen amigo. Espero que ustedes tengan la misma fortuna que yo.  



martes, 10 de junio de 2014

Lo que nos dejó el #WWDC2014


     El día lunes de la semana pasada en San Francisco se llevó a cabo la Conferencia Mundial de Desarrolladores, que se realiza anualmente por Apple Inc o como muchos conocen "WWDC".

     Como cada año los Apple FanBoys , siempre están al pendiente de lo que depara en esta edición por eso en MoztroDev nos pusimos a seguir la transmisión para poder hacer este post mas detalladamente.


lunes, 19 de mayo de 2014

Vota para elegir el tráiler de JavaZone 2014

JavaZone es la mas grande conferencia de Java realizada en Noruega, y se ha hecho famosa alrededor del mundo gracias a sus siempre divertidos trailers promocionales. Han conseguido videos tan geniales como Java 4-Ever y Javapocalypse. Para el evento de este año, nos presentan 3 propuestas para que el público elija el trailer que se publicará en Agosto. Veamos cuáles son.


Creando una API REST con ASP.NET Web Api

El internet es un mundo muy grande, cambiante y revolucionario, pero todo gracias a las personas que hacen uso de él y de quienes ayudan a mejorarlo a través de las tecnologías y el software. En éste último tema es en donde nos enfocaremos, en el que día con día se construyen mejores sistemas y servicios basados en SOA, y una de las cosas que lo ha permitido son las API's, tanto SOAP como REST (aunque las primeras han ido perdiendo terreno), siendo éstas últimas las de más auge recientemente. En este tutorial veremos como crear una API REST en .NET usando Web Api y EntityFramework.