Google Cloud Well-Architected Framework

Last reviewed 2024-10-11 UTC

El Framework de Well-Architected proporciona recomendaciones para ayudar a los arquitectos, desarrolladores, administradores y otros profesionales de la nube a diseñar y operar una topología en la nube que sea segura, eficiente, resiliente, de alto rendimiento y rentable.

Un equipo multifuncional de expertos de Google valida las recomendaciones del Well-Architected Framework. El equipo selecciona el Framework de Well-Architected para reflejar las capacidades en constante crecimiento de Google Cloud, las prácticas recomendadas del sector, el conocimiento de la comunidad y tus comentarios. Para obtener un resumen de los cambios significativos en el Framework de Well-Architected, consulta Novedades.

El Framework de Well-Architected es pertinente para las aplicaciones creadas para la nube y para las cargas de trabajo migradas de entornos locales a Google Cloud, las implementaciones de nube híbrida y los entornos de múltiples nubes.

Pilares y perspectivas del Well-Architected Framework

El Framework de Well-Architected se organiza en cinco pilares, como se muestra en el siguiente diagrama. También proporcionamos perspectivas transversales que se enfocan en recomendaciones para dominios, industrias y tecnologías seleccionados, como la IA y el aprendizaje automático (AA).

Well-Architected Framework

Pilares

Excelencia operativa
Implementa, opera, supervisa y administra las cargas de trabajo en la nube de forma eficiente.
Seguridad, privacidad y cumplimiento
Maximiza la seguridad de tus datos y cargas de trabajo en la nube, diseña para la privacidad y se alínea con los requisitos y estándares normativos.
Confiabilidad
Diseña y opera cargas de trabajo resilientes y con alta disponibilidad en la nube.
Optimización de costos
Maximiza el valor empresarial de tu inversión en Google Cloud.
Optimización del rendimiento
Diseña y ajusta tus recursos en la nube para obtener un rendimiento óptimo.

Perspectivas

IA y AA
Una vista integral de las recomendaciones específicas para las cargas de trabajo de IA y AA.
Sector de servicios financieros (FSI)
Una vista integral de las recomendaciones específicas para las cargas de trabajo de FSI.

Principios básicos

Antes de explorar las recomendaciones de cada pilar del marco de Well-Architected, revisa los siguientes principios básicos:

Diseña para el cambio

Ningún sistema es estático. Las necesidades de los usuarios, los objetivos del equipo que crea el sistema y el sistema en sí cambian constantemente. Teniendo en cuenta la necesidad de cambio, crea un proceso de desarrollo y producción que permita a los equipos entregar cambios pequeños con regularidad y obtener comentarios rápidos sobre esos cambios. Demostrar de forma constante la capacidad de implementar cambios ayuda a generar confianza con las partes interesadas, incluidos los equipos responsables del sistema y los usuarios del sistema. Usar las métricas de entrega de software de DORA puede ayudar a tu equipo a supervisar la velocidad, la facilidad y la seguridad de los cambios en el sistema.

Documenta tu arquitectura

Cuando comienzas a mover tus cargas de trabajo a la nube o a compilar tus aplicaciones, la falta de documentación sobre el sistema puede ser un obstáculo importante. La documentación es especialmente importante para visualizar de manera correcta la arquitectura de las implementaciones actuales.

La documentación de calidad no se logra produciendo una cantidad específica de documentación, sino por la claridad y la utilidad del contenido, y por cómo se mantiene a medida que cambia el sistema.

Una arquitectura en la nube documentada de forma adecuada establece un lenguaje y estándares comunes, que permiten a los equipos multifuncionales comunicarse y colaborar de manera efectiva. La documentación también proporciona la información necesaria para identificar y guiar las decisiones de diseño futuras. La documentación debe escribirse con tus casos prácticos en mente, para proporcionar contexto a las decisiones de diseño.

Con el tiempo, tus decisiones de diseño evolucionarán y cambiarán. El historial de cambios proporciona el contexto que tus equipos necesitan para alinear las iniciativas, evitar la duplicación y medir los cambios de rendimiento de manera efectiva en el tiempo. Los registros de cambios son muy valiosos cuando incorporas un arquitecto de nube nuevo que aún no está familiarizado con el diseño, la estrategia o el historial de tu sistema actual.

El análisis de DORA encontró un vínculo claro entre la calidad de la documentación y el rendimiento de la organización, es decir, la capacidad de la organización para cumplir con sus objetivos de rendimiento y rentabilidad.

Simplifica tu diseño y usa servicios completamente administrados

La simplicidad es fundamental para el diseño. Si la arquitectura es demasiado compleja para comprender, será difícil implementar el diseño y administrarlo con el tiempo. Cuando sea posible, usa servicios completamente administrados para minimizar los riesgos, el tiempo y el esfuerzo asociados con la administración y el mantenimiento de los sistemas de referencia.

Si ya ejecutas las cargas de trabajo en producción, realiza pruebas con servicios administrados para ver cómo podrían ayudar a reducir las complejidades operativas. Si desarrollas cargas de trabajo nuevas, comienza de manera simple, establece un producto viable mínimo (MVP) y controla el impulso de realizar una ingeniería excesiva. Puedes identificar casos prácticos excepcionales, iterar y mejorar tus sistemas de forma incremental con el tiempo.

Separe su arquitectura

La investigación de DORA muestra que la arquitectura es un predictor importante para lograr la entrega continua. La separación es una técnica que se usa para separar tus aplicaciones y componentes de servicio en componentes más pequeños que pueden operar de forma independiente. Por ejemplo, puedes separar una pila de aplicaciones monolítica en componentes de servicio individuales. En una arquitectura con acoplamiento bajo, una aplicación puede ejecutar sus funciones de forma independiente, sin importar las diversas dependencias.

Una arquitectura separada te brinda mayor flexibilidad para hacer lo siguiente:

  • Aplicar actualizaciones independientes
  • Aplicar controles de seguridad específicos
  • Establecer objetivos de confiabilidad para cada subsistema.
  • Supervisar el estado
  • Controlar los parámetros de rendimiento y costos de forma detallada

Puedes comenzar el proceso de desacoplamiento antes en tu fase de diseño o incorporarlo como parte de las actualizaciones del sistema a medida que escalas.

Usa una arquitectura sin estado

Una arquitectura sin estado puede aumentar tanto la confiabilidad como la escalabilidad de tus aplicaciones.

Las aplicaciones con estado dependen de varias dependencias para realizar tareas, como el almacenamiento en caché local de datos. Las aplicaciones con estado a menudo requieren mecanismos adicionales para capturar el progreso y reiniciarse de forma correcta. Las aplicaciones sin estado pueden realizar tareas sin dependencias locales significativas mediante el uso de almacenamiento compartido o servicios almacenados en caché. Una arquitectura sin estado permite que tus aplicaciones escalen verticalmente con rapidez con dependencias de arranque mínimas. Las aplicaciones pueden resistir reinicios forzados, tener un tiempo de inactividad menor y proporcionar un mejor rendimiento a los usuarios finales.