From on premise to full architectures on Openstack
-
Upload
guillermo-alvarado-mejia -
Category
Technology
-
view
127 -
download
0
Transcript of From on premise to full architectures on Openstack
![Page 1: From on premise to full architectures on Openstack](https://reader034.fdocuments.us/reader034/viewer/2022042716/55a7b5a01a28abd2168b4882/html5/thumbnails/1.jpg)
From on-premise to full
architectures on OpenstackGuillermo Alvarado - @galvarado89
Francisco J. Araya - @fjaraya
![Page 2: From on premise to full architectures on Openstack](https://reader034.fdocuments.us/reader034/viewer/2022042716/55a7b5a01a28abd2168b4882/html5/thumbnails/2.jpg)
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](https://reader034.fdocuments.us/reader034/viewer/2022042716/55a7b5a01a28abd2168b4882/html5/thumbnails/3.jpg)
Un viaje al pasado...
Los VPS / On-Premise
![Page 4: From on premise to full architectures on Openstack](https://reader034.fdocuments.us/reader034/viewer/2022042716/55a7b5a01a28abd2168b4882/html5/thumbnails/4.jpg)
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](https://reader034.fdocuments.us/reader034/viewer/2022042716/55a7b5a01a28abd2168b4882/html5/thumbnails/5.jpg)
Escalando recursos...
Cloud Servers
![Page 6: From on premise to full architectures on Openstack](https://reader034.fdocuments.us/reader034/viewer/2022042716/55a7b5a01a28abd2168b4882/html5/thumbnails/6.jpg)
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](https://reader034.fdocuments.us/reader034/viewer/2022042716/55a7b5a01a28abd2168b4882/html5/thumbnails/7.jpg)
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](https://reader034.fdocuments.us/reader034/viewer/2022042716/55a7b5a01a28abd2168b4882/html5/thumbnails/8.jpg)
Entonces a ¿A donde vamos?
Diferencias entre VPS y
Cloud server
![Page 9: From on premise to full architectures on Openstack](https://reader034.fdocuments.us/reader034/viewer/2022042716/55a7b5a01a28abd2168b4882/html5/thumbnails/9.jpg)
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](https://reader034.fdocuments.us/reader034/viewer/2022042716/55a7b5a01a28abd2168b4882/html5/thumbnails/10.jpg)
Diferencias
•
•Podemos explotar los beneficios de un SDN: Redes
virtuales, vSwitches y vRouters, etc.
![Page 11: From on premise to full architectures on Openstack](https://reader034.fdocuments.us/reader034/viewer/2022042716/55a7b5a01a28abd2168b4882/html5/thumbnails/11.jpg)
La evolución...
Arquitecturas
![Page 12: From on premise to full architectures on Openstack](https://reader034.fdocuments.us/reader034/viewer/2022042716/55a7b5a01a28abd2168b4882/html5/thumbnails/12.jpg)
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](https://reader034.fdocuments.us/reader034/viewer/2022042716/55a7b5a01a28abd2168b4882/html5/thumbnails/13.jpg)
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](https://reader034.fdocuments.us/reader034/viewer/2022042716/55a7b5a01a28abd2168b4882/html5/thumbnails/14.jpg)
Arquitecturas
![Page 15: From on premise to full architectures on Openstack](https://reader034.fdocuments.us/reader034/viewer/2022042716/55a7b5a01a28abd2168b4882/html5/thumbnails/15.jpg)
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](https://reader034.fdocuments.us/reader034/viewer/2022042716/55a7b5a01a28abd2168b4882/html5/thumbnails/16.jpg)
Dejemos de perder el tiempo,
Automaticemos
![Page 17: From on premise to full architectures on Openstack](https://reader034.fdocuments.us/reader034/viewer/2022042716/55a7b5a01a28abd2168b4882/html5/thumbnails/17.jpg)
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](https://reader034.fdocuments.us/reader034/viewer/2022042716/55a7b5a01a28abd2168b4882/html5/thumbnails/18.jpg)
Es el OpenStack Day, no?
OpenStack Heat
![Page 19: From on premise to full architectures on Openstack](https://reader034.fdocuments.us/reader034/viewer/2022042716/55a7b5a01a28abd2168b4882/html5/thumbnails/19.jpg)
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](https://reader034.fdocuments.us/reader034/viewer/2022042716/55a7b5a01a28abd2168b4882/html5/thumbnails/20.jpg)
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](https://reader034.fdocuments.us/reader034/viewer/2022042716/55a7b5a01a28abd2168b4882/html5/thumbnails/21.jpg)
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](https://reader034.fdocuments.us/reader034/viewer/2022042716/55a7b5a01a28abd2168b4882/html5/thumbnails/22.jpg)
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](https://reader034.fdocuments.us/reader034/viewer/2022042716/55a7b5a01a28abd2168b4882/html5/thumbnails/23.jpg)
¿Y cómo se hace?
Plantillas Heat
![Page 24: From on premise to full architectures on Openstack](https://reader034.fdocuments.us/reader034/viewer/2022042716/55a7b5a01a28abd2168b4882/html5/thumbnails/24.jpg)
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](https://reader034.fdocuments.us/reader034/viewer/2022042716/55a7b5a01a28abd2168b4882/html5/thumbnails/25.jpg)
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](https://reader034.fdocuments.us/reader034/viewer/2022042716/55a7b5a01a28abd2168b4882/html5/thumbnails/26.jpg)
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](https://reader034.fdocuments.us/reader034/viewer/2022042716/55a7b5a01a28abd2168b4882/html5/thumbnails/27.jpg)
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](https://reader034.fdocuments.us/reader034/viewer/2022042716/55a7b5a01a28abd2168b4882/html5/thumbnails/28.jpg)
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](https://reader034.fdocuments.us/reader034/viewer/2022042716/55a7b5a01a28abd2168b4882/html5/thumbnails/29.jpg)
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](https://reader034.fdocuments.us/reader034/viewer/2022042716/55a7b5a01a28abd2168b4882/html5/thumbnails/30.jpg)
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](https://reader034.fdocuments.us/reader034/viewer/2022042716/55a7b5a01a28abd2168b4882/html5/thumbnails/31.jpg)
Caso de Uso
Heat para Wordpress y
MySQL
![Page 32: From on premise to full architectures on Openstack](https://reader034.fdocuments.us/reader034/viewer/2022042716/55a7b5a01a28abd2168b4882/html5/thumbnails/32.jpg)
Caso de uso
![Page 33: From on premise to full architectures on Openstack](https://reader034.fdocuments.us/reader034/viewer/2022042716/55a7b5a01a28abd2168b4882/html5/thumbnails/33.jpg)
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](https://reader034.fdocuments.us/reader034/viewer/2022042716/55a7b5a01a28abd2168b4882/html5/thumbnails/34.jpg)
La curiosidad me mata, ¡Quiero ver!
Demo
![Page 35: From on premise to full architectures on Openstack](https://reader034.fdocuments.us/reader034/viewer/2022042716/55a7b5a01a28abd2168b4882/html5/thumbnails/35.jpg)
Dudas, comentarios y sugerencias
@galvarado89
@fjaraya
![Page 36: From on premise to full architectures on Openstack](https://reader034.fdocuments.us/reader034/viewer/2022042716/55a7b5a01a28abd2168b4882/html5/thumbnails/36.jpg)