menu
arrow_back

Cómo migrar un sitio web monolítico a microservicios en Google Kubernetes Engine

—/100

Checkpoints

arrow_forward

Create a GKE Cluster

Deploy Existing Monolith

Migrate Orders to a microservice

Migrate Products to microservice

Migrate Frontend to microservice

Cómo migrar un sitio web monolítico a microservicios en Google Kubernetes Engine

1 hora 30 minutos 7 créditos

GSP699

Labs de autoaprendizaje de Google Cloud

Introducción

¿Por qué migrar una aplicación monolítica a una arquitectura de microservicios? Desglosar una aplicación en microservicios tiene las siguientes ventajas, cuya mayoría se debe a que los microservicios están vinculados de manera flexible:

  • Los microservicios se pueden implementar y probar de forma independiente. Cuanto más pequeña sea la unidad de implementación, más fácil será la implementación.
  • Se pueden implementar en diferentes lenguajes y frameworks. En cada microservicio, puede elegir la mejor tecnología para su caso práctico en particular.
  • Los pueden administrar diferentes equipos. El límite entre microservicios facilita que un equipo se dedique a uno o varios microservicios.
  • Mediante la migración a los microservicios, puede flexibilizar las dependencias entre los equipos. Cada equipo debe preocuparse solo por las API de los microservicios de los que dependen. El equipo no necesita pensar en cómo se implementan esos microservicios, en sus ciclos de lanzamiento, etcétera.
  • Puede lograr diseños para evitar fallas con más facilidad. Si hay límites entre los servicios, es más fácil determinar qué hacer si un servicio está inactivo.

Estas son algunas desventajas en comparación con las aplicaciones monolíticas:

  • Debido a que una aplicación basada en microservicios es una red de servicios diferentes que a menudo interactúan de maneras que no son evidentes, la complejidad general del sistema suele ser mayor.
  • A diferencia de los componentes internos de una aplicación monolítica, los microservicios se comunican por medio de una red. En algunas circunstancias, esto puede considerarse un problema de seguridad. Istio resuelve este problema mediante la encriptación automática del tráfico entre microservicios.
  • Lograr el mismo nivel de rendimiento que se obtiene con un enfoque monolítico puede resultar difícil debido a las latencias entre servicios.
  • El comportamiento de su sistema no se debe a un solo servicio, sino a muchos de ellos y a sus interacciones. Por esta razón, es más difícil comprender cómo se comporta su sistema en la producción (su observabilidad). Istio también representa una solución a este problema.

En este lab, implementará una aplicación monolítica existente en un clúster de Google Kubernetes Engine y, luego, la desglosará en microservicios. Kubernetes es una plataforma para administrar, alojar, implementar y escalar contenedores. Los contenedores son una forma portátil de empaquetar y ejecutar código. Son adecuados para el patrón de microservicios, en el que cada microservicio puede ejecutarse en su propio contenedor.

Diagrama de la arquitectura de nuestros microservicios

Comience por desglosar la aplicación monolítica en tres microservicios, uno a la vez. Los microservicios incluyen Pedidos, Productos y Frontend. Compile una imagen de Docker para cada microservicio con Cloud Build, luego implemente y exponga los microservicios en Google Kubernetes Engine (GKE) con un tipo de servicio LoadBalancer de Kubernetes. Hará esto para cada servicio mientras los refactoriza, en simultáneo, fuera de la aplicación monolítica. Durante el proceso, tendrá en ejecución tanto la aplicación monolítica como los microservicios hasta el final, cuando pueda borrar la aplicación monolítica.

636a2d58588b2b87.png

Qué aprenderá

  • Cómo desglosar una aplicación monolítica en microservicios

  • Cómo crear un clúster de Google Kubernetes Engine

  • Cómo crear una imagen de Docker

  • Cómo implementar imágenes de Docker en Kubernetes

Requisitos

  • Una cuenta de Google Cloud Platform con acceso de administrador para crear proyectos o un proyecto con la función Propietario del proyecto

  • Conocimientos básicos de Docker y Kubernetes

Únase a Qwiklabs para leer este lab completo… y mucho más.

  • Obtenga acceso temporal a Google Cloud Console.
  • Más de 200 labs para principiantes y niveles avanzados.
  • El contenido se presenta de a poco para que pueda aprender a su propio ritmo.
Únase para comenzar este lab