Qué es la nube
Usar la nube significa correr tus aplicaciones en los servidores de otra persona/empresa en lugar hospedarlos en tus propios servidores.
Principales características de la nube
Alta disponibilidad y recursos escalables
Es posible aprovecharse del diseño de arquitectura y de las diferentes capas de redundancia para que si un componente falla toda la carga de trabajo se traslade automáticamente a un elemento sano.
Conectar los recurso de diferentes regiones para que si una región falla, su carga de trabajo pueda ser relocalizada.
Ofrecer a los clientes de una potencia de computación superior a la que necesitan realmente y que puedan usarla bajo demanda.
Gracias a la economía de escala aprovecharse de precios bajos.
Principales características de la nube
Alta disponibilidad y recursos escalables
Es posible aprovecharse del diseño de arquitectura y de las diferentes capas de redundancia para que si un componente falla toda la carga de trabajo se traslade automáticamente a un elemento sano.
Conectar los recurso de diferentes regiones para que si una región falla, su carga de trabajo pueda ser relocalizada.
Ofrecer a los clientes de una potencia de computación superior a la que necesitan realmente y que puedan usarla bajo demanda.
Gracias a la economía de escala aprovecharse de precios bajos.
Virtualización de servidores
El secreto que hace que estos proveedores puedan ofrecer computación bajo demanda a los clientes es la virtualización de recursos.
AWS virtualiza máquinas según las necesidades en lugar de tener que montarlas en físico aprovechándose de la gran cantidad de dispositivos y recursos físicos que tienen.

Por ejemplo, un dispositivo de almacenamiento de 5TB puede ser dividido en docenas de volúmenes más pequeños con diferentes servidores virtuales o instancias.
Los recursos de un simple servidor físico pueden ser compartidos entre instancias de forma transparente para los usuarios, así si por ejemplo una instancia necesita más memoria y otra no está consumiendo toda la que tiene asignada, AWS reajustará los consumos de recursos entre las instancias haciendo que la primera tenga más memoria respecto a la segunda.
La virtualización ofrece los siguientes beneficios:
Velocidad y agilidad: definir, comprar, aprovisionar, probar y lanzar un nuevo servidor es una tarea que puede llevar varios días/semanas/meses. Con la nube todo esto no tarda más de un par de minutos.
Eficiencia: como con la nube solo se te asigna lo que necesitas, esto hace que se aprovechen todos los recursos y sea 100% eficiente.
Modelo de responsabilidad compartida

Modelos de nube
IaaS - Infraestructure as a Service
Los productos IaaS generalmente simulan el look&feel que obtendrías al administrar recursos físicos.
Éstos productos te dan acceso directo a las máquinas, al almacenamiento y a los recursos de red la estar “jugando” directamente a nivel de hardware eso si, en este modelo eres el único responsable de una mala configuración de tus recursos.
La parte positiva es que al estar en un nivel tan bajo te permite customizar bajo demanda cada capa de tu stack.
Ejemplos de IaaS en AWS son los siguientes:
Elastic Cloud Compute (EC2) para instancias de máquinas virtuales.
Elastic Block Store (EBS) para los volúmenes de almacenamiento.
Elastic Load Balancing para redes.
PaaS - Platform as a Service
Los productos PaaS simplifican el proceso de construcción de apliaciones escondiendo la complejidad de la infraestructura que la soportan.
Con este modelo se te provee de una interface a través de la cual defines el comportamiento y el entorno que quieres para tu aplicación. Esto a menudo incluye el código que hará correr tu aplicación.
Ejemplos de PaaS en AWS son los siguientes:
Elastic Beanstalk
Elastic Container Service (ECS)
SaaS - Software as a Service
Los productos SaaS son ofrecidos directamente a los usuarios finales. Un ejemplo claro es de SaaS es Gmail, un software de gestión de correo que es accesible a través de un navegador web en lugar de tener que instalar localmente un cliente.
Cargas de trabajo Serverless
Cuando hablamos de aplicaciones serverless no nos referimos a aplicaciones distribuidas sin un servidor central. Una carga de trabajo serverless hace referencia a que pequeños desarrolladores puedes correr sus funciones durante un par de segundos o minutos en las máquinas de otra persona/empresa, en este caso en la nube de AWS.
El modelo serverless que ofrecen servicios como AWS Lambda hace que sea posible diseñar código que reaccione a eventos externos a sí mismo.
Cuando por ejemplo se sube un vídeo a un AWS Bucket S3 o a un FTP on-premise, una función Lambda puede ser disparada para convertir automáticamente ese vídeo a otro formato.
No hay necesidad de mantener 24/7 un servidor propio (y sus costes asociados) a la espera de se produzca una subida de un vídeo, con Lambda el código permanece inactivo (y sin gastos) hasta que se produce el evento deseado.
Escalabilidad y elasticidad
La escalabilidad y la elasticidad son los dos grandes conceptos que están detrás de una infraestructura como la de AWS. Entender qué son y como funcionan permitirán tomar mejores decisiones de diseño.
Escalabilidad
Que un servicio sea escalable hace referencia a que aumentará o disminuirán sus capacidad automáticamente según la demanda que esté teniendo en todo momento reajusténdose para satisfacer cualquier cambio que sea necesario.
Existen dos tipos de escalabilidad.
Escalabilidad horizontal: añadir nuevas instancias clónicas de la original.
Escalabilidad vertical: añadir más recurso a la instancia afectada.
Elasticidad
Por lo general, con la nube se establece los niveles de rendimiento máximo y mínimo que se desea para su para una aplicación, y los servicios de AWS que utiliza añadirán o eliminarán automáticamente recursos para satisfacer las demandas de uso cambiantes.
Una aplicación podría configurarse para que funcione con un solo servidor durante los periodos de baja demanda, pero cualquier número de servidores adicionales podría ponerse en línea automáticamente cuando la demanda se dispare.
Cuando la demanda vuelva a bajar, los servidores no utilizados se apagarán automáticamente.