1 of 18

Mg. Ing. Diego Navarro - diego.navarro@um.edu.ar

Mg. Ing. JuanJo Ciarlante - jjo@um.edu.ar

https://cloud.um.edu.ar

Noviembre 2020

Industrias 4.0

Cloud Computing: Cloud Native

2 of 18

Despliegue de Aplicaciones: Tradicional

3 of 18

Cloud Computing: Cloud Classic

On Premises

IaaS

PaaS

SaaS

Aplicación

Datos

Tiempo de Ejecución

Sistema Operativo

Servidores

Almacenamiento

Red

Aplicación

Datos

Tiempo de Ejecución

Sistema Operativo

Servidores

Almacenamiento

Red

Aplicación

Datos

Tiempo de Ejecución

Sistema Operativo

Servidores

Almacenamiento

Aplicación

Red

Datos

Tiempo de Ejecución

Sistema Operativo

Servidores

Almacenamiento

Red

Administración del Proveedor

Administración del Cliente

Cloud Computing

  • autoservicio
  • bajo-demanda
  • acceso por red
  • recursos en común (multi-inquilino)
  • rápida elasticidad (escalabilidad)
  • servicio medido (monitoreo)

4 of 18

Cloud Native - “un poco de arqueología ...”

5 of 18

Cloud Native - “un poco de arqueología ...”

Hardware

Kernel

U-Lib

U-App

El Monolito

U-Sys

U-App Aplicaciones

U-Lib Librerías de App.

U-Sys Librerías de Sistema

Kernel Sistema Operativo

6 of 18

Cloud Native - “un poco de arqueología ...”

Hardware

Kernel

U-Lib

U-App

El Monolito

VM

U-Sys

H

K

...

vH

K

U-L

U-A

U-S

vH

K

U-L

U-A

U-S

U-App Aplicaciones

U-Lib Librerías de App.

U-Sys Librerías de Sistema

Kernel Sistema Operativo

7 of 18

Cloud Native - “un poco de arqueología ...”

Hardware

Kernel

U-Lib

U-App

El Monolito

VM

Container�(LXC/LXD)

U-Sys

H

K

...

vH

K

U-L

U-A

U-S

vH

K

U-L

U-A

U-S

H

K

...

U-L

U-A

U-S

U-L

U-A

U-S

vH

K

U-L

U-A

U-S

vH

K

U-L

U-A

U-S

U-App Aplicaciones

U-Lib Librerías de App.

U-Sys Librerías de Sistema

Kernel Sistema Operativo

8 of 18

Cloud Native - “un poco de arqueología ...”

Container�(Docker)

H

K

...

U-L

U-A

U-L

U-A

U-S

Hardware

Kernel

U-Lib

U-App

El Monolito

VM

Container�(LXC/LXD)

U-Sys

H

K

...

vH

K

U-L

U-A

U-S

vH

K

U-L

U-A

U-S

H

K

...

U-L

U-A

U-S

U-L

U-A

U-S

U-App Aplicaciones

U-Lib Librerías de App.

U-Sys Librerías de Sistema

Kernel Sistema Operativo

9 of 18

Cloud Native - desengrasándonos del sistema

Containers

H

K

...

Runtime

Runtime

System

Hardware

Kernel

THE Monolith

System

platform

METAL

Cloud Classic®

Cloud Native

orchestration

imperative

+= ~declarative

IaC

declarative

PaC

tools

human, scripts, ansible, chef

+= ~terraform

Kubernetes, Docker SWarm

App

App

Apps

Runtime

...

The VMonoliths

App

H

K

vH

K

System

vH

K

System

Runtime

Runtime

App

10 of 18

Cloud Native

Tecnologías que empoderan a las empresas para construir aplicaciones escalables en ambientes dinámicos de cloud.

Estas Tecnologías permiten crear:

  • Sistemas con bajo acomplamiento
  • Resistentes[Resilientes]
  • Gestion[ables]
  • Observables

Combinadas con automatización robusta permite a los ingenieros hacer cambios de alto impacto con frecuencia y mínimo esfuerzo.

11 of 18

Infraestructura como código: IaC

https://medium.com/faun/infrastructure-as-code-917d245ce35e

12 of 18

Plataforma como código

https://itnext.io/evolution-of-paases-to-platform-as-code-in-kubernetes-world-74464b0013ca

Cloud Native

�Cloud Classic

13 of 18

Plataforma como código

https://medium.com/@cloudark/kubernetes-and-the-future-of-as-code-systems-b1b2de312742

14 of 18

DevOps

DevOps (acrónimo inglés de development -desarrollo- y operations -operaciones-) es una práctica de ingeniería de software que tiene como objetivo unificar el desarrollo de software (Dev) y la operación del software (Ops)

15 of 18

Plataforma como código: Kubernetes y derivados

16 of 18

Entonces a mí industria que le puede servir ?

  • El modelo Cloud [classic, native] transforma el TCO en AAS.
  • Infraestructura / Plataforma como código “activa” el despliegue de Infraestructura.
  • Infraestructura / Plataforma como código permite “repetir”, “almacenar” y “compartir”
  • Infraestructura / Plataforma como código permite paridad de ambientes [Desarrollo / Producción / Testing]
  • Plataforma como código [Kubernetes específicamente] provee una abstracción uniforme y posibilidad de independencia de proveedor de Cloud.
  • El enfoque DevOps maximiza la capacidad de los RRHH en pro de la contribución de funcionalidades al negocio.

17 of 18

UM-Cloud

Objetivos

  • Construir una infraestructura de Cloud Computing para uso académico
  • Poner UM-Cloud a disposición de la Comunidad académica de la UM
  • Desarrollar las actividades de transferencia y capacitación al medio
  • Escalar la infraestructura de Cloud Computing año a año

Desarrollar las habilidades para poder desplegar servicios de manera programática sobre tecnología de Cloud Computing.

Objetivos Particulares

  • Desarrollar los conceptos referentes a Cloud Native
  • Adquirir las habilidades de operación de una implementación de Cloud
  • Adquirir las habilidades para desplegar servicios de manera programática
  • Desarrollar despliegues de servicios elásticos

18 of 18

UMCloud: Track Record

  • 2015: Primer despliegue
    • Ubuntu + OpenStack
    • Portal de usuarios https://cloud.um.edu.ar/my/
      • Autorización LDAP <-> base de alumnos/profes
      • Acceso remoto vía OpenVPN
        • 1er vez local para obtener certificados
  • Con’s de rodarla un tiempo ...
    • “Raspa” gestión de Certificados/openvpn
    • Sin Cloud nativo
  • 2019: Full Refactor, Team++
    • Cloud native: kros [k8s + rook + OpenStack from metal]
    • Nuevo portal usuarios: click...click...click
      • oauth + zerotier = Enjoy
  • 2020:
    • Laboratorio Remoto para diversas cátedras