Arquitectura Cloud

GMA Plus utiliza AWS (Amazon Web Services) como arquitectura de infraestructura de su solución.

AWS se creó para ser el entorno de informática en la nube más flexible y seguro que hay en la actualidad

Cada una de las regiones de AWS tiene varias zonas de disponibilidad físicamente independientes y aisladas, que se encuentran conectadas mediante redes con baja latencia y alto nivel de desempeño y redundancia. Dichas zonas le ofrecen una forma más sencilla y eficaz de diseñar y utilizar aplicaciones y bases de datos, lo cual aumenta el nivel de disponibilidad, la tolerancia a errores y la escalabilidad, en comparación con las infraestructuras con uno o varios centros de datos tradicionales. Gartner reconoció el modelo de región/AZ de AWS como la forma recomendada de ejecutar aplicaciones empresariales que requieran una alta disponibilidad.

Amazon Web Services Mundial
Amazon Web Services Mundial

Las AZ’s nos proporcionan redundancia (como mínimo 2) con centros de datos separados físicamente unos de otros y alta disponibilidad para todos los servicios que ponemos en AWS.

Por ejemplo con S3 podemos replicar los datos en zonas diferentes de disponibilidad. Es decir tenemos AZ’s redundados

La infraestructura de GMA Plus en la nube consiste en una VPC (Virtual Private Cloud) dentro de AWS. Esta VPC es una subsección privada de AWS que nosotros controlamos y en la que se pueden meter recursos de AWS como por ejemplo instancias de EC2 y bases de datos.  Cuando creamos una VPC automáticamente tenemos los siguientes componentes. Como observamos en en gráfico anterior elegimos AWS como IaaS (Infraestructura como servicio), PaaS (Plataforma como servicio) y SaaS (Software como servicio).

En la cuenta AWS mediante el servicio IAM (identity &Access Management) administramos a los usuarios y su acceso a sus cuentas y servicios de AWS. El uso común de IAM es administrar usuarios, grupos, políticas de acceso y roles. El acceso a los servicios de AWS los realizamos en colaboración con MFA (Multi Factor Authentification) y de las mejores prácticas y/o pautas recomendadas para alcanzar un nivel alto de accesibilidad, seguridad y eficiencia.  En concreto el MFA que utilizamos es el de Google Authentificator

VPC (Virtual Private Cloud ). 

Es una subsección privada de AWS que nosotros controlamos y en la que puedes meter los recursos de AWS como instancias EC2 y bases de datos. Cuando creamos una VPC automáticamente tenemos los siguientes componentes:

1.- Internet Gateway (IGW)

2.- Una tabla de rutas (con rutas a las subredes por defecto)

3.- Un NACL  (con reglas para garantizar acceso)

4.- Subredes para aprovisionar recursos AWS (Instancias EC2)

Nuestros datos viajan a través de las subredes con las NACL las tablas de rutas y el internet Gateway. Nosotros tenemos el control sobre el entorno de red virtual que definimos, incluyendo la selección de tu propio rango de direcciones IP, la creación de subredes y configuración de las tablas de rutas y puertas de enlace

Internet Gateway (IGW). Combinación de hardware y software que proporciona a nuestra VPC una ruta hacia el exterior POR LO QUE DEBES ESTAR SIEMPRE DISPONIBLE. (attached), si lo ponemos en situación de detached quiere decir que no habría nadie que podría entrar y salir a nuestra VPC.

Tablas de rutas. Conjunto de reglas. Llamadas rutas, que se utilizan para determinar hacia dónde se dirige el tráfico de red.

NACL (Network Access Control List). Una capa opcional de seguridad para nuestra VPC que actúa como un Firewall para controlar el tráfico dentro y fuera de una o más subredes. Este NACL está asociado con nuestras subredes, nuestros NACL tienen reglas Inbound y reglas Outbound.

Subredes.  Una subred es una subsección de una red. La subred incluye todas las instancias en una ubicación específica. En nuestro caso hemos creado 4 subredes  (2 públicas y 2 privadas) en diferentes zonas de disponibilidad AZ´s (esto lo hacemos para que en caso de caída de alguna AZ, tengamos las instancias en otra AZ para tener alta disponibilidad y Full Tolerance).

Amazon Simple Storage Service (Amazon S3) es un servicio de almacenamiento de objetos que ofrece escalabilidad, disponibilidad de datos, seguridad y rendimiento líderes en el sector. Esto significa que clientes de todos los tamaños y sectores pueden utilizarlo para almacenar y proteger cualquier cantidad de datos para diversos casos de uso, como sitios web, aplicaciones móviles, procesos de copia de seguridad y restauración, operaciones de archivado, aplicaciones empresariales, dispositivos IoT y análisis de big data. Amazon S3 proporciona características de administración fáciles de utilizar que le permiten organizar los datos y configurar sofisticados controles de acceso con objeto de satisfacer sus requisitos empresariales, organizativos y de conformidad. Amazon S3 está diseñado para ofrecer una durabilidad del 99,999999999 % (11 nueves) y almacena datos de millones de aplicaciones para empresas de todo el mundo.

Podemos resumir S3 (Simple Storage Service) como un servicio de almacenamiento masivo On-line (en la nube) al que podemos acceder desde cualquier dispositivo. Por consiguiente tendremos una url asociada con cada fichero.

EC2 (Elastic Compute Cloud) que no es más que instancias de máquinas virtualesCon EC2 ofrece una capacidad de computo escalable en la nube de AWS, el uso de EC2 elimina la necesidad de invertir en hardware por adelantado para que podamos desplegar las soluciones. Con EC2 podemos escalar hacia arriba y hacia abajo para manejar los cambios en los requisitos o los picos de tráfico de su aplicación. Pero no sólo podemos escalar en capacidad de cálculo sino también en volumen de almacenamiento gracias a EBS (Elastic Block Store volumen de almacenamiento) siempre disponibles (highly available pues siempre están redundados) y se puede adjuntar a cualquier instancia EC2 en ejecución. En los EBS podemos utilizar Snapshots, es decir tenemos una imagen de un volumen EBS.

Grupo de Seguridad (SG) se encuentran a nivel de Instancia a diferencia de los NACL que se encuentran a nivel de red. Los SG incluyen reglas que permiten tráfico y actúan como un firewall virtual en las instancias. Con los SG más los NACL tendremos 2 controles de seguridad para poder filtrar puertos y protocolos  para nuestras instancias y nuestras subredes. Por defecto los SG deniegan todo el tráfico de internet hacia adentro y permiten todo para la salida. Ejemplo si nosotros instanciamos un servidor web apache en nuestro SG solo perimiríamos tráfico por http y https, de esta forma nos ahorraríamos muchos problemas.

¿Qué es lo que necesita una instancia EC2 para comunicarse con internet?.  Mediante un direccionamiento IP en AWS proporcionamos una dirección IP pública a cada una de las instancias.

Monitoreo. Disponemos de los servicios SNS y Cloud Watch que en cualquier momento nos informan via sms y/o e-mail e incluso auto-reparan las instancias si fuese necesario.

También disponemos del servicio Route 53, en el cual es dónde configuramos nuestros dominios web para nuestros sitios web o aplicaciones que alojamos en AWS.