Introducción
Siguiendo las instrucciones descritas en Automatizar implementaciones de contenedor Docker con Azure Pipelines, pudo mejorar una canalización de versión para compilar y publicar una aplicación de ASP.NET Core como contenedor de Docker, que luego se implementó en Azure App Service. Esta migración a un proyecto basado en contenedores dio lugar a numerosas ventajas para el equipo del producto. Además, la adopción de tecnologías de contenedor tiene el potencial de desbloquear diversas oportunidades innovadoras para el futuro.
A medida que las organizaciones de desarrollo se expanden, también crece la complejidad de las soluciones que proporcionan. A medida que varios productos y servicios se vuelven más interdependientes, surgen diferentes requisitos de desarrollo y operaciones para varios componentes dentro de una aplicación determinada. Una manera de mejorar la eficiencia arquitectónica es la refactorización de esos componentes en microservicios independientes.
Un microservicio es un servicio independiente y pequeño que se ha diseñado para ser independiente y para desempeñar una funcionalidad empresarial específica. Los contenedores proporcionan una base técnica excelente para compilar e implementar estos servicios, pero surge una nueva pregunta: ¿cómo se administran todos estos contenedores que están en uso?
En este punto es donde las tecnologías de orquestación, como Kubernetes, pueden ser útiles. Kubernetes es una plataforma diseñada para administrar cargas de trabajo y servicios con contenedores. Es una opción excelente para las organizaciones que tienen un número creciente de contenedores que se deben implementar, integrar y supervisar en varios entornos.
En este módulo, acompañaremos al equipo web de Tailspin Toys en su análisis de una forma de usar Kubernetes en Azure. Aprenderemos a actualizar una canalización de versión para compilar, publicar e implementar varios contenedores de Docker en un clúster de Kubernetes.
Aunque este módulo se centra en las tareas básicas necesarias para compilar e implementar la aplicación de contenedor, conviene señalar que seguimos disponiendo de todas las demás características de Azure Pipelines para implementaciones de contenedor en Kubernetes. Puede integrar pruebas, definir varias fases y realizar otras tareas como haría con las aplicaciones existentes. Aquí se omiten estas tareas para centrarnos en lo importante.
Objetivos de aprendizaje
Después de completar este módulo, podrá:
- Explicar las ventajas de Kubernetes y cuándo utilizarlo.
- Crear recursos de Azure para la compatibilidad con un clúster de Kubernetes.
- Actualizar una canalización de versión básica para compilar, publicar e implementar varios contenedores de Docker en el clúster de Kubernetes.
- Supervise la compilación e implementación del proyecto.
Requisitos previos
Los módulos de esta ruta de aprendizaje forman una progresión. Para seguir la progresión de esta serie desde el principio, complete las rutas de aprendizaje Introducción a Azure DevOps y Compilación de aplicaciones con Azure DevOps.
Para comenzar esta ruta de aprendizaje desde el principio, siga el siguiente vínculo: Implementación de aplicaciones con Azure DevOps. En este módulo continúa donde se finalizó Automatización de implementaciones de contenedores de Docker con Azure Pipelines.
En este módulo también se da por hecho que se tienen conocimientos básicos de Kubernetes, aunque no son necesarios para completarlo. Si no está familiarizado con el tema, se recomienda completar primero la ruta de aprendizaje Administración de contenedores en Azure.
Nota:
Azure Pipelines admite una amplia gama de lenguajes y tipos de aplicación. En este módulo, trabajará con una aplicación .NET, pero puede aplicar los patrones que descubrirá aquí a sus propios proyectos que usan sus marcos y lenguajes de programación favoritos.
Conozca al equipo
En módulos anteriores, conoció al equipo web Space Game de Tailspin Toys. En este módulo volverá a trabajar con el equipo web Space Game:
Andy es el responsable de desarrollo.
Amita está en el departamento de Control de calidad.
Tim está en operaciones.
Mara se acaba de incorporar como desarrolladora y depende de Andy.
Mara tiene experiencia previa con DevOps. y ayuda al equipo a adoptar un proceso más automatizado en el que se usa Azure DevOps.