From on premise to full architectures on Openstack

36
From on-premise to full architectures on Openstack Guillermo Alvarado - @galvarado89 Francisco J. Araya - @fjaraya

Transcript of From on premise to full architectures on Openstack

Page 1: From on premise to full architectures on Openstack

From on-premise to full

architectures on OpenstackGuillermo Alvarado - @galvarado89

Francisco J. Araya - @fjaraya

Page 2: From on premise to full architectures on Openstack

Temario

•VPS

•Cloud Servers

•Las diferencias

•Arquitectura

•Automatización

•OpenStack Heat

•Plantillas

•Caso de Uso

•Demo

Page 3: From on premise to full architectures on Openstack

Un viaje al pasado...

Los VPS / On-Premise

Page 4: From on premise to full architectures on Openstack

VPS

•“VPS” Virtual Private Server

•Es un servidor común, pero con

sus recursos virtualizados.

•Modelo de entrega de

infraestructura como servicio.

IaaS.

Page 5: From on premise to full architectures on Openstack

Escalando recursos...

Cloud Servers

Page 6: From on premise to full architectures on Openstack

Cloud servers

•Realmente es una

evolución a una estructura

de nube integrada.

•En minutos, podemos

añadir balanceadores de

carga, bases de datos,

almacenamiento,

monitoreo y DNS como

servicios adicionales

Page 7: From on premise to full architectures on Openstack

Cloud servers

•Podemos escalar recursos hacia

arriba o hacia abajo en cualquier

momento

•Cuenta con una herramienta de

gestión de los recursos

•Modelo de servicio “Pay as you

go” otorgando mayor flexibilidad

Page 8: From on premise to full architectures on Openstack

Entonces a ¿A donde vamos?

Diferencias entre VPS y

Cloud server

Page 9: From on premise to full architectures on Openstack

Diferencias

•Un servidor cloud es tolerante a fallos de hardware, un VPS

no. Es decir, puede cambiar de Host.

•Gracias al dinamísmo del cloud server, se pueden generar

estrategias de Alta disponibilidad

Page 10: From on premise to full architectures on Openstack

Diferencias

•Podemos explotar los beneficios de un SDN: Redes

virtuales, vSwitches y vRouters, etc.

Page 11: From on premise to full architectures on Openstack

La evolución...

Arquitecturas

Page 12: From on premise to full architectures on Openstack

Arquitecturas

Las Arquitecturas Cloud son los diseños y desarrollo de

arquitecturas de software que hacen un uso eficiente de los

servicios en cloud.

Page 13: From on premise to full architectures on Openstack

Arquitecturas

Las Características de una arquitectura Cloud:

•Ejecutan de forma óptima las tareas para cubrir una

necesidad de negocio.

•Sólo hacen uso de la infraestructura de computación que es

necesaria en cada momento.

•Escalan basándose en la demanda, asignando y realizando

el aprovisionamiento y destrucción de servidores según sea

necesario de manera automática

Page 14: From on premise to full architectures on Openstack

Arquitecturas

Page 15: From on premise to full architectures on Openstack

Arquitecturas

Las aplicaciones soportadas en una arquitectura cloud,

necesitan:

•Desplegar detrás de un Firewall, sin internet.

•Escalar recursos hacia arriba o hacia abajo.

•Realizar flujos con las apps (MySQL, Django, etc)

•Manejar las redes virtuales entre los servidores

•Dar de baja o aumentar el número de servidores

•Realizar y restaurar backups

•Gestionar el DNS

El problema? Son tareas concurrentes, repetitivas.

Page 16: From on premise to full architectures on Openstack

Dejemos de perder el tiempo,

Automaticemos

Page 17: From on premise to full architectures on Openstack

Arquitecturas

Resolvamos esto mediante un enfoque DevOps: definiendo

hooks para gatillar tareas automatizadas como:

•Aprovisionamiento de una nueva instancia

•Instalación del software necesario

•¿Cuando escalo mis recursos?

•¿En que momento agrego más servidores?

•Política de restauración de Backups

•Modificación de los records DNS

•Ampliar el pool del Load Balancer

Page 18: From on premise to full architectures on Openstack

Es el OpenStack Day, no?

OpenStack Heat

Page 19: From on premise to full architectures on Openstack

Heat

Heat es un servicio para orquestar múltiples aplicaciones

sobre Openstack, es decir, provee un mecanismo para

manejar el ciclo de vida de las aplicaciones y la

infraestructura Cloud.

Ofrece a desarrolladores y administradores de sistemas un

método sencillo de crear un stack de recursos de Openstack

relacionados entre sí para ofrecerlos de una manera

ordenada y predecible.

Page 20: From on premise to full architectures on Openstack

Heat

Openstack por filosofía es interoperable, por esta razón Heat

es compatible con el formato de la plantilla de Amazon Web

Services, CloudFormation.

Page 21: From on premise to full architectures on Openstack

Heat

Las plantillas permiten la creación de la mayoría de los tipos

de recursos de OpenStack:

•IPs flotantes

•Instancias de computo

•Redes Virtuales

•Volúmenes de almacenamiento

•Grupo de seguridad/Firewall

•Usuarios

Así como funciones más avanzadas como alta disponibilidad,

autoscaling, configuraciones de servicios third party, etc.

Page 22: From on premise to full architectures on Openstack

Heat

Además Heat permite describir cualquier dependencia o

parámetro especial para transmitirlo en el tiempo de

ejecución, habilitandonos a trabajar con distintas

aplicaciones como:

•WordPress

•Django

•RoR

•MySQL

•GIT

•Nginx

•Etc

Page 23: From on premise to full architectures on Openstack

¿Y cómo se hace?

Plantillas Heat

Page 24: From on premise to full architectures on Openstack

Plantillas

Las plantillas son sencillos archivos de texto con formato

YAML, son un documento que detalla la orquestación de todo

lo que se necesita para llevar a cabo un stack.

Heat Orchestration Template (HOT), es el lenguaje para

escribir una plantilla de Heat.

Page 25: From on premise to full architectures on Openstack

Plantillas

# Definitions of components used (similar to Juju charm syntax)

components:

- &wordpress_reference_id

id: wordpress

revision: 3

summary: "A popular blog engine"

provides:

url:

interface: http

requires:

db:

interface: mysql

server:

relation: host

interface: linux

options:

url:

type: String

default: wp.test.local

description: the url to use to host your blog on

- &mysql.1

id: mysql

revision: 1

summary: "A popular database. Note, this is a cloud database and therefore does not need a host"

provides:

db: mysql

Page 26: From on premise to full architectures on Openstack

Plantillas

¿Que dice la plantilla?

•En una plantilla se describe la infraestructura para una

aplicación cloud.

•Los recursos de infraestructura que pueden ser descritos

incluyen: servidores, ips flotantes , volúmenes, grupos de

seguridad , usuarios, etc.

•Las plantillas también pueden especificar las relaciones

entre los recursos, por ejemplo, este volumen está conectado

a este servidor

Page 27: From on premise to full architectures on Openstack

Plantillas

¿Como funciona?

•El motor de Heat genera los datos que serán consumidos

por cloud-init

•Heat se comunica con Nova para crear la instancia

•Nova selecciona un servidor compute donde ejecutar la

instancia

•Cuando la instancia bootea, se ejecutan las tareas de

redimensionar el filesystem, setear el hostname, instalar la

llave SSH del usuario, etc.

Page 28: From on premise to full architectures on Openstack

Plantillas

¿Como funciona?

•Posteriormente, se ejecuta el resto del script de la plantilla

para instalar paquetes, crear archivos, gestionar el

filesystem, etc.

•Heat se comunica con Cinder para aproviosionar Volúmenes

de almacenamiento en caso de ser necesarios

•Heat guarda los logs de las actividades en: /var/log/part-

handler.log y /var/log/heat-provision.log

Page 29: From on premise to full architectures on Openstack

Plantillas

Además

•Heat gestiona todo el ciclo de vida de la aplicación cuando

se necesita cambiar la infraestructura, simplemente se

modifica la plantilla, y se aplica al stack existente. Heat sabe

cómo hacer los cambios necesarios.

•De la misma manera, heat eliminará todos los recursos extra

cuando haya terminado con la solicitud

Page 30: From on premise to full architectures on Openstack

Plantillas

Además

•Las plantillas se integran con herramientas de gestión de

configuración de software como de Puppet y chef

Page 31: From on premise to full architectures on Openstack

Caso de Uso

Heat para Wordpress y

MySQL

Page 32: From on premise to full architectures on Openstack

Caso de uso

Page 33: From on premise to full architectures on Openstack

Caso de uso

1.Creación de red virtual para comunicación privada

2.Creación de Router virtual, para salida a Internet

3.Enlazamiento de red privada a Gateway público

4.Creación de servidor para Wordpress

5.Creación de servidor para MySQL

6.Comunicación entre servidores a través de interfaz

privada

7.Instalación de Wordpress

8.Instalación de MySQL

9.Configuración de MySQL (Usuarios y permisos)

10.Configuración de Wordpress

11.Asignación de IP Pública a servidor Wordpress

Page 34: From on premise to full architectures on Openstack

La curiosidad me mata, ¡Quiero ver!

Demo

Page 35: From on premise to full architectures on Openstack

Dudas, comentarios y sugerencias

@galvarado89

@fjaraya

Page 36: From on premise to full architectures on Openstack