A medida que las empresas cambian a la implementación y al desarrollo de aplicaciones basadas en contenedores, deben aprender a administrar equipos distribuidos con flujos de trabajo de ingeniería independientes. Para ayudar a las empresas grandes a completar el cambio a las aplicaciones basadas en contenedores, creamos el plano de aplicaciones empresariales. Este plano implementa una plataforma para desarrolladores interna que permite a los equipos de nube proporcionar una plataforma administrada para el desarrollo y la entrega de software que los grupos de desarrollo de aplicaciones de su organización pueden usar.
El plano de aplicaciones empresariales incluye lo siguiente:
- Un repositorio de GitHub que contiene un conjunto de opciones de configuración y secuencias de comandos de Terraform. La configuración de Terraform establece una plataforma para desarrolladores en Google Cloud que admite varios equipos de desarrollo.
- Una guía sobre la arquitectura, el diseño, los controles de seguridad y los procesos operativos que usas con este plano para implementar (este documento).
El plano de la aplicaciones empresariales está diseñado para ser compatible con el plano de bases empresariales. El plano de bases empresariales proporciona una serie de servicios de nivel base que el plano de aplicaciones empresariales utiliza, como Cloud Identity. Puedes implementar el plano de la aplicaciones empresariales sin implementar el plano de las bases empresariales si tu entorno de Google Cloud proporciona la funcionalidad necesaria para admitir el plano de aplicaciones empresariales.
Este documento está dirigido a arquitectos de nube y se supone que usas este plano para implementar aplicaciones empresariales nuevas en Google Cloud. Sin embargo, si ya tienes aplicaciones empresariales alojadas en contenedores en Google Cloud, puedes adoptar esta arquitectura de referencia de forma incremental.
En este documento, también se supone que comprendes los componentes de Kubernetes, incluidos los servicios, los espacios de nombres y los clústeres. Para obtener información general sobre Kubernetes y su implementación en Google Cloud, consulta la descripción técnica de la edición Enterprise de Google Kubernetes Engine (GKE).
Descripción general del plano de aplicaciones empresariales
En la mayoría de las empresas, una plataforma para desarrolladores administra la infraestructura compartida que usan todos los desarrolladores. La plataforma para desarrolladores crea a pedido canalizaciones de compilación, canalizaciones de implementación y entornos de ejecución para cada componente de la aplicación. Los equipos de desarrolladores y operadores de aplicaciones tienen acceso solo a los componentes de la aplicación de los que son responsables. La plataforma está diseñada para admitir la implementación de aplicaciones seguras y con alta disponibilidad.
Este plano implementa una plataforma para desarrolladores que se basa en el plano de bases empresariales (o su equivalente). La plataforma para desarrolladores incluye recursos como clústeres de Google Kubernetes Engine (GKE), flota de GKE, fábrica de aplicaciones, canalizaciones de infraestructura, supervisión de plataformas y registro de plataformas. Además, la plataforma de desarrolladores configura los usuarios (administradores de la plataforma de desarrolladores y desarrolladores de aplicaciones) que administran la solución.
Este plano permite que las organizaciones les brinden acceso a la plataforma a diferentes equipos de desarrollo de aplicaciones (llamados usuarios). Un usuario es un grupo de usuarios con propiedad común sobre un conjunto de recursos. Un usuario es propietario de una o más aplicaciones que se ejecutan en la plataforma como un servicio basado en contenedores. Una aplicación en la plataforma para desarrolladores es un paquete de código fuente y configuración. Cada aplicación se compila y se implementa mediante una canalización de CI/CD dedicada. Los usuarios y las aplicaciones están aislados entre sí en el tiempo de ejecución y en las canalizaciones de CI/CD. Algunas partes del plano proporcionan automatización a todos los usuarios y se denominan multiusuario.
Para ilustrar cómo se usa la plataforma para desarrolladores, el plano incluye una aplicación de muestra, llamada Cymbal Bank. Cymbal Bank es una aplicación de microservicios diseñada para ejecutarse en GKE. El objetivo de la aplicación es simular una aplicación con alta disponibilidad que se implementa en una configuración activa-activa para habilitar la recuperación ante desastres. Cymbal Bank supone que varios equipos de desarrolladores independientes desarrollan y operan la aplicación.
Próximos pasos
- Lee sobre la arquitectura (siguiente documento de esta serie).