Ruta de aprendizaje: transformar una aplicación monolítica en una aplicación de GKE (resumen)

Esta serie de tutoriales 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 aplicación monolítica de ejemplo, en una aplicación modular y contenerizada que se ejecuta en un clúster de GKE.

Antes de empezar esta serie de tutoriales, es recomendable que tengas experiencia con la programación en Python y el desarrollo de aplicaciones web. Aunque se proporciona todo el código y no tendrás que escribir nada, saber leer y entender código básico de Python te ayudará a seguir el curso. También debes saber usar la línea de comandos para ejecutar comandos. Si no tienes experiencia conGoogle Cloud, la contenedorización o Kubernetes, no te preocupes: estos conceptos se explican en la serie.

Costes

Puedes completar este tutorial sin incurrir en ningún cargo. Sin embargo, si sigues los pasos del último tutorial de esta serie, se aplicarán cargos a tu cuenta deGoogle Cloud . Los costes empiezan cuando habilitas GKE y despliegas la aplicación Cymbal Books en un clúster de GKE. Estos costes incluyen los cargos por clúster de GKE, tal como se indica en la página de precios, y los cargos por ejecutar máquinas virtuales de Compute Engine.

Para evitar cargos innecesarios, inhabilita GKE o elimina el proyecto una vez que hayas completado este tutorial.

¿Por qué contenerizar una aplicación?

Puede que te preguntes por qué deberías contenerizar tu aplicación. En la siguiente lista se explican algunas de las ventajas de las aplicaciones contenerizadas:

  • Aislamiento: cada componente se ejecuta de forma independiente en su propio contenedor. Los cambios o las actualizaciones de un componente no afectan al resto de la aplicación.
  • Escalabilidad: puedes escalar componentes concretos en función de la demanda. Si una parte de la aplicación experimenta una carga elevada, puedes escalar solo esa parte. No es necesario que escales toda la aplicación.
  • Aislamiento de fallos: los problemas de un componente se contienen y no afectan a otros componentes. Este aislamiento facilita la depuración y la resolución de problemas sin que afecten al resto del sistema.
  • Desarrollo e implementación más rápidos: los equipos pueden trabajar en diferentes componentes de la aplicación simultáneamente. Pueden desarrollar, probar y desplegar de forma independiente, lo que puede acelerar los ciclos de desarrollo.
  • Eficiencia de los recursos: los contenedores ayudan a optimizar el uso de los recursos, lo que puede reducir los costes de ejecución de tu aplicación.
  • Coherencia entre entornos: cada contenedor se ejecuta de la misma forma en diferentes entornos, como el de desarrollo, el de pruebas y el de producción.

Tutoriales de esta serie

La serie consta de los siguientes tutoriales:

  1. Información general (este tutorial)
  2. Información sobre el monolito
  3. Modularizar el monolito
  4. Preparar la aplicación modular para la contenerización
  5. Contenerizar la aplicación modular
  6. Desplegar la aplicación en un clúster de GKE

Cada tutorial se basa en el anterior y te ayuda a comprender los conceptos y las prácticas clave de la modularización, la contenedorización y la implementación de aplicaciones. Al final de la serie, tendrás una aplicación que se ejecuta en GKE y un conocimiento sólido de los conceptos básicos de modularización, contenedorización y Kubernetes.

Para empezar, consulta el artículo Información sobre el monolito.