Un novato paseando por el Cloud de Amazon: S3
Cuando desde el mundo IT tradicional, en el que controlamos todos los elementos de nuestra infraestructura aterrizamos en el mundo cloud de la mano de uno de los grades actores como es el caso de Amazon AWS, nos enfrentamos en cierto modo a un cambio en el hacer de las cosas.
Yo siempre he defendido que desde los departamentos IT de las empresas, es necesario el conocer la tecnología que vamos a implementar en nuestros negocios.
Evidentemente muchas veces debemos de contar con el expertise de terceros a la hora de implementas dichas soluciones, pero siempre entiendo interesante y necesario el que tengamos capacidad técnica para poder discutir aquello que queremos desarrollar. Debemos de ser capaces de conocer la tecnología y orientarla de un modo que aporte valor a nuestra empresa y la diferencie del resto. Somos nosotros como empresa quienes debemos definir la hoja de ruta.
Puede que de este modo no seamos expertos en nada, pero si con un cierta capacidad técnica que nos aporte una visión general sobre los diferentes elementos que compongan nuestra infraestructura.
Entiendo además que es bueno para nosotros como empresas, pero al mismo modo para los proveedores que nos acompañan, porque les hacemos ver que tenemos una idea clara de nuestros objetivos.
Y en ese sentido es en el que nos gusta trabajar. Evidentemente tiene un cierto coste, pero claramente se compensa con las ventajas obtenidas.
Muchos de nosotros hemos oído hablar del mundo CLoud, pero no todos hemos tenido la oportunidad de trabajar sobre el.
En este caso como en sucesivos artículos os voy a hablar de la Cloud de Amazon. Y lo quiero hacer de una forma básica en la que se entienda, y nos sirva para tener una base sobre la que seguir profundizando.
Ya he comentado que no soy experto en nada, por lo que cualquier improperio que lance estaré muy agradecido de que me lo hagáis saber y poder enmendar mi error.
La tecnología es una especie de océano sobre el que disfrutar pero que muchas veces parece no tener fin. Es muy complicado saber mucho de todo. De hecho empieza a haber un momento en que el tiempo necesario para profundizar muy en detalle empieza a no merecerme la pena.
En este caso vamos a empezar a nadar en el mundo Amazon a ver que vamos descubriendo.
Una de las ventajas que siempre se nos afirma a la hora de sumergirnos en el mundo de la Cloud, es su facilidad de uso y velocidad a la hora de desplegar nuevos proyectos.
Ese es su gran argumento. Nos proporcionan las herramientas y recursos para poder iniciar los proyectos, que por otro lado por el coste que nos podrían suponer tanto por tiempo como por dinero, serian muy complicados el poder afrontar. Muy interesante por ejemplo para desarrollar prototipados en proyectos de innovación.
Pues vamos alla y vamos a ver que es lo que descubrimos.
Una vez nos hemos planteado un proyecto a desarrollar dentro de la nube de Amazon, lo primero que deberemos de hacer es crearnos una cuenta (root) con nuestro correo, que va a ser la cuenta de administración de nuestro portal.
Sobre la misma vamos a tener que adjuntar un tarjeta de crédito sobre la que se van a imputar nuestros gastos.
Una vez creada, esta primera cuenta es una cuenta de administración que se debe utilizar únicamente para ello, debemos de aplicar desde el primer momento un doble factor de autentificación (MFA) que podemos implementar con Google authenticator.
Es cierto que nos ofrece de forma gratuita un primer nivel de entrada para conocer el entorno, pero cuidado con el tema de los gastos porque al igual que se trata de entornos sencillos sobre los que desarrollar, debemos tener muy bien controlados los mismos. Amazon dispone de un servicio, sobre el que definir alarmas de facturación, para poder controlar estos gastos y que no nos tengamos que tirar de los pelos con algún susto.
Una vez dentro de la consola vamos a poder ver la multitud de los servicios que nos ofrece Amazon. Y aquí nos podemos encontrar con servicios para todos los gustos. Basta con darse una vuelta para darnos cuenta (Machine Leaning, Realidad Virtual, Base de Datos,Robótica…).
Es interesante el comentar lo grande que es Amazon y señalar que trabaja con el concepto de Regiones. Cada Región es un area geográfica independiente la cual puede tener varias ubicaciones aisladas que se definen como zonas de disponibilidad. Son las Zonas locales (CPD) que finalmente son las que albergan los recursos.
Por eso es importante el indicar la region sobre la que queremos trabajar en nuestras plataformas de producción.
De hecho puede suceder que Amazon haya desplegado nuevos servicios en alguna region de EEUU y no hayan llegado a Europa.
Dicho esto, y seleccionada la region, lo primero pasa por definir los usuarios, grupos, roles y políticas de permisos a través del administrador de identidades IAM.
Todos los usuarios que vayamos creando en un primer momento van a carecer de permisos ya que Amazon se basa en una política restrictiva por defecto en ese sentido.
Una vez definidos los usuarios y asignado permisos vamos a ir a lo que nos compete en este articulo:S3 (Simple Storage Service)
S3 no es mas que un servicio de almacenamiento, seguro y con una alta disponibilidad (99.99…y muchos nueves) que nos ofrece Amazon pero quizás diferente a lo que muchos conocéis.
No es un disco duro que nos ofrece Amazon sobre el que poder instalar, por ejemplo un Sistema Operativo, sino que sirve para almacenar objetos. Algo que ellos llaman buckets.
Si traducimos el concepto de Bucket es como tener un directorio en la nuble sobre el que ir subiendo ficheros, y estos pueden tener un tamaño que va desde los 0 a los 5TB.
Estos buckets tiene que tener un identificador único que no puede ser compartido con nadie. Es un nombre universal por lo que no podemos utilizar alguno que haya sido utilizado por el resto.
Como estamos trabajando el la nube, Amazon nos indica que nuestro almacenamiento es infinito, o mas bien el que nuestros bolsillos puedan soportar.
Cada vez que subimos un fichero, si este este proceso se hace de una forma correcta obtenemos un código 200 indicando que esta todo OK.
Interesante indicar que cuando creamos estos buckets, estos se hacen de una forma privada de tal forma que no pueden ser accedidos desde el exterior, pero evidentemente esto lo podemos cambiar a través de las políticas o controles de acceso.
Dicho esto es necesario el decir que existen difentes «tiering» para el mismo concepto de S3. Es decir que dentro del S3 podemos seleccionar diferentes tipo de almacenamiento S3 en función de la frecuencia con la que necesitamos acceder a ese dato.
Amazon, como el resto de clouds, nos va a facturar tanto por el dato como por el acceso que hagamos de los mismos.
¿Y porqué diferentes S3?. Porque el precio de un tipo a otro varia en gran medida. Esto nos es problema cuando trabajamos con pocos datos, pero cuando la cantidad aumenta ya es una dato a tener muy en cuenta.
Disponemos por ejemplo del Standard, del de acceso infrecuente de datos (IA), uno que denominan Intelligent Tiering en el que ellos afirman que aplicando Inteligencia Artificial son capaces de ubicar el dato en el tiering mas interesante para nosotros, y por último uno que vienen a llamar Glacier que únicamente es interesante para datos que ténganos que recurrir sin mucha asiduidad ya que en su versión mas barata nos van a devolver el dato pasadas las 12 horas desde su consulta.
Aquí también tenemos un tema muy interesante y es que através de las políticas podemos ir moviendo el dato de un tiering a otro en función de nuestros intereses.
Por ejemplo un dato que lleva mucho tiempo almacenado al que ya no recurrimos pero que debemos mantener, podemos generar una política para que pasado ese determinado tiempo lo mueva de un S3 estándar a uno Glacier.
Teniendo esta parte mas o menos clara, los buckets también tienen una propiedad interesante que es la versionado, por lo que puede ser una herramienta interesante de backup.
Y no solo versionar, sino que se pueden auditar todos los accesos que se hagan al mismo.
Evidentemente en un servicio de este tipo, tampoco podia faltar la encriptación. Y esta se puede dar tanto en transito, es decir desde el origen desde el que se sube la información, tanto como en los archivos almacenados.
Las Keys para realizar estas tareas pueden ser nuestras, bien de Amazon o buscar una sistema compartido.
Esto seria un poco lo básico que debemos de conocer sobre S3.
Luego tendría otro tipo de característica de las que también podríamos hacer uso como por ejemplo la replicación entre regiones, o aceleradores de transferencia utilizando sus redes backbone.
O hacer uso del servicio CloudFront que lo que básicamente va a hacer es cachear el contenido al que los usuarios acceden en las direferntes regiones para que de este modo el acceso al mismo sea mas rápido. Esto lo tienen operativo para servicios Web y Streaming.
Por último, cierro este primer articulo comentando que también ofrecen un Store Gateway por el que podemos subir nuestros datos locales a un S3, e incluso definiendo Tapes «virtuales» en la nube que podemos utilizar con nuestros sistemas de Backup.
Vuelvo a repetir con aquello de cuidado con los que vayamos activando, que es muy sencillo el hacerlo, pero luego puede repercutir de una forma no deseada en nuestros bolsillos.
Aquí debemos de ser mas de activar aquello que realmente sea necesario para nuestros proyectos.
Por hoy, y viendo que estamos terminado este fin de semana no os quiero aburrir mas.
¡A disfrutar de la tecnología!