El AWS Well-Architected Framework es un conjunto de directrices que proporcionan a los clientes de AWS un marco sólido para diseñar y operar sistemas confiables y eficientes en la nube. Con este enfoque, se pueden optimizar las comunicaciones entre los componentes de la aplicación para que sea altamente escalable y receptiva a las necesidades de los clientes. Además, se pueden identificar posibles riesgos tecnológicos dentro del ecosistema en la nube y abordar las fallas en el marco existente.
En resumen, un AWS Well-Architected Framework es un análisis que se compone de seis pilares fundamentales que guían el diseño de soluciones en la nube: excelencia operativa, seguridad, fiabilidad, eficiencia del rendimiento y optimización de costes. Cada uno de estos pilares se basa en las mejores prácticas y principios de diseño para garantizar que los sistemas sean altamente eficientes y adaptables.
Los 6 pilares del AWS Well-Architected Framework
1. Operational Excellence
El primer pilar del AWS Well-Architected Framework es la Excelencia Operativa, que establece que los equipos de desarrollo y operaciones deben buscar información sobre el negocio y los clientes para crear aplicaciones que apoyen de manera efectiva las cargas de trabajo de producción. Esto implica comprender los riesgos, los posibles cambios y los objetivos que impulsan las operaciones diarias del negocio.Principios de diseño para la Excelencia Operativa:
- Realizar operaciones como código.
- Realizar cambios frecuentes, pequeños y reversibles (tener un plan de reversión preparado).
- Actualizar y refinar los procedimientos de operaciones cuando sea necesario.
- Anticipar fallos y aprender de ellos.
Mejores prácticas para la Excelencia Operativa AWS Well-Architected Framework:
- Los equipos deben tener una comprensión compartida de toda la carga de trabajo y de los objetivos empresariales compartidos. Se debe alentar a los equipos a utilizar los recursos proporcionados por AWS (Centro de conocimientos de AWS, foros de discusión de AWS y centros de soporte de AWS).
- Todos deben entender su papel en el éxito empresarial. Tener objetivos compartidos para establecer prioridades de recursos. Esto maximizará los beneficios de sus esfuerzos.
- Adoptar enfoques que proporcionen una retroalimentación rápida sobre la calidad y permitan una recuperación rápida de los cambios que no tienen los resultados deseados. El uso de estas prácticas mitiga el impacto de los problemas introducidos a través de la implementación de cambios.
- Definir, capturar y analizar las métricas de carga de trabajo y operaciones para obtener visibilidad sobre los eventos y tomar medidas apropiadas.
- Dedicar tiempo y recursos para una mejora continua incremental para evolucionar la efectividad y eficiencia de las operaciones.
2. Security
El pilar de seguridad de AWS Well-Architected Framework enfatiza el establecimiento de mecanismos que ayuden a proteger sistemas, datos y activos. El modelo de responsabilidad compartida de AWS permite a las organizaciones que adoptan la nube alcanzar sus objetivos de seguridad y cumplimiento. Debido a que AWS asegura físicamente la infraestructura que soporta nuestros servicios en la nube, como cliente de AWS, puedes centrarte en usar los servicios para lograr tus objetivos.Principios de diseño para la seguridad:
- Implementar una base de identidad sólida (principio de privilegio mínimo)
- Permitir la trazabilidad (monitorizar, alertar y auditar acciones)
- Aplicar seguridad en todas las capas.
- Automatizar las mejores prácticas de seguridad.
- Proteger datos en tránsito y en reposo.
- Mantener a las personas alejadas de los datos.
- Prepararse para eventos de seguridad.
Mejores prácticas para la seguridad AWS Well-Architected Framework:
- Automatizar procesos, pruebas y validación de seguridad. Deberías definir principios y políticas (es decir, cuentas, usuarios, roles y servicios que pueden realizar acciones en tu cuenta). Deberías aplicar políticas granulares en el servicio IAM. Aplicar prácticas de contraseñas seguras.
- Usar auditorías internas, un examen de controles. Automatizar notificaciones de alerta basadas en condiciones definidas. CloudTrail logs, llamadas API de AWS y CloudWatch proporcionan monitorización de métricas con alarmas, y AWS Config proporciona un historial de configuración. Usa Guard Duty para detectar comportamientos maliciosos o no autorizados.
- Cualquier carga de trabajo que tenga alguna forma de conectividad de red, ya sea a través de internet o una red privada, requiere múltiples capas de defensa para ayudar a protegerse de amenazas externas e internas basadas en la red.
- Puedes cifrar tus datos y gestionar claves. Hay registros detallados disponibles que contienen contenido importante, como el acceso a archivos y cambios. La versión, que puede formar parte de un proceso de gestión de ciclo de vida de datos más amplio. AWS nunca inicia el movimiento de datos entre regiones.
- Hay registros detallados disponibles que contienen contenido importante, como el acceso a archivos y cambios. Los eventos pueden procesarse automáticamente y desencadenar herramientas que automatizan las respuestas mediante el uso de APIs de AWS.
- Asegúrate de tener una manera de otorgar rápidamente acceso para tu equipo de seguridad y automatizar el aislamiento de instancias, así como la captura de datos y estado para fines forenses.
3. Reliability
El AWS Well-Architected Framework define mecanismos que ayudan a una aplicación a manejar cargas de trabajo de manera precisa y consistente. La arquitectura del sistema debe ser capaz de prevenir y responder a fallas automáticamente.Los principios de diseño para la Fiabilidad incluyen:
- Automatizar la recuperación de fallos.
- Distribuir las cargas de trabajo y solicitudes para eliminar los puntos únicos de falla.
- Dejar de adivinar la capacidad.
- Probar los procedimientos de incidentes y recuperación.
- Gestionar el cambio en la automatización.
Las Mejores Prácticas para la Fiabilidad AWS Well-Architected Framework son:
- Respetar y hacer seguimiento a los límites de los servicios. Se pueden utilizar los SDK de AWS para implementar las mejores prácticas de fiabilidad mencionadas aquí. La carga de trabajo debe operar de manera confiable a pesar de la pérdida de datos o la latencia en estas redes.
- Los controles de gestión de cambios aseguran que se puedan hacer cumplir las reglas que proporcionan la fiabilidad que se necesita.
- Las cargas de trabajo deben ser capaces de resistir fallas y reparar problemas automáticamente. Con AWS, cuando una métrica en particular cruza un umbral, se puede activar una acción automatizada para remediar el problema. Se pueden reemplazar recursos fallidos sin perder tiempo en repararlos.
- Realizar copias de seguridad de los datos regularmente y probar los archivos de respaldo. Hacer un seguimiento activo de los KPI, así como del objetivo de tiempo de recuperación (RTO) y el objetivo de punto de recuperación (RPO). Los procesos de recuperación deben ser tan ejercitados como los procesos de producción normales.
4. Performance Efficiency
El pilar de Eficiencia de Rendimiento del AWS Well-Architected Framework incluye la capacidad de utilizar los recursos informáticos de manera eficiente para satisfacer los requisitos del sistema y mantener esa eficiencia a medida que cambia la demanda y evolucionan las tecnologías.Principios de diseño para la Eficiencia de Rendimiento:
- Facilitar la implementación de tecnologías avanzadas para el equipo.
- Ir global en minutos.
- Utilizar arquitecturas sin servidor.
- Experimentar con más frecuencia.
- Considerar la afinidad mecánica.
Mejores prácticas relacionadas con la Eficiencia de Rendimiento AWS Well-Architected Framework:
- Cuando diseñe el uso de la informática, debe aprovechar los mecanismos de elasticidad disponibles para asegurarse de tener la capacidad suficiente para mantener el rendimiento a medida que cambia la demanda.
- Adoptar un enfoque basado en datos para construir una arquitectura de alto rendimiento. Recopilar datos sobre todos los aspectos de la arquitectura, desde el diseño de alto nivel hasta la selección y configuración de los tipos de recursos.
- Cuando se selecciona una solución de almacenamiento, es fundamental asegurarse de que se alinee con los patrones de acceso para lograr el rendimiento deseado.
- Es importante considerar los patrones de acceso de su carga de trabajo y también considerar si otras soluciones no relacionadas con bases de datos podrían resolver el problema de manera más eficiente (cómo usar una base de datos de grafos, series temporales o de almacenamiento en memoria).
- Debe considerar la ubicación al implementar su red. La solución de red óptima para una carga de trabajo varía según la latencia, los requisitos de ancho de banda, la variación de retardo y el ancho de banda. Las limitaciones físicas, como un usuario o recursos en las instalaciones, determinan las opciones de ubicación. Estas limitaciones pueden compensarse con ubicaciones periféricas o colocación de recursos.
- Debe considerar la ubicación al implementar su red. Utilice métricas de redes para realizar cambios en la configuración de redes a medida que evoluciona la carga de trabajo. Al aprovechar las regiones, los grupos de colocación y los servicios periféricos, puede mejorar significativamente el rendimiento. Las redes basadas en la nube se pueden reconstruir o modificar rápidamente, por lo que es necesario evolucionar la arquitectura de su red con el tiempo para mantener la eficiencia de rendimiento.
5. Cost Optimization
La optimización de costos es la capacidad de ejecutar sistemas para proporcionar valor empresarial al punto de costo más bajo. Invertir la cantidad adecuada de esfuerzo en una estrategia de optimización de costos desde el principio le permite realizar los beneficios económicos de la nube más fácilmente al garantizar el cumplimiento constante de las mejores prácticas y evitar una sobre provisión innecesaria.
Principios de diseño para la optimización de costos:
- Implementar la gestión financiera de la nube.
- Adoptar un modelo de consumo.
- Medir la eficiencia general.
- Dejar de gastar dinero en trabajos pesados no diferenciados.
- Analizar y atribuir el gasto.
Mejores prácticas para la optimización de costos AWS Well-Architected Framework:
- La implementación de la gestión financiera de la nube permite a las organizaciones realizar el valor empresarial y el éxito financiero al optimizar su uso y escala de costos en AWS.
- Establecer políticas y mecanismos para garantizar que se incurran costos apropiados mientras se logran objetivos. Al emplear un enfoque de controles y equilibrios, puede innovar sin exceder el gasto.
- Establecer políticas y procedimientos para monitorear y asignar adecuadamente sus costos. Esto le permite medir y mejorar la eficiencia de costos de esta carga de trabajo.
- Implementar el control de cambios y la gestión de recursos desde el inicio del proyecto hasta el fin de su vida útil. Esto garantiza que cierre o termine los recursos no utilizados para reducir el desperdicio.
- Asegúrese de elegir el tamaño y número de recursos apropiados para la tarea en cuestión. Minimiza el desperdicio seleccionando el tipo, tamaño y número más rentable.
- Asegúrese de planificar y monitorear los cargos de transferencia de datos para que pueda tomar decisiones arquitectónicas para minimizar los costos. Un cambio arquitectónico pequeño pero efectivo puede reducir drásticamente sus costos operativos con el tiempo.
- Para una carga de trabajo que tenga un gasto y un rendimiento equilibrados, asegúrese de utilizar todo por lo que paga y evite subutilizar significativamente las instancias.
- A medida que AWS lance nuevos servicios y funciones, es una mejor práctica revisar sus decisiones arquitectónicas existentes para garantizar que sigan siendo las más rentables.
Una clave para esta mejor práctica también recomienda utilizar solo los recursos que son apropiados para manejar cargas de trabajo rentables. Una organización debe evolucionar constantemente su política de optimización de costos para aprovechar los nuevos servicios y características dentro del panorama de la nube para reducir costos.
6. Sustainability
El pilar de la sostenibilidad del AWS Well-Architected Framework se enfoca en los impactos ambientales, especialmente en el consumo y la eficiencia energética, ya que son palancas importantes para que los arquitectos informen acciones directas para reducir el uso de recursos.La sostenibilidad en la nube es un esfuerzo continuo centrado principalmente en la reducción y eficiencia energética en todos los componentes de una carga de trabajo, logrando el máximo beneficio de los recursos proporcionados y minimizando los recursos totales necesarios. Este esfuerzo puede variar desde la selección inicial de un lenguaje de programación eficiente, la adopción de algoritmos modernos, el uso de técnicas eficientes de almacenamiento de datos, la implementación de infraestructuras informáticas correctamente dimensionadas y eficientes, y la minimización de los requisitos de hardware de usuario final de alta potencia.
Principios de diseño para la sostenibilidad:
- Comprender el impacto de su carga de trabajo.
- Establecer objetivos de sostenibilidad.
- Maximizar la utilización.
- Anticipar y adoptar nuevas ofertas de hardware y software más eficientes.
- Usar servicios gestionados.
- Reducir el impacto downstream de sus cargas de trabajo en la nube.
Mejores prácticas para la sostenibilidad AWS Well-Architected Framework:
- Elegir regiones cerca de proyectos de energía renovable de Amazon y regiones donde la intensidad de carbono de la red sea menor que en otras ubicaciones.
- Escalar la infraestructura para que coincida continuamente con la carga de usuario y garantizar que solo se implementen los recursos mínimos necesarios para respaldar a los usuarios. Alinear los niveles de servicio con las necesidades del cliente.
- Implementar patrones para realizar el suavizado de carga y mantener una alta utilización consistente de los recursos implementados para minimizar los recursos consumidos.
- Dar vida a los datos a un almacenamiento más eficiente y menos eficiente cuando disminuyan los requisitos y eliminar los datos que ya no son necesarios.
- Buscar oportunidades para reducir los impactos de sostenibilidad de la carga de trabajo mediante cambios en las prácticas de gestión de hardware. Minimizar la cantidad de hardware necesario para aprovisionar e implementar y seleccionar el hardware más eficiente para su carga de trabajo individual.
- Buscar oportunidades para reducir su impacto de sostenibilidad mediante cambios en las prácticas de desarrollo, prueba e implementación.
AWS Well Architected Review: revisión del AWS Well Architected Framewok
Revisar que se cumple el AWS Well-Architected Framework de manera consistente para identificar cuellos de botella y oportunidades de mejora. El proceso de revisión es continuo, se denomina AWS Well-Architected Review, y al igual que su organización siempre revisará los objetivos comerciales y operativos. Mantener un ciclo de revisión constante ayudará a su equipo a obtener una comprensión más profunda del entorno de la aplicación.