El core de AWS
Amazon Machine Images
Una imagen es un paquete de software construido a partir de una definición de plantilla y puesto a disposición dentro de una única región de AWS.
El paquete se puede copiar en un volumen de almacenamiento recién creado que, una vez extraída la imagen, se convertirá en una unidad de arranque que convertirá la VM a la que está conectada en un servidor totalmente operativo.
Lo bueno de las AMI es que están disponibles en muchos sabores. Puedes seleccionar AMIs que le darán sistemas operativos limpios y optimizados para la nube como las versiones oficiales de Red Hat Enterprise Linux (RHEL), Ubuntu, Windows Server, o el propio Linux de Amazon.
Pero también puede encontrar el sistema operativo que necesita precargado con uno de los cientos de pilas de software como OpenVPN (conectividad remota segura), TensorFlow (redes neuronales) o un cortafuegos Juniper ya instalado y listo para funcionar.
Las AMI están organizadas en cuatro colecciones: el conjunto de inicio rápido, cualquier AMI personalizada que haya creado, el AWS Marketplace y las AMI de la comunidad.
Crear tus propias AMIs
Es posible crear tu propia imagen AMI tomando un snapshot del volumen EBS de una instancia EC2. El resultado estará disponible en el menú AMIs del dashboard de EC2.
Entendiendo las instancias EC2
El tipo de una instancia EC2 es simplemente una descripción del tipo de recursos y hardware lleva esa máaquina.
Para ver los diferentes tipos de instancias EC2 que existen puedes visitar el siguiente enlace:
Tipos de instancias de Amazon EC2 - Amazon Web Services
Server Storage: EBS y ISV
Como todo lo demás en la nube, los volúmenes de almacenamiento que contienen el SO y los datos de tu instancia van a ser virtuales. En la mayoría de los casos, eso significa que la unidad de 20 o 30 (o 2.000) GB que contiene tu aplicación es, en realidad, una partición de 20 o 30 GB hábilmente disfrazada para que parezca un dispositivo independiente.
Sin embargo, en realidad se ha extraído de una unidad mucho más grande.
¿Qué está pasando con el resto del espacio de la unidad?
Probablemente se está utilizando para instancias ejecutadas por otros clientes de AWS.
Algunos tipos de instancias sólo admiten volúmenes de Elastic Block Store (EBS), otros obtienen su almacenamiento de los volúmenes del almacén de instancias, y algunos pueden manejar felizmente ambos.
Amazon Elastic Block Store (EBS)
La unidad física en la que existe un volumen EBS puede vivir a bastante distancia de el servidor físico que da vida a su instancia.
En lugar de conectarse directamente a la a través de, por ejemplo, un cable SATA, de la misma manera que una unidad física se conecta a un ordenador físico, los volúmenes de EBS hablan con su instancia a través de una conexión de red de muy baja latencia que atraviesa el centro de datos.
EBS ofrece lo siguiente:
Los datos almacenados en EBS son persistentes, sobreviven después de un apagón o un crash del sistema.
Los volúmenes EBS pueden ser encriptados.
Los volúmenes EBS pueden ser movidos entre instancias o incluso convertidos a AMIs.
Amazon EC2 Instance Store Volumes (ISV)
A diferencia de EBS, los tipos de instancia compatibles con los volúmenes de almacenamiento de instancia pueden disfrutar de las ventajas de tener sus datos en unidades físicas conectadas directamente al servidor de instancia físico.
Las desventajas de los volúmenes de almacenamiento de instancias (datos efímeros, sin encriptación y falta de flexibilidad) se ven compensadas por la mayor velocidad de lectura y escritura de datos. Esto puede ser útil para procesamiento y análisis de flujos de datos de rápido movimiento en los que los datos no necesitan ser persistentes.
Amazon Lightsail
Lightsail se promociona como una forma poco estresante de entrar en el mundo de la nube de Amazon.
Ofrece que, cuando se lanza, aprovisiona automáticamente todos los recursos de computación, almacenamiento base de datos y recursos de red necesarios para que su despliegue funcione. Usted establece el nivel de precios que desea (actualmente le costará entre 3,50 y 160 USD cada mes) y añades un script opcional que se ejecutará en tu instancia al inicio y AWS se hará cargo.
Para contextualizar, con 3,50 dólares tendrás 512 MB de memoria, 1 vCPU, un volumen de almacenamiento de 20 GB de unidad de estado sólido (SSD) y 1 TB de transferencias.
Aws Elastic Beanstalk
En todo caso, Elastic Beanstalk es aún más sencillo que Lightsail. Todo lo que se espera de ti es que defina la plataforma de la aplicación y luego cargue su código. Eso es todo.
Puedes elegir entre entornos preconfigurados (incluyendo Go, .NET, Java Node.js y PHP) y un número de de contenedores Docker.
El “código” de las aplicaciones Docker se define con archivos Dockerrun.aws.json con un formato especial. Una diferencia clave entre los dos servicios es que, mientras que Lightsail factura con una tarifa (entre 3,50 y 160 dólares al mes, como has visto), Beanstalk genera costes según cómo se consumen los recursos.
Tu no puedes elegir cuántas vCPUs o cuánta memoria vas a utilizar. En cambio, tu aplicación escalará su consumo de recursos según la demanda. Si, por ejemplo, su sitio de WordPress se vuelve viral y atrae a millones de visitantes, AWS aumentará la infraestructura de forma invisible para satisfacer la demanda.
Tenga esto en cuenta, ya que estas variaciones en la demanda determinarán cuánto se le facturará cada mes.