Servicios web de Amazon: arquitectura básica
Esta es la estructura básica de AWS EC2, dónde EC2son las siglas de Elastic Compute Cloud. EC2 permite a los usuarios utilizar máquinas virtuales de diferentes configuraciones según sus requisitos. Permite varias opciones de configuración, mapeo de servidor individual, varias opciones de precios, etc. Analizaremos estos en detalle en la sección de Productos de AWS. A continuación se muestra la representación esquemática de la arquitectura.
Note - En el diagrama de arriba S3son las siglas de Simple Storage Service. Permite a los usuarios almacenar y recuperar varios tipos de datos mediante llamadas a API. No contiene ningún elemento informático. Discutiremos este tema en detalle en la sección de productos de AWS.
Balanceo de carga
Load balancingsimplemente significa cargar hardware o software en servidores web, lo que mejora la eficiencia del servidor y de la aplicación. A continuación se muestra la representación esquemática de la arquitectura de AWS con equilibrio de carga.
El equilibrador de carga de hardware es un dispositivo de red muy común que se utiliza en arquitecturas de aplicaciones web tradicionales.
AWS proporciona el servicio Elastic Load Balancing, distribuye el tráfico a las instancias EC2 a través de múltiples fuentes disponibles y agrega y elimina dinámicamente hosts de Amazon EC2 de la rotación de equilibrio de carga.
Elastic Load Balancing puede aumentar y reducir dinámicamente la capacidad de equilibrio de carga para adaptarse a las demandas del tráfico y también admitir sesiones pegajosas para abordar necesidades de enrutamiento más avanzadas.
Amazon Cloud-front
Es responsable de la entrega de contenido, es decir, se utiliza para entregar el sitio web. Puede contener contenido dinámico, estático y de transmisión mediante una red global de ubicaciones de borde. Las solicitudes de contenido al final del usuario se enrutan automáticamente a la ubicación de borde más cercana, lo que mejora el rendimiento.
Amazon Cloud-front está optimizado para funcionar con otros servicios web de Amazon, como Amazon S3 y Amazon EC2. También funciona bien con cualquier servidor de origen que no sea de AWS y almacena los archivos originales de manera similar.
En Amazon Web Services, no hay contratos ni compromisos mensuales. Pagamos solo por la cantidad o la cantidad de contenido que entregamos a través del servicio.
Balanceador de carga elástico
Se utiliza para difundir el tráfico a los servidores web, lo que mejora el rendimiento. AWS proporciona el servicio Elastic Load Balancing, en el que el tráfico se distribuye a instancias EC2 en varias zonas disponibles, y la adición y eliminación dinámicas de hosts Amazon EC2 de la rotación de equilibrio de carga.
Elastic Load Balancing puede aumentar y reducir dinámicamente la capacidad de equilibrio de carga según las condiciones del tráfico.
Gestion de seguridad
Elastic Compute Cloud (EC2) de Amazon proporciona una función llamada grupos de seguridad, que es similar a un firewall de red entrante, en el que tenemos que especificar los protocolos, puertos y rangos de IP de origen que pueden llegar a sus instancias EC2.
A cada instancia EC2 se le puede asignar uno o más grupos de seguridad, cada uno de los cuales enruta el tráfico apropiado a cada instancia. Los grupos de seguridad se pueden configurar mediante subredes o direcciones IP específicas, lo que limita el acceso a las instancias EC2.
Cachés elásticos
Amazon Elastic Cache es un servicio web que administra la memoria caché en la nube. En la gestión de la memoria, la caché tiene un papel muy importante y ayuda a reducir la carga de los servicios, mejora el rendimiento y la escalabilidad en el nivel de la base de datos al almacenar en caché la información de uso frecuente.
Amazon RDS
Amazon RDS (Relational Database Service) proporciona un acceso similar al del motor de base de datos MySQL, Oracle o Microsoft SQL Server. Las mismas consultas, aplicaciones y herramientas se pueden utilizar con Amazon RDS.
Parcha automáticamente el software de la base de datos y gestiona las copias de seguridad según las instrucciones del usuario. También es compatible con la recuperación en un momento determinado. No se requieren inversiones iniciales y solo pagamos por los recursos que usamos.
Alojamiento de RDMS en instancias EC2
Amazon RDS permite a los usuarios instalar RDBMS (Sistema de gestión de bases de datos relacionales) de su elección como MySQL, Oracle, SQL Server, DB2, etc. en una instancia EC2 y pueden administrarlo según sea necesario.
Amazon EC2 usa Amazon EBS (Elastic Block Storage) similar al almacenamiento conectado a la red. Todos los datos y registros que se ejecutan en instancias EC2 deben colocarse en volúmenes de Amazon EBS, que estarán disponibles incluso si falla el host de la base de datos.
Los volúmenes de Amazon EBS proporcionan automáticamente redundancia dentro de la zona de disponibilidad, lo que aumenta la disponibilidad de discos simples. Además, si el volumen no es suficiente para las necesidades de nuestras bases de datos, se puede agregar volumen para aumentar el rendimiento de nuestra base de datos.
Con Amazon RDS, el proveedor de servicios administra el almacenamiento y nosotros solo nos enfocamos en administrar los datos.
Almacenamiento y copias de seguridad
La nube de AWS ofrece varias opciones para almacenar, acceder y realizar copias de seguridad de los datos y activos de aplicaciones web. Amazon S3 (Simple Storage Service) proporciona una interfaz de servicios web sencilla que se puede utilizar para almacenar y recuperar cualquier cantidad de datos, en cualquier momento y desde cualquier lugar de la web.
Amazon S3 almacena datos como objetos dentro de recursos llamados buckets. El usuario puede almacenar tantos objetos como sea necesario dentro del depósito, y puede leer, escribir y eliminar objetos del depósito.
Amazon EBS es eficaz para los datos a los que se debe acceder como almacenamiento en bloque y requiere persistencia más allá de la vida de la instancia en ejecución, como las particiones de la base de datos y los registros de aplicaciones.
Los volúmenes de Amazon EBS se pueden maximizar hasta 1 TB, y estos volúmenes se pueden dividir para volúmenes más grandes y mayor rendimiento. Los volúmenes de IOPS aprovisionados están diseñados para satisfacer las necesidades de las cargas de trabajo de bases de datos que son sensibles al rendimiento y la coherencia del almacenamiento.
Amazon EBS actualmente admite hasta 1000 IOPS por volumen. Podemos dividir varios volúmenes juntos para entregar miles de IOPS por instancia a una aplicación.
Escalado automático
La diferencia entre la arquitectura de la nube de AWS y el modelo de alojamiento tradicional es que AWS puede escalar dinámicamente la flota de aplicaciones web a pedido para manejar los cambios en el tráfico.
En el modelo de alojamiento tradicional, los modelos de pronóstico de tráfico se utilizan generalmente para aprovisionar hosts antes del tráfico proyectado. En AWS, las instancias se pueden aprovisionar sobre la marcha de acuerdo con un conjunto de desencadenantes para escalar la flota hacia afuera y hacia adentro. Amazon Auto Scaling puede crear grupos de capacidad de servidores que pueden crecer o reducirse según la demanda.
Consideraciones clave para el alojamiento web en AWS
A continuación se presentan algunas de las consideraciones clave para el alojamiento web:
No se necesitan dispositivos de red físicos
En AWS, los dispositivos de red como firewalls, enrutadores y balanceadores de carga para aplicaciones de AWS ya no residen en dispositivos físicos y se reemplazan con soluciones de software.
Hay varias opciones disponibles para garantizar soluciones de software de calidad. Para el equilibrio de carga, elija Zeus, HAProxy, Nginx, Pound, etc. Para establecer una conexión VPN, elija OpenVPN, OpenSwan, Vyatta, etc.
Sin preocupaciones de seguridad
AWS proporciona un modelo más seguro, en el que todos los hosts están bloqueados. En Amazon EC2, los grupos de seguridad están diseñados para cada tipo de host en la arquitectura, y se puede crear una gran variedad de modelos de seguridad simples y por niveles para permitir un acceso mínimo entre los hosts dentro de su arquitectura según los requisitos.
Disponibilidad de centros de datos
Las instancias EC2 están fácilmente disponibles en la mayoría de las zonas de disponibilidad en la región de AWS y proporcionan un modelo para implementar su aplicación en los centros de datos para obtener alta disponibilidad y confiabilidad.