Soluciones de Well-Architected

1. Introducción #

AWS ofrece muchos servicios que pueden combinarse para crear arquitecturas en la nube.

Sin embargo, no basta con que una arquitectura funcione. También debe ser:

  • Segura.
  • Eficiente.
  • Resiliente.
  • Rentable.
  • Operable.
  • Sostenible.

Para evaluar si una arquitectura está bien diseñada, AWS proporciona el AWS Well-Architected Framework.


2. AWS Well-Architected Framework #

¿Qué es? #

El AWS Well-Architected Framework es un marco de buenas prácticas para diseñar, revisar y mejorar arquitecturas en AWS.

Ayuda a construir soluciones:

  • Más seguras.
  • Más fiables.
  • Más eficientes.
  • Más económicas.
  • Más fáciles de operar.
  • Más sostenibles.

3. Los 6 pilares de Well-Architected #

El marco se basa en seis pilares:

  1. Excelencia operativa.
  2. Seguridad.
  3. Fiabilidad.
  4. Eficiencia del rendimiento.
  5. Optimización de costes.
  6. Sostenibilidad.

4. Excelencia operativa #

Idea principal #

La excelencia operativa se centra en ejecutar, supervisar y mejorar sistemas para aportar valor al negocio.

Incluye:

  • Automatizar despliegues.
  • Supervisar aplicaciones.
  • Responder a eventos.
  • Mejorar procesos continuamente.
  • Aprender de errores.
  • Documentar operaciones.

Ejemplo #

Usar CodePipeline para automatizar despliegues y CloudWatch para supervisar el estado de la aplicación.


5. Seguridad #

Idea principal #

El pilar de seguridad busca proteger información, sistemas y recursos.

Incluye:

  • Gestión de identidades.
  • Principio de mínimo privilegio.
  • Cifrado.
  • Protección de datos.
  • Detección de amenazas.
  • Control de acceso.
  • Auditoría.

Ejemplo #

Usar IAM, KMS, CloudTrail, GuardDuty y Security Hub para proteger y supervisar el entorno.


6. Fiabilidad #

Idea principal #

La fiabilidad se centra en que los sistemas funcionen correctamente y puedan recuperarse ante fallos.

Incluye:

  • Alta disponibilidad.
  • Recuperación ante desastres.
  • Diseño multi-AZ.
  • Copias de seguridad.
  • Auto Scaling.
  • Tolerancia a fallos.

Ejemplo #

Desplegar una aplicación en varias zonas de disponibilidad con Elastic Load Balancing y Auto Scaling.


7. Eficiencia del rendimiento #

Idea principal #

La eficiencia del rendimiento consiste en usar los recursos adecuados para cada carga de trabajo.

Incluye:

  • Seleccionar bien el tipo de instancia.
  • Escalar según demanda.
  • Usar servicios administrados.
  • Medir rendimiento.
  • Revisar recursos cuando cambian las necesidades.

Ejemplo #

Cambiar una instancia EC2 demasiado grande por una más adecuada o usar Lambda para cargas event-driven.


8. Optimización de costes #

Idea principal #

La optimización de costes consiste en evitar gastos innecesarios y obtener el máximo valor por el dinero invertido.

Incluye:

  • Eliminar recursos no usados.
  • Elegir modelos de precio adecuados.
  • Usar Savings Plans o instancias reservadas.
  • Revisar Cost Explorer.
  • Crear presupuestos.
  • Ajustar tamaño de recursos.

Ejemplo #

Detectar instancias EC2 infrautilizadas con Trusted Advisor y reducir su tamaño.


9. Sostenibilidad #

Idea principal #

La sostenibilidad busca reducir el impacto ambiental de las cargas de trabajo.

Incluye:

  • Usar recursos eficientes.
  • Evitar infraestructura siempre encendida si no es necesaria.
  • Dimensionar correctamente.
  • Usar servicios administrados o serverless cuando encajen.
  • Reducir desperdicio de capacidad.

Ejemplo #

Cambiar procesos que se ejecutan de forma ocasional en EC2 por funciones Lambda.


10. AWS Well-Architected Tool #

¿Qué es? #

AWS Well-Architected Tool es una herramienta de autoservicio para revisar cargas de trabajo en AWS.

Permite evaluar una arquitectura frente a los seis pilares del Well-Architected Framework.


Cómo funciona #

  1. Creas una carga de trabajo.
  2. Respondes preguntas sobre la arquitectura.
  3. La herramienta identifica riesgos y áreas de mejora.
  4. Se genera un informe.
  5. Se ofrecen recomendaciones basadas en buenas prácticas.

Ventajas #

  • Ayuda a detectar problemas.
  • Proporciona recomendaciones.
  • Permite revisar arquitecturas de forma estructurada.
  • Ayuda a priorizar mejoras.
  • Puede personalizarse según el caso de uso.

11. Servicios especializados de AWS #

Además de los servicios principales vistos en el curso, AWS ofrece muchos servicios diseñados para casos específicos.

En este módulo destacamos cuatro categorías:

  • Servicios de desarrollo.
  • Servicios de aplicaciones empresariales.
  • Servicios de computación para usuario final.
  • Servicios de IoT.

12. Servicios de desarrollo #

AWS ofrece servicios para ayudar a desarrollar, probar, desplegar y depurar aplicaciones.


12.1 AWS CodeBuild #

AWS CodeBuild es un servicio de integración continua completamente administrado.

Permite:

  • Compilar código fuente.
  • Ejecutar pruebas.
  • Crear paquetes de software.
  • Escalar automáticamente.
  • Pagar solo por el tiempo de compilación.

Caso de uso #

Compilar una aplicación automáticamente cada vez que se sube código al repositorio.


12.2 AWS CodePipeline #

AWS CodePipeline es un servicio de CI/CD completamente administrado.

Automatiza las fases de:

  • Construcción.
  • Prueba.
  • Despliegue.

Caso de uso #

Cuando un desarrollador sube cambios al repositorio, CodePipeline puede iniciar automáticamente el flujo para probar y desplegar la aplicación.


12.3 AWS X-Ray #

AWS X-Ray ayuda a analizar y depurar aplicaciones distribuidas.

Permite ver cómo una petición atraviesa los distintos componentes de una aplicación.

Sirve para #

  • Detectar cuellos de botella.
  • Analizar latencia.
  • Solucionar errores.
  • Entender dependencias entre servicios.
  • Mejorar rendimiento.

12.4 AWS AppSync #

AWS AppSync es un servicio administrado para crear APIs GraphQL.

GraphQL permite que una aplicación solicite solo los datos que necesita.

Caso de uso #

Una aplicación móvil necesita consultar datos de varias fuentes mediante una única API GraphQL.


12.5 AWS Amplify #

AWS Amplify ayuda a desarrollar, desplegar y administrar aplicaciones web y móviles.

Permite añadir fácilmente:

  • Autenticación.
  • APIs.
  • Almacenamiento.
  • Hosting.
  • Funciones backend.

Caso de uso #

Crear rápidamente una aplicación web full-stack con autenticación y backend en AWS.


13. Servicios de aplicaciones empresariales #

13.1 Amazon Connect #

Amazon Connect es un servicio de centro de contacto en la nube.

Permite crear centros de atención al cliente con llamadas, chats, enrutamiento y análisis.

Caso de uso #

Una empresa quiere montar un call center escalable sin gestionar infraestructura propia.


13.2 Amazon Simple Email Service #

Amazon SES es un servicio escalable para enviar correos electrónicos.

Permite enviar:

  • Emails transaccionales.
  • Boletines.
  • Campañas de marketing.
  • Notificaciones.

Caso de uso #

Una tienda online envía confirmaciones de pedido y correos promocionales.


14. Servicios de computación para usuario final #

Estos servicios permiten ofrecer escritorios, aplicaciones o navegación remota a empleados.


14.1 Amazon AppStream 2.0 #

Amazon AppStream 2.0 permite transmitir aplicaciones de escritorio desde la nube a cualquier dispositivo compatible.

Caso de uso #

Un usuario accede a una aplicación pesada sin instalarla en su ordenador.


14.2 Amazon WorkSpaces #

Amazon WorkSpaces es un servicio de escritorios virtuales administrados.

Permite acceder a un entorno de trabajo desde cualquier lugar.

Caso de uso #

Empleados remotos acceden a su escritorio corporativo de forma segura.


14.3 Amazon WorkSpaces Secure Browser #

Amazon WorkSpaces Secure Browser proporciona un navegador remoto empresarial administrado.

Permite acceso seguro a:

  • Aplicaciones web internas.
  • SaaS.
  • Internet pública controlada.

Caso de uso #

Un empleado necesita acceder a aplicaciones web corporativas sin instalar VPN ni software especializado.


15. Servicios de IoT #

15.1 AWS IoT Core #

AWS IoT Core permite conectar dispositivos físicos de forma segura con aplicaciones en la nube.

IoT significa Internet of Things, o Internet de las cosas.


AWS IoT Core permite #

  • Conectar dispositivos.
  • Recibir datos de sensores.
  • Procesar mensajes.
  • Controlar dispositivos remotamente.
  • Usar autenticación y cifrado.
  • Integrarse con otros servicios AWS.

Casos de uso #

  • Cámaras inteligentes.
  • Sensores industriales.
  • Sistemas de riego inteligentes.
  • Dispositivos domésticos conectados.
  • Comederos inteligentes.
  • Monitorización remota.

16. Comparación rápida de servicios especializados #

ServicioCategoríaFunción principal
CodeBuildDesarrolloCompilar código y ejecutar pruebas
CodePipelineDesarrolloAutomatizar CI/CD
X-RayDesarrolloDepurar y rastrear aplicaciones
AppSyncDesarrolloCrear APIs GraphQL
AmplifyDesarrolloCrear apps web y móviles full-stack
Amazon ConnectEmpresaCentro de contacto en la nube
Amazon SESEmpresaEnvío de emails
AppStream 2.0Usuario finalStreaming de aplicaciones
WorkSpacesUsuario finalEscritorios virtuales
WorkSpaces Secure BrowserUsuario finalNavegador remoto seguro
AWS IoT CoreIoTConectar dispositivos a la nube

17. Casos prácticos #

Caso 1: Automatizar despliegues #

Una empresa quiere que cada cambio de código pase por pruebas y despliegue automático.

Servicio recomendado #

AWS CodePipeline.


Caso 2: Compilar y probar código #

Un equipo necesita ejecutar pruebas automáticas al subir código.

Servicio recomendado #

AWS CodeBuild.


Caso 3: Depurar una aplicación distribuida #

Una aplicación tiene problemas de latencia y no se sabe en qué componente ocurre.

Servicio recomendado #

AWS X-Ray.


Caso 4: Crear una API GraphQL #

Una aplicación móvil necesita consultar datos de varias fuentes desde una única API.

Servicio recomendado #

AWS AppSync.


Caso 5: Crear una app web con autenticación y hosting rápido #

Un equipo pequeño quiere construir una aplicación full-stack sin gestionar mucha infraestructura.

Servicio recomendado #

AWS Amplify.


Caso 6: Crear un centro de atención al cliente #

Una empresa necesita gestionar llamadas y chats de soporte.

Servicio recomendado #

Amazon Connect.


Caso 7: Enviar correos masivos o transaccionales #

Una tienda online quiere enviar confirmaciones de pedidos.

Servicio recomendado #

Amazon SES.


Caso 8: Dar acceso remoto a aplicaciones de escritorio #

Un usuario necesita usar software de escritorio sin instalarlo localmente.

Servicio recomendado #

Amazon AppStream 2.0.


Caso 9: Dar escritorios virtuales a empleados #

Una empresa quiere escritorios remotos administrados.

Servicio recomendado #

Amazon WorkSpaces.


Caso 10: Acceso seguro solo a aplicaciones web #

Una empresa quiere que empleados accedan a aplicaciones web internas sin VPN.

Servicio recomendado #

Amazon WorkSpaces Secure Browser.


Caso 11: Conectar sensores o dispositivos físicos a AWS #

Una empresa quiere recopilar datos de dispositivos IoT.

Servicio recomendado #

AWS IoT Core.


18. Ideas clave para el examen AWS Cloud Practitioner #

  • AWS Well-Architected Framework ayuda a evaluar arquitecturas.
  • Los seis pilares son excelencia operativa, seguridad, fiabilidad, eficiencia del rendimiento, optimización de costes y sostenibilidad.
  • Excelencia operativa se centra en operar y mejorar procesos.
  • Seguridad se centra en proteger datos, sistemas e identidades.
  • Fiabilidad se centra en recuperación y resistencia ante fallos.
  • Eficiencia del rendimiento se centra en usar recursos adecuados.
  • Optimización de costes se centra en evitar gastos innecesarios.
  • Sostenibilidad se centra en reducir impacto ambiental.
  • AWS Well-Architected Tool permite revisar cargas de trabajo.
  • CodeBuild compila código y ejecuta pruebas.
  • CodePipeline automatiza CI/CD.
  • X-Ray ayuda a depurar aplicaciones distribuidas.
  • AppSync permite crear APIs GraphQL.
  • Amplify ayuda a crear aplicaciones web y móviles full-stack.
  • Amazon Connect es un centro de contacto en la nube.
  • Amazon SES sirve para enviar correos electrónicos.
  • AppStream 2.0 transmite aplicaciones de escritorio.
  • WorkSpaces ofrece escritorios virtuales.
  • WorkSpaces Secure Browser ofrece navegación remota segura.
  • AWS IoT Core conecta dispositivos físicos con AWS.

Soluciones de Well-Architected

Loading...