Las buenas practicas de infraestructura en AWS. Les presentamos el Well-Architected Framework (WAF) de AWS.
Las buenas practicas de infraestructura en AWS y sus 6 Pilares.
En qué consiste el Well-Architected Framework de AWS, o en español, el marco de las buenas practicas de infraestructura en AWS.
Las buenas practicas de infraestructura en AWS se basa en 6 pilares:
1 Excelencia operacional.
2. Seguridad.
3. Confiabilidad.
4. Optimización de costos.
5. Rendimiento eficiente.
6. Sostenibilidad de la nube.
Estos 6 pilares combinados con las mejores prácticas de un marco de las buenas practicas de infraestructura en AWS tienen el objetivo de:
- Optimizar las conexiones y la comunicación entre los componentes de la aplicación, haciendo que la aplicación sea escalable y sea eficiente a las necesidades del negocio.
- Identifique riesgos en la tecnología del ecosistema de nube creado para ayudar a las empresas con posibles fallas.
AWS tiene un framework resultante de todos sus años de experiencia facilita el diagnostico, eficiencia y rápida recuperación de todo el ecosistema creado en la nube por las empresas. El marco de trabajo persigue:
- Usar tan solo la capacidad que requiera su carga de trabajo
- Probar las cargas de trabajo y las aplicaciones a escala de producción antes de implementarlas en producción.
- Crear una arquitectura que evolucione y se adapte a la empresa constantemente.
- Aprovechar una de las grandes ventajas del DevOps, la automatización de procesos para liberar horas hombres que piensen todo el tiempo en como mejorar.
- Crear una arquitectura basada en datos ya obtenidos y los que se obtendrán.
- Programar simulaciones de eventos para ayudar a mejorar la infraestructura según el resultado.
En el fondo el Well-Architected Framework de AWS quiere crear un entorno que sea:
Estable,
Eficiente,
Y facilmente escalable.
Profundicemos en los 6 pilares de las buenas practicas de infraestructura en AWS:
Este pilar une a los equipos de operaciones con el comercial y de los clientes para crear apps que soporten sin estres las cargas de trabajo de producción. Para ello hay que comprender los riesgos, los posibles cambios y los objetivos comerciales.
Cada miembro del equipo debe comprender la importancia de su rol en la gestión de las cargas de trabajo, su comportamiento y centrarse en las decisiones de desarrollo que harán que las operaciones sean un éxito.
Este pilar también sostiene que las cargas de trabajo deben diseñarse para:
- Mostrar fácilmente información sobre sus estadísticas de trabajo
- Habilitar mecanismos que ayuden a la rápida retroalimentación, recuperación y refactorización.
2. Seguridad
Establecer mecanismos que ayuden a proteger los sistemas, los datos y los activos. Fundamentalmente, la seguridad de buena arquitectura gira en torno a siete principios de diseño:
- Hacer cumplir el registro y la supervisión para la trazabilidad.
- Usar múltiples controles de seguridad para garantizar la seguridad en todas las capas de la aplicación.
- Automatizar las mejores prácticas de seguridad.
- Proteger los datos tanto dentro del almacenamiento como en tránsito.
- Adoptar una política de gestión de incidentes.
- Implementar una base sólida de seguridad.
La adopción de una política de gestión de acceso e identidad (IAM) es fundamental para garantizar que solo los usuarios correctos puedan acceder a los recursos permitidos. Una política de IAM administra la seguridad mediante la implementación de una capa de autenticación y autorización.
Además, también es crucial implementar metodologías de seguridad y control de varias capas que hagan cumplir la protección de toda la infraestructura. Promulgue la protección de datos para los usuarios de aplicaciones con una variedad de mecanismos, tales como:
- Versionado
- Sesión de inicio
- Almacenamiento resistente
- Claves
- Aislamiento regional
Por supuesto, la implementación de la seguridad de un extremo a otro es mucho más profunda que la implementación de una capacidad de autenticación de usuarios. Como resultado, se recomienda encarecidamente crear controles de detección y notificaciones de eventos que ayuden a identificar y detener los incidentes de seguridad en una etapa temprana.
También puede optar por aprovechar los beneficios de las herramientas de AWS disponibles que brindan mecanismos de respuesta a incidentes, como:
- Cloudformation de AWS
- Servicios de registro
Un marco de buena arquitectura define los mecanismos que ayudan a una aplicación a manejar las cargas de trabajo de manera precisa y consistente.
La arquitectura del sistema debe ser capaz de prevenir y responder a las fallas automaticamente. Los principios de diseño para un sistema confiable incluyen:
- Automatice la recuperación.
- Distribuya las cargas de trabajo y las solicitudes para eliminar el punto único de falla.
- Use solo la capacidad que necesita para su carga de trabajo de producción.
- Incidencias de prueba y procedimientos de recuperación.
- Administrar cambios de automatización.
Ha que planificar los cimientos de la infraestructura correctamente para manejar las cargas de trabajo del momento y las futuras. Esto implica que hay que definir el diseño y arquitectura anticipando el comportamiento de la carga de trabajo. También hay que aprovechar los límites de servicio y las cuotas de recursos para guiar la implementación de cargas de trabajo de los entornos. Una vez que los servicios están implementados y en funcionamiento, el marco debe permitir un rendimiento eficiente y un monitoreo de la disponibilidad para evitar tiempos de inactividad o fallas en el rendimiento. Para garantizar aún más la confiabilidad de la aplicación, el marco recomienda fuertemente tener con regularidad:
- Seguimiento de KPI.
- Copia de seguridad de datos.
- Probar sus procesos de recuperación
Para mejorar el rendimiento de tu inversión en la infraestructura de tu negocio es importante tener en estos pilarare de optimización de costos:
- Integrar Cloud Financial Management en los objetivos comerciales generales de la organización.
- Pagar solo por los recursos que requiere tu aplicación.
- Monitorear siempre la eficiencia de tu aplicación (rendimiento vs costo).
- Externalizar los servicios administrados y los sistemas operativos a AWS.
Las herramientas de administración financiera en la nube como AWS QuickSight, Cost & Usage Report (CUR) y Cost Explorer ofrecen ventajas significativas para monitorear los costos en la nube de tu empresa. Estas herramientas también generan disciplina, crean una conciencia en toda la organización sobre el gasto y el uso de la nube.
Una conclusión clave de este pilar es que también recomienda usar solo los recursos que sean apropiados para la gestión rentable de la carga de trabajo. Una organización debe evolucionar constantemente su política de optimización de costos para aprovechar los nuevos servicios y funciones dentro del panorama de la nube y así reducir los costos.
Este pilar guía el uso efectivo de los recursos informáticos para cumplir con los requisitos del sistema y del negocio. Algunos de los principios de diseño que guían la eficiencia del rendimiento son:
- Delegar tareas complejas a proveedores externos que tengan las habilidades necesarias para implementar tecnología avanzada fácilmente, por ejemplo BigCheese (nosotros).
- Implemente cargas de trabajo multi region para reducir la latencia y reducir los costos de implementación.
- Pruebe y experimente con frecuencia para aprovechar los recursos virtuales.
- Utilice funciones serverless siempre que sea posible.
Al seleccionar la infraestructura y la arquitectura para su aplicación, adopte un enfoque basado en datos mientras explora múltiples opciones disponibles antes de conformarse con la más eficiente. Este ejercicio no es una tarea de una sola vez. Combine múltiples enfoques y siga revisando las últimas tecnologías para encontrar una solución óptima.
Por último, implementar políticas y procedimientos para monitorear el rendimiento de las cargas de trabajo que marcan los problemas antes de que afecten la usabilidad.
La sostentabilidad 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 al lograr el máximo beneficio de los recursos aprovisionados y minimizar el total de recursos requeridos. Este esfuerzo puede abarcar 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 una infraestructura informática eficiente y del tamaño correcto, y la reducción de los requisitos de hardware de usuario final de alta potencia.
Principios de diseño para la sostenibilidad en la nube
Aplique estos principios de diseño al diseñar sus cargas de trabajo en la nube para maximizar la sostenibilidad y minimizar el impacto.
- Entender el impacto que tu y tu empresa tiene.
- Establecer tus objetivos de sostenibilidad.
- Maximizar la utilización de absolutamente todo.
- Anticipar y adoptar ofertas de hardware y software nuevas y más eficientes.
- Usar servicios gestionados.
- Reducir el impacto posterior de sus cargas de trabajo en la nube.
Bueno, si llegaste hasta aquí es que estás interesado en el tema. En el BigCheese estamos certificados por AWS para hacer una consultoría de buenas practicas de tu arquitectura.
Contacta con nosotros y te haremos llegar una propuesta que te sorprenderá, realmente, prueba y verás. Es importante seguir las buenas practicas de infraestructura en AWS en Uruguay.