Description
Después de completar este curso, usted será capaz de construir aplicaciones de forma nativa en la nube utilizando herramientas y tecnologías de contenedores, y desplegar sus aplicaciones en cualquier nube pública, privada o híbrida a una escala increíble. Este curso le presenta los contenedores y explica cómo se diferencian los contenedores de las máquinas virtuales. También cubre la importancia de los contenedores en la computación en nube, así como el ecosistema emergente de tecnologías relacionadas como Docker, Kubernetes, Red Hat OpenShift e Istio.
A lo largo del curso se aplicará lo que se aprende en los laboratorios prácticos. Desde la iniciación con Docker, hasta la orquestación y escalado con Kubernetes, y la simplificación de las implementaciones con OpenShift. Los laboratorios se realizan utilizando su navegador web en los entornos de IBM Cloud y Skills Network Labs, que se ponen a su disposición de forma gratuita. En el proyecto al final del curso construirá una imagen de contenedor y la desplegará y escalará en la Nube utilizando OpenShift.
La contenedorización es probablemente el invento más significativo en IT desde la introducción de la virtualización. Los proyectos de código abierto como Kubernetes y productos como Red Hat OpenShift se han convertido en estándares para las personas que buscan desplegar y gestionar contenedores a escala. Todo el mundo, desde las pequeñas empresas de nueva creación hasta las grandes corporaciones multinacionales, está haciendo la transición a estas tecnologías, y están buscando personas que estén capacitadas en estas áreas.
Este curso es de interés para cualquiera que quiera ser un profesional de la nube – desarrolladores de la nube, arquitectos de la nube, ingenieros de sistemas de la nube, ingenieros de desarrollo, especialistas en redes de la nube y muchos otros roles. El material también sirve a las necesidades de aquellos que realizan las tareas de asesoramiento, consultoría, construcción, movimiento y gestión de soluciones de nubes.
No hay requisitos duros necesarios para poder tomar este curso, aparte de los conocimientos básicos de informática y un nivel de comprensión básico de la computación en nube.
What you will learn
Entendiendo los Beneficios de los Contenedores
En este módulo, aprenderá sobre el concepto, las características, los casos de uso y los beneficios de los contenedores, y la diferencia entre los contenedores y las máquinas virtuales. Aprenderá sobre el término “Docker” y los diferentes usos de este término. Una de las herramientas más utilizadas de Docker es la interfaz de línea de comandos (CLI). Le presentaremos algunos de los comandos CLI de Docker más utilizados y cómo funcionan. Los contenedores y las imágenes son dos entidades distintas, y en este módulo aprenderá las diferencias entre los contenedores y las imágenes. Aprenderá a construir imágenes de contenedores usando Dockerfiles. Finalmente, aprenderá acerca de los registros de contenedores y las funcionalidades que proveen para ayudar a los desarrolladores a trabajar de manera más segura y productiva. Al final del módulo, hará un ejercicio práctico en el que escribirá un Dockerfile, construirá una imagen y la ejecutará como un contenedor, y almacenará la imagen en un registro.
Entendiendo la arquitectura de los Kubernetes
En este módulo, aprenderá qué es la orquestación de contenedores y cómo ayuda a crear y gestionar el ciclo de vida de los entornos de contenedores complejos. kubernetes es la plataforma de orquestación de contenedores más popular. En este módulo, le familiarizaremos con los componentes arquitectónicos clave de Kubernetes, como los componentes del plano de control y los controladores. También aprenderá los fundamentos de los objetos de Kubernetes y cómo funcionan objetos específicos de Kubernetes como Pods, ReplicaSets y Deployments. El CLI de Kubernetes, o “kubectl”, se utiliza para manipular objetos y gestionar cargas de trabajo en un cluster de Kubernetes. Le presentaremos algunos comandos básicos de kubectl y explicaremos las ventajas y deficiencias relativas de los comandos imperativos y declarativos. Finalmente, al final de este módulo, utilizará los comandos CLI de kubectl para crear recursos en un cluster de Kubernetes real.
Gestión de aplicaciones con Kubernetes
En este módulo, aprenderá sobre algunos conceptos clave como los ReplicaSets, la autoescala, las actualizaciones continuas, los ConfigMaps, los Secretos y los enlaces de servicio, y cómo se pueden utilizar para gestionar las aplicaciones de Kubernetes. Aprenderá a utilizar ReplicaSets para escalar aplicaciones para satisfacer la creciente demanda, y luego utilizar la función de autoescalado para hacer esta escalada dinámica, según la demanda. Mediante la función de actualizaciones continuas, aprenderá a publicar actualizaciones en su aplicación y también a retroceder los cambios sin crear ninguna interrupción perceptible para sus usuarios. Almacenar en código variables de configuración e información sensible nunca es una buena idea. Aprenderá a utilizar ConfigMaps y Secrets para proporcionar variables de configuración e información sensible a sus despliegues y mantener su código limpio. Finalmente, realizará un ejercicio práctico para escalar y actualizar las aplicaciones desplegadas en Kubernetes.
El ecosistema de Kubernetes: OpenShift, Istio, etc.
En este módulo, aprenderá sobre el creciente ecosistema de Kubernetes y se le presentarán algunas herramientas adicionales que funcionan bien con los Kubernetes para apoyar el desarrollo nativo de la nube. Aprenderá sobre la Cloud Native Computing Foundation (CNCF) que alberga a los Kubernetes, y los valiosos recursos que proporciona para navegar por el ecosistema. Obtendrá una comprensión tanto de las similitudes como de las diferencias entre Red Hat OpenShift y los Kubernetes, y cómo es una arquitectura OpenShift. Se familiarizará con las construcciones y BuildConfigs de OpenShift y aprenderá sobre las diversas estrategias de construcción y los disparadores que ofrece OpenShift. Los operadores utilizan recursos y controladores personalizados para ayudar a empaquetar el software y automatizar las tareas dentro de un clúster. En este módulo, aprenderá cómo un operador puede desplegar una aplicación completa con facilidad. Por último, aprenderá sobre Istio, una malla de servicios, que proporciona gestión de tráfico y seguridad, y facilita la comunicación entre los servicios de una aplicación. Al final del módulo, hará un ejercicio práctico en el que usará el oc CLI para realizar comandos en un clúster OpenShift. Usará las capacidades de construcción de OpenShift para desplegar una aplicación desde el código fuente almacenado en un repositorio git.