Flujo potencial, conceptos básicos y ejemplos resueltos.
Tecnologías de virtualización y despliegue de servicios
1. “Tecnologías de virtualización y
despliegue de servicios”
Dennis Paul Guamán Ochoa
“Ingeniero en Electrónica, Telecomunicaciones y Redes”.
Estudiante de Máster Universitario de Ingeniería de Redes y Servicios Telemáticos en la
Universidad Politécnica de Madrid.
Andy Juan Sarango Veliz
“Bachiller en Ciencias con Mención en Ingeniería en Telecomunicaciones”.
Ingeniero de Monitorización de Redes en Ayscom Celular de Servicios S.L
Estudiante de Máster Universitario de Ingeniería de Redes y Servicios Telemáticos en la
Universidad Politécnica de Madrid.
1
2. Índice
Virtualización de Redes
1. Introducción
a) Técnicas de virtualización
b) Virtualización de redes
2. Virtualización de redes externa
3. Virtualización de redes interna
4. Estandarización
5. Virtualización de redes y SDN
Despliegue de Servicios
1. Despligue
2. Infraestructura
• Operación Propia
• Operación en la nube
3. Computación en la nube
• ¿Qué es la nube?
• Modelos de servicio en la nube
4. Docker
5. Kubernetes
6. Caso Práctico
2
3. 1. Introducción
Técnicas de Virtualización
Permiten desacoplar o abstraer los recursos lógicos de la infraestructura física que
los proporciona.
Objetivo: multiplexación, portabilidad, movilidad, …
3
6. 1. Introducción
Ventajas Virtualización
6
Mejora la utilización de los recursos (N a 1)
Menores inversiones, menor consumo energético, etc.
Mejora la escalabilidad (1 a N)
Proporciona aislamiento entre recursos lógicos
Desacopla recursos lógicos y físicos, facilitando la gestión de los sistemas
Mejora la fiabilidad de los sistemas (1 a N)
Permite tener redundancia sin complicar el uso de los recursos.
7. 1. Introducción
Virtualización de redes: visión general
7
Virtualización de los recursos de una red física y
asignación a redes virtuales.
Recursos de una red:
Conmutación (Nodos): virtualizados mediante
virtualización de plataforma para crear nodos virtuales.
Enlaces: virtualizados mediante técnicas clásicas que
permitan dividir el ancho de banda disponible.
Objetivo último: ofrecer redes virtuales que se configuren y
gestionen como las redes físicas.
8. 2. Virtualización de redes externa
Ejemplos virtualización de redes externa
8
Virtualización en LAN:
Virtual LAN (VLAN) sobre switches Ethernet
Virtualización en WAN: Redes Privadas Virtuales.
VPN basada en túneles IPSec
VPN sobre redes MPLS: VRF
Configuraciones de routers redundantes:
Virtual Router Redundancy Protocol (VRRP) o Hot Standby Router Protocol (HSRP).
Virtualización de switches y routers:
Virtual Device Context (VDC) de CISCO: virtualización de switches en los NEXUS.
Logical Systems de Juniper
9. 3. Virtualización de de redes interna
Internal Virtual Switches (vSwitches)
9
Son conmutadores Ethernet
implementados por software en los
sistemas operativos o en los
hypervisores de virtualización.
Permiten la interconexión de las
máquinas virtuales entre ellas y con los
interfaces físicos del equipo anfitrión
(host).
11. 5. Virtualización de redes y SDN
Virtualización de redes basada en SDN
11
Basada en la asignación de flujos de tráfico a redes virtuales.
Uso de metacontroladores que distribuyen los eventos de red a cada controlador de
red virtual.
Máxima expresión de la virtualización de red: redes virtuales programables.
12. Virtual Networks over Linux (VNX)
Técnicas de Virtualización
12
Permiten ejecutar varias máquinas virtuales sobre un equipo anfitrión.
Ej: Xen, VMware, User Mode Linux, etc
Combinadas con el uso de redes virtuales emuladas en el host permiten crear
Escenarios de Red Virtuales incluso con conexiones externas.
14. 2. Infraestructura
Infraestructura Propia
14
La empresa se encarga de provisionamiento de hadware y software
Ventajas
Solucion a problemás
Control absoluto del entorno de ejecución
Herramientas AAA
Seguridad según las políticas internas
Desventajas
Altos costos
Necesidad de contar con conocimiento especializado
Necesidad de planificar la evolución y manteniminto
Puede estar fuera de las competencias escenciales
Riesgo de obsolescencia
15. 2. Infraestructura
Operación en la nube
15
La empresa se encarga de provisionamiento de hadware y software
Ventajas
Costes de operación reducidos
Rapidez en la puesta en marcha
Flexible: paga sólo por los recursos consumidos
Desventajas
Dependencia del proveedor
No hay control sobre políticas de infraestructuras
Aumento de costes de comunicaciones hacia / desde la nube
Seguridad, privacidad, protección de datos y cumplimento normativo
16. 3. Computación en la Nube
Qué es la nube?
16
Cloud o nube es en realidad sólo una metáfora de Internet. El cloud o nube
es la representación de una gigantesca infraestructura.
Cloud computing significa almacenar y acceder a datos y programas a través
de Internet en lugar de hacerlo directamente al disco duro de nuestro
ordenador.
18. 4. Docker
Qué es docker?
18
Docker es un proyecto de código abierto
Docker es una herramienta de virtualización ligera
Docker es un “emulador” de entornos aislado
Docker usa contenedores para el despligue de aplicaciones
21. 5. Kubernetes
Introducción
21
Es una herramienta de código abierto para la orquestación de contenedores
Kubernetes orquesta la infraestructura de cómputo, redes y
almacenamiento para que las cargas de trabajo de los usuarios no tengan
que hacerlo.
Su función es administrar cargas de trabajo y servicios
Kubernetes ofrece un entorno de administración centrado en contenedores
23. 5. Kubernetes
Arquitectura: Master Node
23
El master arranca 4 componentes:
Api Server: controla todas las tareas administrativas en el master node,
recibe peticiones REST del usuario,
Scheduler: recibe las peticiones que se envían al worker y las valida,
asignando un objeto (Pod) al worker Node.
Controlador (Controller): detecta el estado del Cluster, los Pods en
ejecución. El controller maneja una configuración llamada Deployment
ETCD: almacena todos los cambios de estado del Cluster
24. 5. Kubernetes
Arquitectura: Worker node 24
El worker node cuenta con 4 componentes:
Container runtime: es el espacio de ejecucion de un POD, que es una abstraccion de un contenedor
Kubelet: es un servicio que comunica el Master Node con los contenedores.
Kube-Proxy: es el agente de red para cada nodo
Plugins and Complementos:
• DNS-Cluster DNS: es el agende de red para cada nodo
• Dashboard: complemente que se presenta con interfaz web de propósito general para el cluster
• Monitoreo: almacena métricas a nivel del cluster y contenedores
• Logging: almacena logs (Registros) a nivel del cluster y contenedores
La virtualización no es una tecnología nueva. Durante los años 70 del siglo pasado ya se
ofrecía en sistemas IBM como medio de compartir el hardware de los ordenadores entre
distintas versiones de los sistemas operativos o aplicaciones. Sin embargo, no es hasta
principios de siglo cuando su implementación en las arquitecturas x86, tanto en
servidores como en ordenadores personales, da lugar a que se convierta en lo que es
hoy en día: una tecnología básica en el ámbito de la informática y las comunicaciones.
Su aplicación a la computación ha alcanzado un gran nivel de madurez, siendo uno de
los pilares fundamentales de la computación en la nube en la que se asientan muchas
de las aplicaciones que utilizamos a diario. También en el ámbito de las redes se aplica
desde hace tiempo, por ejemplo, en la virtualización de redes de área local. Sin embargo,
es más reciente su aplicación a la virtualización de redes completas y, todavía más
reciente, la aplicación de los paradigmas de la computación en la nube a la virtualización
de funciones de red, comúnmente conocida por NFV.
El uso creciente de la virtualización en nuestras redes, junto con el uso de las tecnologías
de redes definidas por software supondrá (o está suponiendo ya) un cambio importante
en su arquitectura, haciéndolas evolucionar hacia redes mucho más dinámicas y
programables.
En general, en el ámbito de las tecnologías de la información y las comunicaciones (TIC),
el termino virtualización se refiere a las tecnologías que permiten desacoplar o abstraer
los recursos lógicos de la infraestructura física que los proporciona.
Llamamos recursos lógicos a la visión abstracta que desde el software se tiene de los
recursos físicos del sistema. La creación de recursos lógicos tiene por objetivo el ofrecer
un interfaz de alto nivel más sencillo y abstracto, que aísle a los usuarios y
programadores de los detalles y características internas de dispositivos físicos como, por
ejemplo, memorias, procesadores, discos o dispositivos de comunicaciones.
Más en particular, el término virtualización suele aplicarse a la división de un recurso
físico en múltiples recursos lógicos (Figura 1). El caso más conocido y utilizado en la
actualidad es la creación de múltiples máquinas virtuales sobre un ordenador físico.
Mediante el uso de una capa de software adicional que gestiona la virtualización y que
normalmente se denomina Hipervisor (hypervisor en inglés) o Monitor de Máquinas
virtuales (Virtual Machine Monitor o VMM), los recursos del ordenador son virtualizados
y ofrecidos a las distintas máquinas virtuales, que pueden ejecutar distintos sistemas
operativos (Figura 2). El uso de máquinas virtuales está actualmente muy difundido,
tanto en servidores en centros de datos como en la informática personal. La gran
mayoría de sistemas operativos actuales cuentan con múltiples opciones de
virtualización, tanto basadas en software abierto como comercial. Por ejemplo, para los
sistemas operativos Linux, Windows o Mac OS se puede utilizar VirtualBox, que se
recomienda para arrancar las máquinas virtuales de prácticas de este curso.