Consideraciones clave al utilizar AWS para el alojamiento web
Existen algunas diferencias clave entre la nube de AWS y un modelo de alojamiento de aplicaciones web tradicional. En la sección anterior, se han destacado muchas de las áreas clave que debe tener en cuenta al implementar una aplicación web en la nube. En esta sección, se señalan algunos de los cambios arquitectónicos clave que debe tener en cuenta al llevar cualquier aplicación a la nube.
Se acabaron los dispositivos de red físicos
No es posible implementar dispositivos de red físicos en AWS. Por ejemplo, los firewalls, enrutadores y equilibradores de carga para las aplicaciones de AWS ya no pueden residir en dispositivos físicos y deben reemplazarse por soluciones de software. Existe una amplia variedad de soluciones de software de calidad empresarial, ya sea para equilibrar la carga o para establecer una conexión VPN. Esto no limita lo que se puede ejecutar en la nube de AWS, sino que se trata de un cambio en la arquitectura de su aplicación si actualmente utiliza estos dispositivos.
Firewalls en todas partes
Donde antes tenía una zona desmilitarizada
Piense en la posibilidad de tener disponibles varios centros de datos
Considere las zonas de disponibilidad de una región de AWS como varios centros de datos. Las instancias de EC2 en diferentes zonas de disponibilidad están separadas de manera lógica y física, e incluyen un modelo muy sencillo para implementar su aplicación en los centros de datos para conseguir alta disponibilidad y fiabilidad. Amazon VPC como servicio regional le permite utilizar las zonas de disponibilidad y, al mismo tiempo, mantener todos sus recursos en la misma red lógica.
Trate a los hosts como si fueran efímeros y dinámicos
Probablemente, el cambio más importante en la forma de diseñar su aplicación de AWS sea que los hosts de Amazon EC2 deben tratarse como si fueran efímeros y dinámicos. Ninguna aplicación creada para la nube de AWS debe asumir que un host va a estar disponible siempre, por lo que debe diseñarse con la idea de que los datos de los almacenes instantáneos de EC2 se perderán si falla una instancia de EC2.
Cuando se abre un nuevo host, no debe hacer suposiciones sobre su dirección IP o ubicación dentro de una zona de disponibilidad del host. Su modelo de configuración debe ser flexible y su enfoque sobre el arranque de un host debe tener en cuenta la naturaleza dinámica de la nube. Estas técnicas son fundamentales para crear y ejecutar una aplicación enormemente escalable y tolerante a fallos.
Tenga en cuenta las tecnologías de contenedores y sin servidor
Este documento técnico se centra principalmente en una arquitectura web más tradicional. Sin embargo, considere la posibilidad de modernizar sus aplicaciones web pasándose a las tecnologías de contenedores
Considere la implementación automatizada
-
Amazon Lightsail
es un servidor virtual privado (VPS) fácil de usar que ofrece todo lo necesario para crear una aplicación o sitio web, además de un plan mensual rentable. Lightsail es perfecto para hacer más sencillas las cargas de trabajo, para implementaciones rápidas y para iniciarse en AWS. Está diseñado para ayudarle a empezar con poco y aumentar a medida que vaya creciendo. -
AWS Elastic Beanstalk
es un servicio fácil de utilizar para implementar y escalar servicios y aplicaciones web desarrollados con Java, .NET, PHP, Node.js, Python, Ruby, Go y Docker en servidores familiares como Apache, Nginx, Passenger e IIS. Solo tiene que cargar el código, y Elastic Beanstalk se encargará de manera automática de la implementación, el aprovisionamiento de la capacidad, el equilibrio de carga, el escalado automático y la supervisión del estado de la aplicación. Al mismo tiempo, tendrá el control absoluto de los recursos de AWS que hacen posible el funcionamiento de su aplicación y podrá obtener acceso a los recursos subyacentes cuando quiera. -
AWS App Runner
es un servicio completamente administrado que facilita a los desarrolladores la implementación rápida de aplicaciones web y API en contenedores, a escala y sin necesidad de experiencia previa en infraestructura. Comience con su código fuente o una imagen de contenedor. App Runner crea e implementa automáticamente la aplicación web y equilibra la carga del tráfico con cifrado. App Runner también se escala vertical u horizontalmente de forma automática para satisfacer las necesidades de tráfico. -
AWS Amplify
es un conjunto de herramientas y servicios que se pueden utilizar juntos o de forma individual para ayudar a los desarrolladores de frontend web y móvil a crear aplicaciones de pila completa escalables, con la tecnología de AWS. Con Amplify, puede configurar backends de aplicaciones y conectar la aplicación en cuestión de minutos, implementar aplicaciones web estáticas con tan solo unos clics y administrar el contenido de las aplicaciones fácilmente fuera de la AWS Management Console.