Apuntes

Aquí encontrarás mis apuntes para aprobar la certificación de AWS Cloud Practitioner

Principios de diseño de arquitectura cloud

The Well-Architected Framework

El Well-Architected Framework es un conjunto de principios que AWS recomienda en el momento de diseñar e implementar aplicaciones cloud y evaluar así sus pros y sus contras.


El frameworke stá dividido en cinco pilares: fiabilidad, performance, eficiencia, seguridad, optimización de costes y excelencia operacional.

Fiabilidad

La fiabilidad consiste en evitar el fallo completo de tu aplicación.


Para eso es necesario dos cosas, el primero evitar que cualquiera de los componentes que formen tu aplicación pueda sufrir fallos (por una mala configuración, por sobrecaraga, por un crash…) y el segundo es cuando un fallo ocurre cómo se va a reemplazar el recurso fallado por uno nuevo y sano.

Performance

La eficiencia de rendimiento signfica conseguir el nivel de rendimiento deseado sin sobrecargar o sobreaprovisionar los recursos y sin sacrificar fiabilidad.


Quieres suficientes recursos para proporcionar redundancia cuando un recurso falla, y también quieres añadir recursos a medida que aumenta la demanda.


Pero necesitas asegurarte de que, en cualquier momento, tiene la cantidad adecuada de recursos para sus requisitos de disponibilidad y rendimiento, y no un poco más.

Seguridad

El pilar de la seguridad está relacionado con asegurar la confidencialidad, la integridad y la disponibilidad de los datos. Algunos de los principios básicos de seguridad en AWS son:


  • Seguir el principio del mínimo privilegio al crear usuarios IAM y políticas de recursos que autoricen, borren o modifiquen solo lo justo y necesario para solo el usuario que elo necesite.

  • Evitar la perdida de datos realizando backups y replicación. Utilizar Elastic Block Store (EBS) para realizar snapshots periódicas de instancias EC2. Configurar versionado y replicado de objetos en S3 para evitar modificaciones o destrucción de datos.

  • Usar encriptación en EBS y S3.

  • Trackear todo lo que pasa en los recursos AWS activando los logs detallados.


Optimización de costes

La optimización de costes no consiste en intentar llevar tus costes a cero sino que consiste en pagar lo menos posible por los recursos que necesites. Puedes usar el servicio de AWS Cost Explorer para analizar dónde se está yendo tu dinero.


También puedes ahorrar dinero comprando reservas de instancias o utilizando instancias puntuales para ahorrar sobre los costes de la demanda.

Excelencia operativa

La excelencia operativa es fundamental para automatizar el proceso necesario para alcanzar y mantener los otros cuatro pilares anteriores. La idea de la excelencia operativa es mejorar y automatizar progresivamente más actividades con el fin de reforzar los otros pilares.


  • Fiabilidad: usa las comprobaciones de estado de los balanceadores de carga elásticos para supervisar el estado de una aplicación que se ejecuta en varias instancias de EC2. Cuando una instancia falla, aleja a los usuarios de la instancia instancia que ha fallado y crear una nueva.

  • Performance: utiliza las políticas de escalado dinámico de EC2 Auto Scaling para escalar automáticamente, asegurando que siempre tenga tantas instancias como necesite y no más.

  • Seguridad: utiliza CodeBuild para automatizar el testeo de nuevo código en busca de vulnerabilidades. Al deployar utilizar CloudFormation para automatizarlo y crear una infraestructura nueva y segura en lugar de hacerlo a mano.

  • Optimización de costes: automaticamente apaga o termina instancias o recursos sin usar. Implementa configuraciones de ciclo de vida para borrar los objetos innecesarios en S3…