Desarrollo del concepto principal

Alberto Molina Coballes y José Domingo Muñoz Rodríguez

Theme by reveal.js

El concepto

Las múltiples capas de software que vamos interponiendo entre el hardware y las aplicaciones precisan que las gestionemos automáticamente

¿Qué capas?

  • Virtualización
  • Contenedores
  • SDN
  • SDS
  • Infraestructura como servicio: IaaS
  • Container Orchestration Engine: COE

IaaS

  • El usuario gestiona sus recursos hardware mediante API rest
  • Recursos elásticos
  • Opciones:
    • Nube pública: AWS, GCE, Azure, ...
    • Nube privada con sw libre: OpenStack, Opennebula, ...

COE

  • Software para gestionar aplicaciones sobre contenedores
  • Orquestadores, herramientas de orquestación, COE, ...
  • Muy relacionados con microservicios
  • Muy adecuado para gestión de versiones y actualizaciones y buenas prácticas como CI/CD
  • Opciones: Swarm, Mesos, DCOS, Kubernetes

Kubernetes-OpenStack

  • OpenStack empieza a estabilizarse y gestiona eficazmente virtualización de máquinas, redes y almacenamiento. El encaje de contenedores no es tan claro
  • Kubernetes es capaz de gestionar múltiples nodos (máquinas virtuales o físicas) en los que se ejecutan contenedores sobre docker o rkt, utilizando SDN y SDS de una forma limitada.
  • ¿Dónde ubicaríamos OpenStack y Kubernetes en el famoso ciclo de sobreexpectación?

El sandwich

Despliegue sobre máquina física

  • Despliegue tradicional
  • Recursos estáticos gestionados manualmente
  • Muchas limitaciones

Despliegue sobre máquina virtual

  • Despliegue habitual hoy en día
  • Mejor aprovechamiento de recursos
  • Posible gestionarlo a mano

Uso de IaaS

  • Pasamos a gestionar muchos nodos de forma centralizada
  • Entorno más complejo
  • Posibilidades enormes
  • Elasticidad
  • Cada capa de sw necesita instalarse, actualizarse y monitorizarse
  • Necesidad de automatizar

Uso de COE

  • Ideal para microservicios, CI/CD
  • Sin elasticidad
  • Cada capa de sw necesita instalarse, actualizarse y monitorizarse
  • Necesidad de automatizar

COE sobre IaaS

  • Ideal para microservicios, CI/CD
  • Añadimos la elasticidad
  • Más capas para gestionar
  • Imperiosa necesidad de automatizar
  • Pila habitual en nube pública

IaaS sobre COE

  • Tratamos el sw de IaaS como microservicio
  • Ideal para gestionar las actualizaciones de IaaS

IaaS sobre COE sobre IaaS

  • Tratamos el sw de IaaS como microservicio
  • Sobre el Iaas ponemos COE que aprovecha la elasticidad
  • Las aplicaciones se pueden ejecutar sobre COE o directamente sobre IaaS
  • Muuuchas capas

¿?

Pasamos de un sandwich mixto al sandwich club especial de la casa ;)


Automatizar

  • Instalación
  • Actualización
  • Uso de recursos

Técnicas que se utilizan

  • Aprovisionamiento de recursos
  • Gestión de la configuración (CMS)
  • Orquestación
  • Infraestructura como código

Software que veremos

  • ansible
  • heat
  • terraform
  • ...