Introducción
Imagine que es un desarrollador de Java, que compila e implementa aplicaciones que se ejecutan en servidores locales. La orquestación de estos servidores, dependencias y escala (por nombrar algunos) son procesos complicados.
A diferencia de las máquinas virtuales que emulan hardware, los contenedores se ejecutan directamente en el sistema operativo host, el kernel y el hardware, básicamente como cualquier otro proceso. Esto significa que los contenedores requieren menos recursos del sistema, lo que da lugar a una superficie más pequeña con una sobrecarga considerablemente menor, tiempos de inicio de aplicaciones más rápidos y un excelente caso de uso para escalar a petición.
Con los contenedores, garantizará que las aplicaciones y las dependencias siempre estén aisladas en imágenes de contenedor y listas para una implementación a gran escala.
En este módulo, primero incluirá una aplicación Java en contenedores. Por comodidad, hemos seleccionado una aplicación Java existente para que la use. Desde la apertura de Internet y con el uso compartido de la licencia MIT, Flight Booking System for Airline Reservations funciona como un sistema de reservas de vuelos de ejemplo basado en Web para una compañía aérea de ejemplo, creado con la arquitectura Modelo-Vista-Controlador (MVC) mediante Java Servlets y Java Server Pages (JSP).
A continuación, construirá un Dockerfile y escribirá las instrucciones de Docker necesarias para compilar una imagen de contenedor. A continuación, ejecutará la imagen de contenedor localmente y probará la aplicación. Luego, insertará la imagen de contenedor en Azure Container Registry y la implementará en Azure Kubernetes Service.
Al final de este módulo, podrá contenedorizar una aplicación Java, insertar la imagen de contenedor en Azure Container Registry y, a continuación, implementar en Azure Kubernetes Service.
Usará una suscripción de Azure propia (con acceso para crear, actualizar y quitar recursos) para implementar los recursos en este módulo. Si no tiene una suscripción a Azure, cree una cuenta gratuita antes de empezar.
Importante
Para evitar cargos innecesarios en su suscripción de Azure, recuerde desaprovisionar los recursos de Azure cuando finalice el módulo.
Objetivos de aprendizaje
Al término de este módulo, podrá hacer lo siguiente:
- Contenedorizar una aplicación de Java.
- Compilar una imagen de contenedor para la aplicación de Java.
- Ejecutar la imagen de contenedor localmente.
- Inserción de una imagen de contenedor en Azure Container Registry.
- Implementar la imagen de contenedor en Azure Kubernetes Service.
Requisitos previos
Como desarrollador de Java, ya está familiarizado con la compilación de aplicaciones. Cuando complete los ejercicios del módulo, usará una cuenta de Azure personal. Compruebe que dispone de los siguientes recursos:
- Una suscripción de Azure con acceso para crear, actualizar y quitar recursos
- Instalaciones locales de la CLI de Docker, la CLI de Git y CLI de Azure (2.12 o posterior)