Kubernetes from Zero to Hero

  • Cloud
  • curso
  • 24
  • 06/05/2020

Curso de formación realizado en colaboración con la Asociación Valenciana de Ingenieros de Telecomunicación (AVIT)

El desarrollo basado en Cloud ha impactado en la ingeniería del software con mucha fuerza. Hasta hace unos pocos años, el desarrollo y despliegue de aplicaciones en Azure o en Amazon no era habitual, ni se la pasaba por la cabeza a muchas empresas.

Las necesidades de negocio y la velocidad a la que los productos y servicios se desarrollan, han encontrado en las aplicaciones basadas en tecnologías cloud, elásticas y escalables, un fuerte y necesario aliado.

Pero se cometieron los errores que ya habíamos sufrido en las décadas de los 80 y 90. Al desarrollar mis aplicaciones con el stack tecnológico concreto de una empresa suministradora de servicios cloud, como por ejemplo Azure, estaba incurriendo en el temido vendor lock-in. Es decir, mi software se acopla a una plataforma en concreto, siendo esclavo e impotente frente a subidas de tarifas, cambios en las políticas de prestación de servicios, posible robo de información e incluso, en el peor de los casos, suspensión del servicio.

Kubernetes es una tecnología agnóstica de la plataforma, que puede funcionar sobre PaaS como Azure o Amazon, u OnPremise en clouds privados, como por ejemplo OpenStack. Por tanto, elimina el vendor lock-in permitiendo, teóricamente, cambiar de proveedor en cualquier momento con poco dolor.

En este curso revisaremos la base de Kubernetes, aprenderemos a administrarlo y a inspeccionarlo. También propondremos un marco de desarrollo basado en Kubernetes, fundamentado en la experiencia que hemos adquirido ejecutando proyectos reales.

 

Objetivos

El alumno deberá adquirir las siguientes competencias:

  • Ser capaz de configurar un entorno de desarrollo compatible con Kubernetes
  • Entender la filosofía de desarrollo y la arquitectura de las aplicaciones basadas en Kubernetes
  • Ser capaz de administrar un clúster de Kubernetes
  • Adquirir nociones básicas de técnicas serverless basadas en Kubernetes con Kubeless
  • Conocer y poder aplicar técnicas de escalado elástico en Kubernetes

 

Audiencia

Profesionales técnicos, DevOps, administradores gestores/jefes de proyecto y desarrolladores interesados en conocer Kubernetes.

 

Prerrequisitos

Conocimientos básicos de sistemas operativos, especialmente sistemas Unix, aunque no es indispensable.

  1. Introducción a Kubernetes
    1. ¿Qué es Kubernetes?
    2. ¿Qué necesito para trabajar con Kubernetes?
    3. Kubernetes vs Amazon /Azure / BlueMix…
    4. ¿AKS?¿EKS?...
    5. Arquitectura de Kubernetes
    6. ¿Todas las aplicaciones son candidatas a usar Kubernetes?
  2. Introducción a Docker
    1. ¿Qué es Docker?
    2. Diferencias entre Docker y Máquinas Virtuales
    3. Instalación
    4. Docker CLI – Comandos más habituales
    5. Contenedores
    6. Imágenes
    7. Dockerfile
    8. Arquitectura de un contenedor
    9. Docker Compose
    10. Volúmenes
    11. Docker Hub
    12. Docker Swarm
  3. Instalación de Kubernetes
    1. Minikube
    2. Docker Client
    3. Minikube vs Docker Client vs Kops vs Kubeadm
  4. Conceptos básicos en Kubernetes
    1. Node
    2. Pods
    3. Replication Controller
    4. Deployments
    5. Services
    6. Pod State y Pod Lifecycle
    7. Ciclo de vida de un componente
  5. Arquitectura de aplicaciones basadas en Kubernetes
    1. Arquitectura software recomendada
    2. Consideraciones necesarias para sistemas distribuidos
    3. Integración continua
  6. Conceptos avanzados en Kubernetes
    1. Service Discovery
    2. Ingress
    3. Autoscaling
    4. Volumes
    5. Daemons
    6. Resource Usage Monitoring
  7. Administración de Kubernetes
    1. Acceso a la interfaz de administración
    2. Credenciales
    3. Definición de cuotas de recursos
    4. Namespaces
    5. Administración de usuarios
    6. Redes
    7. Alta disponibilidad
  8. Cómo empaquetar y desplegar (bien) una aplicación en Kubernetes
  9. Serverless
    1. ¿Qué es serverless?
    2. Introducción a Kubeless
  10. Service Mesh con Istio
    1. Traffic management
    2. Security
    3. Service Observability
    4. Request Routing
  11. Taller transversal: Construcción de una aplicación basada en microservicios completa desde cero (se irá construyendo a lo largo del curso de manera incremental)
  12. Conclusiones

Este curso puede ser bonificado a través de los créditos de formación de la FUNDAE, siendo ITI la entidad Organizadora del curso. Para ello, la inscripción debe realizarse con al menos 7 días de antelación. Inscripciones posteriores no podrán bonificarse. Si necesita que dicha gestión la realice ITI, póngase en contacto con nosotros en formacion@iti.es con una antelación mínima de 10 días antes del inicio del curso.

Todos los cursos tienen un precio base específico. Sobre el precio base, se podrán aplicar una serie de descuentos en los siguientes casos:

• Inscripción anticipada (30 días antes de la fecha de fin de inscripción).
• Inscripción de más de un alumno de una misma organización*.
• Ser asociados de ITI o disponer de un acuerdo de colaboración con ITI*.

* Estos descuentos no serán de aplicación durante el periodo de inscripción anticipada.

Más información aquí

Datos Básicos

Inscripción: Del 28/01/2020 al 26/04/2020
Inicio: 06/05/2020
Fin: 25/05/2020
Duración: 24
Horario: Lunes y miércoles de 16:00 a 20:00h
Lugar: Instituto Tecnológico de Informática- ITI. Ciudad Politécnica de la Innovación, Edificio 8G, Cuarta Planta