OpenStack IV. De la Virtualizaci´ on al Cloud Computing Integraci´ on de Sistemas Miguel Vidal Jose Castro Twitter: @mvidallopez Twitter: @jfcastroluis M´ aster oficial en Software Libre 26 de abril 2013 1 / 44 Miguel Vidal – Jose Castro IV. De la Virtualizaci´ on al Cloud Computing
OpenStack c 2010-2013 Miguel Vidal, Jose Castro This work is licensed under a Creative Commons Attribution 3.0 License http://creativecommons.org/licenses/by/3.0 2 / 44 Miguel Vidal – Jose Castro IV. De la Virtualizaci´ on al Cloud Computing
OpenStack Contenidos del curso Sesi´ on I: Introducci´ on al software libre en servidores Sesi´ on II: El Almacenamiento como Servicio Sesi´ on III: El Arte de la Virtualizaci´ on Sesi´ on IV: De la Virtualizaci´ on al Cloud Computing Sesi´ on V: Clusters de Alta Disponibilidad 3 / 44 Miguel Vidal – Jose Castro IV. De la Virtualizaci´ on al Cloud Computing
OpenStack Agenda 1 Qu´ e es el Cloud Computing 2 Proyecto OpenStack 3 Fundamentos de OpenStack Nova Glance Swift Workflow del despliegue 4 / 44 Miguel Vidal – Jose Castro IV. De la Virtualizaci´ on al Cloud Computing
OpenStack Cloud Computing Es una tecnolog´ ıa que permite convertir la infrestructura IT (computaci´ on, almacenamiento...) en un servicio para fines heterog´ eneos. 6 / 44 Miguel Vidal – Jose Castro IV. De la Virtualizaci´ on al Cloud Computing
OpenStack Capas de Cloud Computing Software as a Service (SaaS): capa m´ as alta (la de servicio). Ej. Google apps. Platform as a Service (PaaS): empaquetamiento de entorno de desarrollo. Ej. Google Apps. Engine. Infrastructure as a Service (IaaS): capa inferior, sirve hardware virtualizado. Ej. OpenStack, OpenNebula 7 / 44 Miguel Vidal – Jose Castro IV. De la Virtualizaci´ on al Cloud Computing
OpenStack Caracter´ ısticas (1) Servicio el´ astico y altamente escalable (“infinito”) v´ ıa aprovisionamiento din´ amico. Agilidad en el despliegue y fiabilidad (redundancia) Independencia de la localizaci´ on f´ ısica y centralizaci´ on de recursos Recursos compartidos (multitenancy) Cat´ alogo de servicios bajo demanda Autoprovisi´ on: gesti´ on delegada de los servicios 9 / 44 Miguel Vidal – Jose Castro IV. De la Virtualizaci´ on al Cloud Computing
OpenStack Caracter´ ısticas (y 2) Modelo flexible (y medible) de precios Facturaci´ on: Pago solo por uso y solo cuando se necesita No inversi´ on en CAPEX (no se adquieren m´ aquinas) Te´ oricamente reduce costos en OPEX (sysadmins) Eficiencia energ´ etica (el´ ectrica) 10 / 44 Miguel Vidal – Jose Castro IV. De la Virtualizaci´ on al Cloud Computing
OpenStack Tipos de cloud (IaaS) Nubes p´ ublicas: servicio ofrecido por terceros en el hardware del proveedor (Joyent, Amazon AWS). Nubes privadas: desplegadas en el interior de la organizaci´ on para uso propio y con sus propios recursos hardware. Nubes h´ ıbridas: combinan ambos modelos mediante el uso de APIs. 11 / 44 Miguel Vidal – Jose Castro IV. De la Virtualizaci´ on al Cloud Computing
OpenStack Cloud Computing: lo que no es No es lo mismo que gesti´ on de la virtualizaci´ on No es lo mismo que utility computing No es lo mismo que autonomic computing No es lo mismo que SaaS No es lo mismo que servicios de red No es lo mismo que computaci´ on grid 12 / 44 Miguel Vidal – Jose Castro IV. De la Virtualizaci´ on al Cloud Computing
OpenStack Proyecto Fundado por Rackspace Hosting y la NASA en julio de 2010. Objetivo: crear una plataforma de software libre para crear infraestructuras de clouds privados y p´ ublicos sobre hardware est´ andar. Reutiliza c´ odigo anterior (swift y nebula) Escalable y sin excesiva complejidad. Promueve los est´ andares abiertos. Licencia Apache 2.0: se desarrolla como software libre. 14 / 44 Miguel Vidal – Jose Castro IV. De la Virtualizaci´ on al Cloud Computing
OpenStack Comunidad Comunidad muy activa: en solo 2 a˜ nos se ha convertido en el mayor proyecto libre de IaaS. En el verano de 2010, nada m´ as lanzarse, ya ten´ ıa 217 desarrolladores registrados y 80 compa˜ n´ ıas contribuyendo. A mediados de 2012: m´ as de 175 empresas se han unido al proyecto. Recursos: http://openstack.org/community 15 / 44 Miguel Vidal – Jose Castro IV. De la Virtualizaci´ on al Cloud Computing
OpenStack Caracter´ ısticas Arquitectura basada en componentes: dise˜ no modular Redudante y tolerante a fallos Agn´ ostico en cuanto al hypervisor Agn´ ostico en cuanto al hardware (RAID no necesario, hardware est´ andar) Est´ andares abiertos Compatibilidad de API 16 / 44 Miguel Vidal – Jose Castro IV. De la Virtualizaci´ on al Cloud Computing
OpenStack Versiones del c´ odigo Release: n´ umero de versi´ on (2012.1) o nombre (Essex) Milestone: entre releases, se producen milestones (c´ odigo estable pero no apto para producci´ on). Trunk: solo apto para usuarios implicados en el desarrollo 17 / 44 Miguel Vidal – Jose Castro IV. De la Virtualizaci´ on al Cloud Computing
OpenStack Releases 2010.1 (Austin) 2011.1 (Bexar) 2011.2 (Cactus) 2011.3 (Diablo) 2012.1 (Essex) 2012.2 (Folsom) 2013.1 (Grizzly) (current stable) 18 / 44 Miguel Vidal – Jose Castro IV. De la Virtualizaci´ on al Cloud Computing
OpenStack Nova Glance Swift Workflow del despliegue Fundamentos de OpenStack 19 / 44 Miguel Vidal – Jose Castro IV. De la Virtualizaci´ on al Cloud Computing
OpenStack Nova Glance Swift Workflow del despliegue Arquitectura: Componentes 1 OpenStack Compute: Nova 2 OpenStack Object Store: Swift 3 OpenStack Image Service: Glance 4 Keystone 5 Horizon Nuevos: Block Storage (Cinder) y Networking (Quantum) Pr´ oximos: Metering (Ceilometer) y auto-scaling (Heat) 20 / 44 Miguel Vidal – Jose Castro IV. De la Virtualizaci´ on al Cloud Computing
OpenStack Nova Glance Swift Workflow del despliegue ´ Indice 1 Qu´ e es el Cloud Computing 2 Proyecto OpenStack 3 Fundamentos de OpenStack Nova Glance Swift Workflow del despliegue 21 / 44 Miguel Vidal – Jose Castro IV. De la Virtualizaci´ on al Cloud Computing
OpenStack Nova Glance Swift Workflow del despliegue Nova Es el software que controla la plataforma IaaS No incluye ninguna tecnolog´ ıa de virtualizaci´ on Utiliza drivers para manejar distintos hypervisores y tecnolog´ ıas de virtualizaci´ on La funcionalidad la lleva a cabo a traves de APIs Hay dos APIs disponibles: OpenStack y EC2 22 / 44 Miguel Vidal – Jose Castro IV. De la Virtualizaci´ on al Cloud Computing
OpenStack Nova Glance Swift Workflow del despliegue Subcomponentes de Nova 1 API Server: act´ ua como frontend para el controlador del cloud. 2 Computer Controller: provee recursos de nodo de computaci´ on. 3 Object Store: provee servicios de almacenamiento. 4 Auth Manager: provee servicios de autenticaci´ on y autorizaci´ on. 5 Volume Controller: provee almacenamiento de bloque para instancias. 6 Network Controller: provee servicios virtuales de red. 7 Scheduler: selecciona el Computer Controller m´ as adecuado. 23 / 44 Miguel Vidal – Jose Castro IV. De la Virtualizaci´ on al Cloud Computing
OpenStack Nova Glance Swift Workflow del despliegue Subcomponentes de Nova Cada subcomponente pueden correr en un servidor diferente Cloud Controller se comunica con Object Store v´ ıa HTTP Pero se comunica con Scheduler, Network Controller y Volume Controller v´ ıa AMQP (Advanced Message Queue Protocol) 24 / 44 Miguel Vidal – Jose Castro IV. De la Virtualizaci´ on al Cloud Computing
OpenStack Nova Glance Swift Workflow del despliegue Arquitectura l´ ogica 25 / 44 Miguel Vidal – Jose Castro IV. De la Virtualizaci´ on al Cloud Computing
OpenStack Nova Glance Swift Workflow del despliegue Nova-Scheduler 1 Determina donde se desplegar´ a un nuevo recurso 2 Se incluyen schedulers b´ asicos: Round-robin y Least busy 3 Permite implementar nuevos schedulers 26 / 44 Miguel Vidal – Jose Castro IV. De la Virtualizaci´ on al Cloud Computing
OpenStack Nova Glance Swift Workflow del despliegue Instancias Una instancia es una VM aprovisionada por OpenStack. Tipos de instancia (o flavor): plantilla de una instancia con el tama˜ no (cpus, memoria y almacenamiento) con la que la lanzamos. Hay varios tipos de instancia predeterminados. Pueden crearse nuevos tipos. 27 / 44 Miguel Vidal – Jose Castro IV. De la Virtualizaci´ on al Cloud Computing
OpenStack Nova Glance Swift Workflow del despliegue Conceptos de Red Redes con IP fija: permanece asignada hasta que la instancia termina expl´ ıcitamente. Redes con IP flotantes (floating IP): se asocian din´ amicamente a una instancia. Se pueden desasociar y asociarla a otra instancia en cualquier momento . 28 / 44 Miguel Vidal – Jose Castro IV. De la Virtualizaci´ on al Cloud Computing
OpenStack Nova Glance Swift Workflow del despliegue Modos de Red Flat Mode: Cada instancia recibe (inyectada) una IP del pool. Las instancias est´ an atadas al mismo bridge (br100) por defecto. Es el modo m´ as simple. Flat DHCP Mode: como en modo flat, todas las instancias atadas al mismo bridge. Pero usa dnsmasq como dhcpserver escuchando en el bridge. VLAN DHCP Mode: Nova crea una vlan y un bridge para cada proyecto, con un rango privado solo accesible desde cada vlan e incluye una instancia especial vpn para acceder a las instancias de su proyecto. 29 / 44 Miguel Vidal – Jose Castro IV. De la Virtualizaci´ on al Cloud Computing
OpenStack Nova Glance Swift Workflow del despliegue RBAC Nova provee RBAC para establecer roles que permitan acceder a los comandos de la API. Un usuario puede tener distintos roles. Hay roles espec´ ıficos de usuarios (“global”) y roles por proyecto. Los permisos de un usuario en un proyecto resultan de la intersecci´ on de sus roles de usuario y de los roles del proyecto. 30 / 44 Miguel Vidal – Jose Castro IV. De la Virtualizaci´ on al Cloud Computing
OpenStack Nova Glance Swift Workflow del despliegue Cuotas N´ umero de instancias N´ umero total de cores N´ umero de vol´ umenes N´ umero total de gigabytes N´ umero de IPs flotantes 31 / 44 Miguel Vidal – Jose Castro IV. De la Virtualizaci´ on al Cloud Computing
OpenStack Nova Glance Swift Workflow del despliegue Almacenamiento: los vol´ umenes Un volumen es un dispositivo de almacenamiento opcional y desacoplable. Concepto an´ alogo a un disco usb. Solo puede acoplarse a una instancia al mismo tiempo (no es paralelo). Cada instancia arranca con almacenamiento local (excepto m1.tiny). Almacenamiento local: por defecto 2a partici´ on del dispositivo ra´ ız. 32 / 44 Miguel Vidal – Jose Castro IV. De la Virtualizaci´ on al Cloud Computing
OpenStack Nova Glance Swift Workflow del despliegue Usuarios y proyectos Acceso a im´ agenes limitado por proyecto Acceso por usuario pares de claves (keypairs) por usuario Cuotas por proyecto 33 / 44 Miguel Vidal – Jose Castro IV. De la Virtualizaci´ on al Cloud Computing
OpenStack Nova Glance Swift Workflow del despliegue ´ Indice 1 Qu´ e es el Cloud Computing 2 Proyecto OpenStack 3 Fundamentos de OpenStack Nova Glance Swift Workflow del despliegue 34 / 44 Miguel Vidal – Jose Castro IV. De la Virtualizaci´ on al Cloud Computing
OpenStack Nova Glance Swift Workflow del despliegue Glance Soluci´ on para gesti´ on de im´ agenes de disco en el cloud. La API de glance es una simple API REST para recuperar metadatos de la im´ agenes. Los datos son devueltos como json (query) o binarios (imagen). Soporta m´ ultiples formatos de imagen: raw, iso, qcow2, vmdk (vmware), vdi (virtualbox)... Soporta contenedores de imagen: OVF (est´ andar abierto), AMI (amazon) 35 / 44 Miguel Vidal – Jose Castro IV. De la Virtualizaci´ on al Cloud Computing
OpenStack Nova Glance Swift Workflow del despliegue ´ Indice 1 Qu´ e es el Cloud Computing 2 Proyecto OpenStack 3 Fundamentos de OpenStack Nova Glance Swift Workflow del despliegue 36 / 44 Miguel Vidal – Jose Castro IV. De la Virtualizaci´ on al Cloud Computing
OpenStack Nova Glance Swift Workflow del despliegue Swift Proyecto m´ as antiguo y maduro de OpenStack. La evoluci´ on del servicio Cloud Files de Rackspace. Interact´ ua s´ olo tangencialmente con Nova (es opcional). Provee al cloud de un “contenedor de objetos” (object store) altamente escalable y redundante. 37 / 44 Miguel Vidal – Jose Castro IV. De la Virtualizaci´ on al Cloud Computing
OpenStack Nova Glance Swift Workflow del despliegue Swift: zonas Las zonas son un agrupamiento l´ ogico de servidores de almacenamiento (containers) mutuamente aisladas para protegerse de fallos. Se escriben m´ ultiples copias (“r´ eplicas”) de cada objeto a m´ ultiples servidores de almacenamiento en zonas separadas. Pueden ser aisladas en diferentes servidores, racks, secciones del datacenter o incluso diferentes datacenters. El n´ umero de r´ eplicas y de zonas para cada objeto es configurable. 38 / 44 Miguel Vidal – Jose Castro IV. De la Virtualizaci´ on al Cloud Computing
OpenStack Nova Glance Swift Workflow del despliegue Swift No debe confundirse con un sistema de ficheros; aunque funcionalmente es similar. No es accesible m´ as que a trav´ es de la API de Swift. Conceptualmente similar a servicio S3 de Amazon. 39 / 44 Miguel Vidal – Jose Castro IV. De la Virtualizaci´ on al Cloud Computing
OpenStack Nova Glance Swift Workflow del despliegue Im´ agenes: ecosistema 40 / 44 Miguel Vidal – Jose Castro IV. De la Virtualizaci´ on al Cloud Computing
OpenStack Nova Glance Swift Workflow del despliegue ´ Indice 1 Qu´ e es el Cloud Computing 2 Proyecto OpenStack 3 Fundamentos de OpenStack Nova Glance Swift Workflow del despliegue 41 / 44 Miguel Vidal – Jose Castro IV. De la Virtualizaci´ on al Cloud Computing
OpenStack Nova Glance Swift Workflow del despliegue Workflow para el despliegue 42 / 44 Miguel Vidal – Jose Castro IV. De la Virtualizaci´ on al Cloud Computing
OpenStack Nova Glance Swift Workflow del despliegue Bibliograf´ ıa Ken Pepple Deploying OpenStack. Creating Open Source Clouds (O’Reilly, 2011) Giovanni Toraldo, OpenNebula 3 Cloud Computing (Packt Publishing, 2012) VV.AA., OpenStack Operations Guide (OpenStack Foundation, 2013) 43 / 44 Miguel Vidal – Jose Castro IV. De la Virtualizaci´ on al Cloud Computing
OpenStack Nova Glance Swift Workflow del despliegue IV. De la Virtualizaci´ on al Cloud Computing Integraci´ on de Sistemas Miguel Vidal Jose Castro Twitter: @mvidallopez Twitter: @jfcastroluis M´ aster oficial en Software Libre 26 de abril 2013 44 / 44 Miguel Vidal – Jose Castro IV. De la Virtualizaci´ on al Cloud Computing