Seminario Cloud Computing Granada, 20 al 22 de febrero de 2013 1
Infrastructure as a Service Isaac Triguero Velázquez Universidad de Granada Seminario Cloud Computing Granada, 20-22 de Febrero de 2013
Contenidos 1 Infrastructure as a Service (IaaS) 2 Diseño de un Iaas 3 Ejemplos de Iaas Isaac Triguero (UGR) Infrastructure as a Service Cloud Computing 2 / 60
Infrastructure as a Service (IaaS) Contenidos 1 Infrastructure as a Service (IaaS) Definición Por qué un Iaas? 2 Diseño de un Iaas 3 Ejemplos de Iaas Isaac Triguero (UGR) Infrastructure as a Service Cloud Computing 3 / 60
Infrastructure as a Service (IaaS) Definición Iaas en el cloud computing Es un modelo de abastecimiento de recursos hardware que son alquilados. La infraestructura como servicio es el nivel más bajo de la arquitectura. El usuario final es un administrador de sistemas. También definido como Hardware as a Service (Haas). Isaac Triguero (UGR) Infrastructure as a Service Cloud Computing 4 / 60
Infrastructure as a Service (IaaS) Definición Infraestructura como Servicio De qué se compone? Isaac Triguero (UGR) Infrastructure as a Service Cloud Computing 5 / 60
Infrastructure as a Service (IaaS) Definición Infraestructura como Servicio dónde se localiza? Formados por "granjas"de ordenadores interconectados (server farms). Distintas ubicaciones. Isaac Triguero (UGR) Infrastructure as a Service Cloud Computing 6 / 60
Infrastructure as a Service (IaaS) Definición Infraestructura como Servicio Qué servicios puede ofrecer un Iaas? Almacenamiento. Capacidades de cómputo. Sistemas operativos. Monitorización de recursos. Bases de datos. Balanceo de carga. Isaac Triguero (UGR) Infrastructure as a Service Cloud Computing 7 / 60
Infrastructure as a Service (IaaS) Definición Infraestructura como Servicio Características esperadas del servicio Alta disponibilidad de Hardware. El cliente no alquila partes físicas (discos duros, procesadores, etc), sino capacidad de computación que nunca se rompe, nunca se estropea. Recursos flexibles (procesador, memoria y disco). Redundancia de red, alimentación y almacenamiento. Isaac Triguero (UGR) Infrastructure as a Service Cloud Computing 8 / 60
Infrastructure as a Service (IaaS) Por qué un Iaas? Contenidos 1 Infrastructure as a Service (IaaS) Definición Por qué un Iaas? 2 Diseño de un Iaas Virtualización Almacenamiento Herramientas de control y gestión Servidores y Microprocesadores para Cloud Crea tu propio Iaas 3 Ejemplos de Iaas Amazon EC2: Rackspace Cloud GoGrid Otros Iaas Isaac Triguero (UGR) Infrastructure as a Service Cloud Computing 9 / 60
Infrastructure as a Service (IaaS) Por qué un Iaas? Por qué un Iaas? En un entorno local tradicional, un cliente debe: Compra de hardware según previsiones. (Centro de datos) Realizar un mantenimiento del hardware. (Averías, refrigeración, corriente eléctrica, actualizaciones...) Garantizar el servicio. Las desventajas de este entorno: El hardware puede quedar obsoleto. Las necesidades computacionales varían con el tiempo: Aumento volumen de datos, compatibilidad,... El volumen de negocio varía a lo largo del año. P. ej: Navidad. Isaac Triguero (UGR) Infrastructure as a Service Cloud Computing 10 / 60
Infrastructure as a Service (IaaS) Por qué un Iaas? Por qué un Iaas? Usar un Iaas, tiene como ventajas: El cliente simplemente contrata un determinado volumen de computación, y es la empresa proveedora quien se encarga de garantizar el servicio. El hardware es reparado y actualizado de forma transparente al cliente. El cliente paga por los recursos utilizados en cada momento. Escalabilidad. OJO: La disponibilidad garantizada por un Iaas tiene su precio. Isaac Triguero (UGR) Infrastructure as a Service Cloud Computing 11 / 60
Infrastructure as a Service (IaaS) Por qué un Iaas? Por qué un Iaas? Isaac Triguero (UGR) Infrastructure as a Service Cloud Computing 12 / 60
Infrastructure as a Service (IaaS) Por qué un Iaas? 640 kb ought to be enough for anybody Isaac Triguero (UGR) Infrastructure as a Service Cloud Computing 13 / 60
Contenidos 1 Infrastructure as a Service (IaaS) 2 Diseño de un Iaas Virtualización Almacenamiento Herramientas de control y gestión Servidores y Microprocesadores para Cloud Crea tu propio Iaas 3 Ejemplos de Iaas Isaac Triguero (UGR) Infrastructure as a Service Cloud Computing 14 / 60
Diseño de un Iaas El diseño es ahora problema de la empresa proveedora del Iaas. Se plantean nuevos retos de diseño. Un diseño eficiente para la infraestructura de la plataforma es determinante para minimizar los costes de: Mantenimiento Consumo energético Renovación del material Este diseño va desde la capa hardware hasta la capa de gestión de la infraestructura. Isaac Triguero (UGR) Infrastructure as a Service Cloud Computing 15 / 60
Diseño de un Iaas Suponiendo que somos un proveedor de Iaas: Los clientes piden diferentes: a qué problemas nos enfrentamos? Sistemas Operativos. Tamaños de almacenamiento. Anchos de banda.... Cuál sería un buena solución? Una máquina para cada cliente? Un conjunto de máquinas pre-configuradas? o... Isaac Triguero (UGR) Infrastructure as a Service Cloud Computing 16 / 60
Diseño de un Iaas Una máquina para cada cliente? Isaac Triguero (UGR) Infrastructure as a Service Cloud Computing 17 / 60
Diseño de un Iaas Un conjunto de máquinas pre-configuradas? Isaac Triguero (UGR) Infrastructure as a Service Cloud Computing 18 / 60
Diseño de un Iaas cómo solucionarlo? Virtualización de recursos. Otros aspectos importantes a tratar: Almacenamiento. Servidores y microprocesadores. Herramientas de control del sistema global. Isaac Triguero (UGR) Infrastructure as a Service Cloud Computing 19 / 60
Virtualización Contenidos 1 Infrastructure as a Service (IaaS) Definición Por qué un Iaas? 2 Diseño de un Iaas Virtualización Almacenamiento Herramientas de control y gestión Servidores y Microprocesadores para Cloud Crea tu propio Iaas 3 Ejemplos de Iaas Amazon EC2: Rackspace Cloud GoGrid Otros Iaas Isaac Triguero (UGR) Infrastructure as a Service Cloud Computing 20 / 60
Virtualización Virtualización Definición: Uso de recursos del ordenador para imitar otros recursos o arquitecturas de ordenador completas. Objetivo: Abstraer los recursos de una máquina, de modo trasparente para el usuario, ocultando los detalles técnicos mediante la encapsulación de los recursos. Isaac Triguero (UGR) Infrastructure as a Service Cloud Computing 21 / 60
Virtualización Virtualización Qué se puede virtualizar? Memoria Redes Almacenamiento Hardware Sistemas operativos Aplicaciones Isaac Triguero (UGR) Infrastructure as a Service Cloud Computing 22 / 60
Virtualización Virtualización: Ejemplo Isaac Triguero (UGR) Infrastructure as a Service Cloud Computing 23 / 60
Virtualización Virtualización: Conceptos básicos Host: Máquina física que alberga la herramienta de virtualización. Guest/s: Sistema operativo virtualizado. Hipervisor (o monitor de máquina virtual (virtual machine monitor)): Es la capa encargada de la abstracción entre la plataforma de hardware y los sistemas operativos "guests". Isaac Triguero (UGR) Infrastructure as a Service Cloud Computing 24 / 60
Virtualización Virtualización: Características Características que hacen a la virtualización fundamental para el Cloud Computing: Particionamiento: Muchas aplicaciones y sistemas operativos conviven un solo sistema físico mediante el particionamiento (separación) de los recursos disponibles. Individual: Cada máquina virtual es independiente del host físico. De modo que si una máquina virtual cae, no afecta al resto. Además los datos no son compartidos. Encapsulada: Una máquina virtual se puede representar como un solo fichero, por lo que es fácil identificar basándose en el servicio que provee. Éstas permiten desacoplar el software y el hardware. Isaac Triguero (UGR) Infrastructure as a Service Cloud Computing 25 / 60
Virtualización Virtualización: Tipos de Hipervisores Nativos (tipo 1): Se asientan directamente sobre el hardware. Hosted (tipo 2): Se ejecuta como una capa de software por encima del hardware. Isaac Triguero (UGR) Infrastructure as a Service Cloud Computing 26 / 60
Virtualización Virtualización: Enfoques Enfoques Completa (Full Virtualization) Paravirtualización Emulación Hardware A nivel de sistema operativo Isaac Triguero (UGR) Infrastructure as a Service Cloud Computing 27 / 60
Virtualización Virtualización Completa Ventajas: No modifica el Sistema Operativo subyacente. Inconvenientes: Peor rendimiento. Ejemplos: VMWare Server. Virtual Box. Qemu. Isaac Triguero (UGR) Infrastructure as a Service Cloud Computing 28 / 60
Virtualización Paravirtualización Ventajas: Mejor rendimiento. Facilita la migración. Inconvenientes: SO guests modificados. Ejemplos: Xen Hyper-V VMWare ESX (Monolítica) Isaac Triguero (UGR) Infrastructure as a Service Cloud Computing 29 / 60
Virtualización Emulación del Hardware Ventajas: Emular distintas plataformas hardware. P.ej: x86 sobre SPARC) Inconvenientes: Alto coste de traducción de cada una de las operaciones. Isaac Triguero (UGR) Infrastructure as a Service Cloud Computing 30 / 60
Virtualización Virtualización a nivel del Sistema Operativo Ventajas: Separación de los procesos de usuario prácticamente sin pérdida en el rendimiento. Inconvenientes: Comparten todos el mismo kernel: No se virtualiza el hardware. Ejemplos: OpenVZ Virtuozzo Isaac Triguero (UGR) Infrastructure as a Service Cloud Computing 31 / 60
Virtualización Virtualización: Comparativa de Software Isaac Triguero (UGR) Infrastructure as a Service Cloud Computing 32 / 60
Almacenamiento Contenidos 1 Infrastructure as a Service (IaaS) Definición Por qué un Iaas? 2 Diseño de un Iaas Virtualización Almacenamiento Herramientas de control y gestión Servidores y Microprocesadores para Cloud Crea tu propio Iaas 3 Ejemplos de Iaas Amazon EC2: Rackspace Cloud GoGrid Otros Iaas Isaac Triguero (UGR) Infrastructure as a Service Cloud Computing 33 / 60
Almacenamiento Almacenamiento en la nube Es necesario distinguir entre dos tipos de almacenamiento que se pueden dar en el cloud, Servicios puros de almacenamiento de datos en la nube. P. ej: Amazon S3 Datos generados dentro de un sistema cloud. P.ej: Máquinas virtuales (instancias) o datos generados por aplicaciones Saas. Los temas que se tratan a continuación son aplicables a ambos tipos de almacenamiento, si bien tecnológicamente algunas alternativas se ajustarán mejor a un tipo que a otro. Isaac Triguero (UGR) Infrastructure as a Service Cloud Computing 34 / 60
Almacenamiento La seguridad en el almacenamiento: Un elemento clave La seguridad de los datos en el cloud computing se centra en tres aspectos: Localización. Control. Transferencia. Los proveedores de cloud deben asegurar la seguridad y privacidad de los datos, aunque el usuario sea el responsable último de los mismos. Isaac Triguero (UGR) Infrastructure as a Service Cloud Computing 35 / 60
Almacenamiento Tipos de almacenamiento en la nube A alto nivel se pueden definir dos opciones de almacenamiento en la nube: Almacenamiento por Volúmenes: Consiste en un grupo de bloques asignados (con redundancia). Cuando se crea un volumen, el controlador de volumen asigna los bloques y los distribuye en la infraestructura de almacenamiento. Almacenamiento por Objetos (o archivos): Se estructura como un sistema híbrido de base de datos /archivos, con un gran número de procesos manteniendo un seguimiento de donde se almacena cada archivo En ambos casos el cliente final trabaja de forma trasparente como si de un disco duro normal se tratase. Isaac Triguero (UGR) Infrastructure as a Service Cloud Computing 36 / 60
Almacenamiento Qué tecnologías permiten el Cloud Storage? A un nivel más bajo hay tres tecnologías habituales que permiten implementar estos sistemas: Network Attached Storage (NAS): Almacenamiento a nivel de archivo compartido mediante un servidor dedicado que está conectado a una red. Acceso vía NFS, Samba o AFP. Storage Area Network (SAN): Almacenamiento a nivel de bloque, el dispositivo está directamente compartido sobre la red. Direct Attached Storage (DAS): Sistema en el que se conecta un disco duro directamente al ordenador sin que exista un dispositivo de red entre ellos. Las peticiones se realizan a nivel de bloque y existe un acceso concurrente. Muchos desarrolladores tienden más a NAS que a SAN, motivados por el precio y flexibilidad. Isaac Triguero (UGR) Infrastructure as a Service Cloud Computing 37 / 60
Almacenamiento Qué tecnologías permiten el Cloud Storage? Isaac Triguero (UGR) Infrastructure as a Service Cloud Computing 38 / 60
Almacenamiento Qué tecnología de almacenamiento es más apropiada? Dependiendo del tipo de servicio que se ofrezca puede ser más interesante ofrecer un sistema de almacenamiento por volúmenes o por objetos Servicios de tipo Iaas parece más interesante un sistema orientado a volúmenes ya que, al funcionar como un dispositivo real, se puede trabajar con el SO de la misma forma que cuando se trata de un sistema nativo. Si el servicio es de Software-as-a-Service puede resultar más interesante un sistema por objetos donde se almacenen los ficheros generados por el software. Isaac Triguero (UGR) Infrastructure as a Service Cloud Computing 39 / 60
Herramientas de control y gestión Contenidos 1 Infrastructure as a Service (IaaS) Definición Por qué un Iaas? 2 Diseño de un Iaas Virtualización Almacenamiento Herramientas de control y gestión Servidores y Microprocesadores para Cloud Crea tu propio Iaas 3 Ejemplos de Iaas Amazon EC2: Rackspace Cloud GoGrid Otros Iaas Isaac Triguero (UGR) Infrastructure as a Service Cloud Computing 40 / 60
Herramientas de control y gestión Seguridad para un Iaas El uso de máquinas virtuales complica las tareas de seguridad de un servidor típico. Si el host es inseguro, todos los demás dominios en el sistema serán vulnerables. qué se necesita?: Monitoreo de red: Control habitual de accesos indebidos. Monitoreo de Hipervisores: Detección de anomalías Gestión de roles de administración: Se deben definir los roles de administración del Hypervisor incluyendo creación, apagado, encendido, clonación, movimiento, etc. de las máquinas virtuales existentes. Isaac Triguero (UGR) Infrastructure as a Service Cloud Computing 41 / 60
Herramientas de control y gestión Herramientas de Control Control y gestión de servidores: Es necesario controlar la carga de red, memoria y espacio de almacenamiento de los servidores que conforman el Iaas. Ejemplos: Ganglia y Nagios. Gestión de la red de almacenamiento. Gestión del consumo de energía. Cloud Management. P. ej: Rightscale: http://www.rightscale.com Isaac Triguero (UGR) Infrastructure as a Service Cloud Computing 42 / 60
Servidores y Microprocesadores para Cloud Contenidos 1 Infrastructure as a Service (IaaS) Definición Por qué un Iaas? 2 Diseño de un Iaas Virtualización Almacenamiento Herramientas de control y gestión Servidores y Microprocesadores para Cloud Crea tu propio Iaas 3 Ejemplos de Iaas Amazon EC2: Rackspace Cloud GoGrid Otros Iaas Isaac Triguero (UGR) Infrastructure as a Service Cloud Computing 43 / 60
Servidores y Microprocesadores para Cloud Clasificación de servidores Atendiendo a la forma, uso y disposición de los componentes de los servidores, estos se pueden clasificar como: Servidores estándar: Se trata de un ordenador completo diseñado para un rack: Placa base, microprocesador, memoria, disco duro, fuente de alimentación... Servidores blade: Es un tipo de servidor específicamente diseñado para aprovechar el espacio, reducir el consumo y simplificar su explotación. Suelen contener tan solo placa base, microprocesador, memoria y buses. La fuente de alimentación, tarj. de red, USB, CD-ROM, discos, etc. son módulos independientes compartidos por todos ellos. Isaac Triguero (UGR) Infrastructure as a Service Cloud Computing 44 / 60
Diseño de un Iaas Servidores y Microprocesadores para Cloud Clúster de servidores estándar Ventajas: I I Los fallos hardware solo afectan al servidor en cuestión. Mayor flexibilidad. (configurable) Inconvenientes: I I Isaac Triguero (UGR) Infrastructure as a Service Amplio cableado: Interconexión de servidores, aportarles corriente y conexión KVM. Alto coste económico por máquina. Cloud Computing 45 / 60
Servidores y Microprocesadores para Cloud Servidores blade Ventajas: Más barato. Menor espacio y menor cableado. Inconvenientes: Los errores afectan a todos los blades. Menor flexibilidad. Isaac Triguero (UGR) Infrastructure as a Service Cloud Computing 46 / 60
Servidores y Microprocesadores para Cloud Microprocesadores Las grandes empresas de microprocesadores centran actualmente parte de sus esfuerzos en el diseño de microprocesadores para cloud computing. Un factor importante para la elección de un microprocesador en un cloud computing es el consumo energético del mismo. El uso de microprocesadores convencionales es una solución más económica pero a su vez más ineficiente. Otro factor determinante es la tecnología de virtualización subyacente. Isaac Triguero (UGR) Infrastructure as a Service Cloud Computing 47 / 60
Servidores y Microprocesadores para Cloud Tipos de microprocesadores Intel: La familia Xeon regula automáticamente el consumo energético a las necesidades de cómputo. VT FlexMigration. AMD: La familia Opteron contiene la tecnología AMD-P, un conjunto de características que pueden ayudar a reducir significativamente el consumo de energía, así como la tecnología AMD-V. Tilera: La serie TILE-Gx 3100 lanza un conj. de procesadores de baja frecuencia y por tanto bajo consumo. Usuarios de Linux: Para identificar si su CPU posee alguna tecnología de virtualización, busque el flag xvm (Intel) o el flag svm (AMD) en /proc/cpuinfo. Isaac Triguero (UGR) Infrastructure as a Service Cloud Computing 48 / 60
Crea tu propio Iaas Contenidos 1 Infrastructure as a Service (IaaS) Definición Por qué un Iaas? 2 Diseño de un Iaas Virtualización Almacenamiento Herramientas de control y gestión Servidores y Microprocesadores para Cloud Crea tu propio Iaas 3 Ejemplos de Iaas Amazon EC2: Rackspace Cloud GoGrid Otros Iaas Isaac Triguero (UGR) Infrastructure as a Service Cloud Computing 49 / 60
Crea tu propio Iaas Herramientas software para la implementación de un Iaas Existen diversas herramientas para crear tu propio Iaas: OpenNebula OpenStack Cloudstack Eucalyptus Isaac Triguero (UGR) Infrastructure as a Service Cloud Computing 50 / 60
Ejemplos de Iaas Contenidos 1 Infrastructure as a Service (IaaS) 2 Diseño de un Iaas 3 Ejemplos de Iaas Amazon EC2: Rackspace Cloud GoGrid Otros Iaas Isaac Triguero (UGR) Infrastructure as a Service Cloud Computing 51 / 60
Ejemplos de Iaas Amazon EC2: Amazon Elastic Compute Cloud (Amazon EC2) http://aws.amazon.com/es/ec2/ Amazon EC2 se presenta como un servicio web que ofrece: Virtualización bajo demanda, "ilimitada". Escalabilidad. Su infraestructura está distribuida en varias localidades de Estados Unidos y Europa, con el propósito de aumentar la disponibilidad de los servicios. Factura por hora de uso y ancho de banda consumido. Permite MVs basadas en Linux, OpenSolaris y Windows (32 y 64 bits). Isaac Triguero (UGR) Infrastructure as a Service Cloud Computing 52 / 60
Ejemplos de Iaas Amazon EC2: Amazon EC2 Usa virtualizacion con Xen. (Paravirtualización) Dispone de un conjunto MVs pre-configuradas llamadas Amazon Machine Images a las que se accede por ssh o escritorio remoto. Se une a Amazon S3 para permitir a los usuarios finales el almacenamiento de grandes volúmenes de datos en un sistema de almacenamiento distribuido. Isaac Triguero (UGR) Infrastructure as a Service Cloud Computing 53 / 60
Ejemplos de Iaas Amazon EC2: Amazon EC2: Instancias de cómputo Se ofertan distintos tipos de instancia dependiendo de las necesidades del usuario. Algunos ejemplos son: Instancia extragrande doble: con 30 GiB de memoria, 26 unidades EC2 (8 núcleos virtuales con 3,25 unidades EC2 cada uno), solo almacenamiento de EBS, plataforma de 64 bits. Cluster: 60,5 GiB de memoria, 88 unidades informáticas de EC2, 3 370 GB de almacenamiento de instancias local, plataforma de 64 bits, Ethernet de 10 Gigabits Cluster GPU: 22 GiB de memoria, 33,5 unidades informáticas EC2, 2 GPU NVIDIA Tesla Fermi M2050, 1690 GB de almacenamiento de instancias local, plataforma de 64 bits, Ethernet de 10 Gigabits EC2 Compute Unit (ECU) One EC2 Compute Unit (ECU) provides the equivalent CPU capacity of a 1.0-1.2 GHz 2007 Opteron or 2007 Xeon processor. Isaac Triguero (UGR) Infrastructure as a Service Cloud Computing 54 / 60
Ejemplos de Iaas Amazon EC2: Amazon EC2: Instancias de prueba Amazon tiene algunos servicios gratuitos que podemos utilizar en pocos pasos. 750 horas de uso de microinstancias Linux y Windows. 30 GB de Amazon Elastic Block Storage, más 2 millón de E/S y 1 GB de almacenamiento de instantáneas. Menú de configuración: https://console.aws.amazon.com/ec2 Un servidor linux de ejemplo: ssh -i prueba.pem ec2-user@ec2-107-20-131-8.compute-1.amazonaws.com Un servidor Windows de ejemplo: Escritorio remoto con RDP: Desde Windows usar Shortcut. Isaac Triguero (UGR) Infrastructure as a Service Cloud Computing 55 / 60
Ejemplos de Iaas Rackspace Cloud Rackspace Cloud http://www.rackspace.com/cloud Rackspace cloud ofrece distintos servicios de cloud: Cloud files Cloud servers Cloud sites Cloud monitoring Cloud databases Cloud block storage Basado en Openstack. Dos tipos de virtualizadores: Xen para instancias de linux, y Citrix XenServer para instancias de Windows. Isaac Triguero (UGR) Infrastructure as a Service Cloud Computing 56 / 60
Ejemplos de Iaas Rackspace Cloud Rackspace Cloud Servers Isaac Triguero (UGR) Infrastructure as a Service Cloud Computing 57 / 60
Ejemplos de Iaas GoGrid GoGrid http://www.gogrid.com Isaac Triguero (UGR) Infrastructure as a Service Cloud Computing 58 / 60
Ejemplos de Iaas Otros Iaas Otros Iaas Otros Iaas: Google Compute Engine https://cloud.google.com/products/compute-engine Azure. http://www.windowsazure.com MediaTemple. http://mediatemple.net/ Flexiscale. http://www.flexiscale.com/ Joyent Accelerator. http://joyent.com/ Isaac Triguero (UGR) Infrastructure as a Service Cloud Computing 59 / 60
Infrastructure as a Service Isaac Triguero Velázquez Universidad de Granada Seminario Cloud Computing Granada, 20-22 de Febrero de 2013