Esta serie de instructivos está dirigida a desarrolladores que no tienen experiencia con Kubernetes ni con Google Kubernetes Engine (GKE). En esta serie, aprenderás a transformar Cymbal Books, una app monolítica de ejemplo, en una app modular en contenedores que se ejecuta en un clúster de GKE.
Antes de comenzar esta serie de instructivos, es útil que tengas experiencia en programación con Python y desarrollo de aplicaciones web. Aunque se proporciona todo el código y no necesitarás escribir ningún código por tu cuenta, poder leer y comprender el código básico de Python te ayudará a seguir mejor el proceso. También debes sentirte cómodo usando la línea de comandos para ejecutar comandos. Si no conocesGoogle Cloud, la creación de contenedores o Kubernetes, no te preocupes, ya que estos conceptos se explican en la serie.
Costos
Puedes completar este instructivo sin incurrir en cargos. Sin embargo, seguir los pasos del instructivo final de esta serie genera cargos en tu cuenta deGoogle Cloud . Los costos comienzan cuando habilitas GKE y, luego, implementas la app de Cymbal Books en un clúster de GKE. Estos costos incluyen los cargos por clúster de GKE, como se indica en la página de precios, y los cargos por ejecutar VMs de Compute Engine.
Para evitar cargos innecesarios, asegúrate de inhabilitar GKE o borrar el proyecto una vez que hayas completado este instructivo.
¿Por qué organizar una app en contenedores?
Quizás te preguntes por qué querrías contenerizar tu app. En la siguiente lista, se explican algunas de las ventajas de las apps en contenedores:
- Aislamiento: Cada componente se ejecuta de forma independiente en su propio contenedor. Los cambios o las actualizaciones en un componente no interrumpen el resto de la app.
- Escalabilidad: Puedes escalar componentes individuales según la demanda. Si una parte de la app experimenta una carga alta, puedes ajustar la escala solo de esa parte. No es necesario que escale toda la app.
- Aislamiento de fallas: Los problemas en un componente se contienen y no afectan a otros componentes. Este aislamiento facilita la depuración y la resolución de problemas sin afectar el resto del sistema.
- Desarrollo y lanzamiento más rápidos: Los equipos pueden trabajar en diferentes componentes de la app de forma simultánea. Pueden desarrollar, probar e implementar de forma independiente, lo que puede acelerar los ciclos de desarrollo.
- Eficiencia de recursos: Los contenedores ayudan a optimizar el uso de recursos, lo que puede reducir los costos de ejecución de tu app.
- Coherencia en todos los entornos: Cada contenedor se ejecuta de la misma manera en diferentes entornos, como desarrollo, pruebas y producción.
Instructivos de esta serie
La serie se divide en los siguientes cinco instructivos:
- Comprende la aplicación monolítica
- Modulariza la aplicación monolítica
- Prepara la app modular para la organización en contenedores
- Crea contenedores para la app modular
- Implementa la app en un clúster de GKE
Cada instructivo se basa en el anterior y te ayuda a comprender los conceptos y las prácticas clave en la modularización, la contenedorización y la implementación de apps. Al final de la serie, tendrás una app que se ejecuta en GKE y un conocimiento sólido de la modularización, la contenedorización y los conceptos básicos de Kubernetes.
Para comenzar, consulta Información sobre el monolito.