Vous êtes sur la page 1sur 13

Índice de contenido

Índice de contenido 1

Introducción 2

Quienes participaron en la construcción de este documento. 3

Objetivos, Alcances y Recomendaciones previas. 3


Conocimientos de S.O. Linux / *NIX / Windows. 3
Conocimientos asociados a Virtualización (nivel hypervisor). 4
Conocimientos asociados a Cloud públicas (AWS, GCCS, Bluemix, etc). 4

¿Que es OpenStack? 5
Cloud Computing 5
OpenStack 7
Principios fundacionales 7
Componentes 8
Ejemplo típico de funcionamiento: lanzar una instancia 9

Vínculos de contenido audiovisual 10

Glosario 11
01. Introducción
Telefónica se encuentra atravesando un proceso de transformación a nivel global, el cual
impacta de forma transversal en todos los procesos de la corporación, impulsando una
ideología de eficiencia que impulsa a que reinventemos nuestros procesos y forma de
trabajar de forma permanente.

Dado lo anterior, es que debemos detenernos y replantear nuestra forma de hacer las
cosas, con el fin de lograr una mejora sustancial cuantificable al corto - mediano plazo.

Las aristas de trabajo son variadas y van desde la operación en el dia a dia, pasando por
procesos de análisis e investigación, hasta la mantención física de los componentes de la
red.
02. Quienes participaron en la construcción de
este documento.
El equipo multidisciplinario que ha trabajando en la recolección, interpretación y validación
de los contenidos se compone de integrantes de distintos equipos dentro de la Subgerencia
de Configuración y Soporte de Red y Servicios y la Subgerencia de Valor Agregado.

Aldo Santos, Juan Antonio Escobar, Eduardo Celis, Marcelo Rolle, Patricio Gatica, Gonzalo
Lagunas, Iván Campos, Pedro Sepulveda, Victor Cheuquenao, Rolando Rojas, Carlos
Fuentealba.

03. Objetivos, Alcances y Recomendaciones


previas.
El objetivo de este documento es plantear y establecer un marco teórico del que y como
OpenStack son una opción válida para administrar recursos virtualizados dentro de una
empresa.

En esta oportunidad el alcance será trabajar en replantearnos la forma de operar nuestra


infraestructura de procesamiento y optimizar tanto el uso como las actividades que
realizamos sobre éste.

Nuestra recomendación para participar de este proyecto en su versión inicial o futuras


ediciones es que se cumpla con cierto nivel de conocimiento y experiencia asociada a
sistemas informáticos y gestión de networking.

De no contar con dichos conocimientos, el proceso se podrá realizar de igual forma, sin
embargo, existirán áreas de desconocimiento que tomará más tiempo de interiorizar y que
tal vez no se encuentre abordado en estos documentos.

1. Conocimientos de S.O. Linux / *NIX / Windows.

El participante deberá contar con conocimiento de sistemas basados en *nix, linux y MS


Windows.
Deberá desenvolverse de manera rápida y con experiencia en distintas casuísticas que se
presentarán en su entorno de trabajo (solución de problemas de filesystem, networking,
gestión de aplicaciones, servicios y demonios, gestión de paquetes de instalación, entre
otros).
2. Conocimientos asociados a Virtualización (nivel hypervisor).

El participante deberá entender que es un Hypervisor, cual es su función dentro de una


capa de computo y cuales son los beneficios y desventajas que este sistema puede generar
en su entorno de implementación.

3. Conocimientos asociados a Cloud públicas (AWS, GCCS,


Bluemix, etc).

El participante deberá tener claridad de los conceptos de nubes públicas, los tipos de
servicios asociados y su utilización (de forma básica).
04. ¿Que es OpenStack?
OpenStack es una plataforma cloud computing de software libre que en tan solo tres años
de desarrollo se ha convertido en una de las principales opciones para implementar un
cloud de IaaS público o privado.

Contenido audiovisual: ​Tutorial de OpenStack​ ​(​url​: ​https://goo.gl/dXG23e​ )

Cloud Computing

El término cloud computing es un término bastante amplio y en algunas ocasiones confuso,


pero está de moda porque suena bien y ahora mismo cualquier producto nuevo que salga al
mercado suele llevar el nombre de "... cloud", se trate o no de un producto propiamente de
cloud computing. Es por ello por lo que comenzamos este documento enunciando las
características esenciales del cloud computing según la NIST ​:

● Servicio disponible de forma automática y a demanda: Un usuario puede comenzar a


utilizar un recurso de cloud (almacenamiento, una instancia, etc.) sin ninguna
intervención por parte de un operador de la empresa que presta el servicio.
● Acceso a través de la red: Los recursos están disponibles a través de la red (Internet
o otro tipo de red pública o privada), mediante mecanismos estandarizados que
permitan el uso de clientes diversos, desde teléfonos a grandes ordenadores.
● Los recursos se agrupan en pools en un modelo multi-tenancy. Los recursos son
compartidos en general por múltiples clientes, que pueden disponer de ellos a
demanda y a los que se les debe garantizar aislamiento y seguridad, a pesar de
estar haciendo uso de recursos compartidos.
● Elasticidad: Es un concepto nuevo relacionado con el cloud y que lleva al extremo el
concepto de escalabilidad, ya que los recursos del usuario del cloud pueden crecer y
decrecer de forma rápida en función de sus necesidades.
● Pago por uso: La utilización real que hace el usuario de los recursos y no una
tarificación por tramos es lo que define el pago de los servicios de cloud.

Los servicios que se ofrezcan a los usuarios que cumplan estos requisitos se pueden
considerar propiamente cloud computing y puesto que son requisitos bastante amplios,
normalmente se clasifican en función del tipo de servicio que ofrezcan en tres capas: SaaS,
PaaS e IaaS.

● Software as a Service (SaaS): Aplicación completa ofrecida como servicio en la


nube. Es el ejemplo más conocido y usado de cloud computing en el que cualquier
usuario hace uso de un determinado software de una empresa a través de Internet,
como por ejemplo los servicios de Google, microsoft Office 365 y un larguísimo
etcétera.
● Platform as a Service (PaaS): Aplicación completa para el desarrollo y despliegue de
software. Los desarrolladores de software pueden optar por utilizar una plataforma
en la nube para sus desarrollos, facilitandoles mucho la tareas de pruebas y
despliegue. Algunas de las opciones más conocidas de PaaS son Google App
Engine, Windows Azure, Red Hat OpenShift o Heroku. Obviamente esta capa de
cloud es sólo para desarrolladores o empresas que se dedican al desarrollo,
pudiendo ser obviada por el resto de usuarios.
● Infrastructure as a Service (IaaS): Principalmente almacenamiento y capacidades de
cómputo (máquinas virtuales) ofrecidos como servicio en la nube. Los
administradores de sistemas de todo el mundo pueden hoy en día plantearse montar
un servicio en una máquina física, una máquina virtual o una instancia en el cloud,
ofreciendo esta última unas opciones muy interesantes sobre todo para despliegues
de demanda variable. Los servicios de cloud IaaS más conocidos son los de Amazon
Web Services, RackSpace Cloud, Joyent o Windows Azure.

La capa más completa y compleja de todas es la de IaaS y será en la que nos centremos en
este documento. Un aspecto que estaba implícito desde el principio en las características
del Cloud computing es que es un servicio que una empresa ofrece a terceros, pero las
interesantes tecnologías subyacentes a la forma de trabajar en cloud, hicieron que hace
algunos años distintas empresas y organismos se planteasen utilizar la misma forma de
trabajo pero con sus propios recursos, de manera que también se suele distinguir no sólo la
capa sino también el ámbito de uso del cloud en:

● Público: Una empresa ofrece servicios a terceros, encargándose de toda la gestión


del Cloud.
● Privado: Una organización configura sus propios recursos de forma mucho más
flexible en una nube.
● Híbrido Algunos servicios se gestionan en el cloud privado y otros se transfieren a
uno público, o incluso haciendo uso de la elasticidad del cloud se pasan recursos de
la nube privada a la pública en función de las necesidades. Estos clouds
normalmente utilizan una API común que permita una buena integración.

Hay soluciones tanto de software privativo como de software libre que permiten implementar
un cloud IaaS, pero de entre todas ellas destaca OpenStack.

OpenStack

El proyecto OpenStack se define así mismo como una plataforma de cloud computing hecha
con software libre para desplegar nubes públicas y privadas, desarrollada con la idea de ser
sencilla de implementar, masivamente escalable y con muchas prestaciones. OpenStack
proporciona una solución de Infraestructura como servicio (IaaS) a través de un conjunto de
servicios interrelacionados.

Principios fundacionales

OpenStack no depende de una sola empresa, sino que se ha constituido una fundación, la
OpenStack Foundation , cuyos miembros son elegidos entre todos los participantes y cuyos
principios se resumen en los siguientes puntos:

● Licencia Apache 2.0, no existe versión "enterprise".


● Proceso de diseño abierto.
● Repositorios públicos de código fuente.
● Todos los procesos de desarrollo deben estar documentados y ser transparentes.
● Orientado para adoptar estándares abiertos.
● Diseño modular que permite flexibilidad mediante el uso de APIs.

Componentes

OpenStack no es un solo producto, sino un conjunto de aplicaciones que pueden


combinarse en función de las características y necesidades de cada caso, hay algunos
componentes fundamentales y otros opcionales. Este esquema de funcionamiento difiere
mucho de soluciones "llave en mano", normalmente privativas que incluyen un conjunto más
o menos fijo de componentes muy bien integrados entre sí pero poco flexible. OpenStack
tiene una gran flexibilidad y permite implementar un cloud privado en una pequeña empresa
o algunos de los mayores clouds públicos del mundo, como contrapartida, exige que la
persona encargada de la implementación y la administración del cloud tenga suficientes
conocimientos en todas o la mayor parte de tecnologías subyacentes. Cada componente de
OpenStack es totalmente autónomo y funcional y utiliza el protocolo AMQP de gestión de
colas para comunicarse con el resto de componentes y una API web RESTful para
comunicarse con procesos "externos" o los usuarios. Los principales componentes de
OpenStack son:

Nombre Equivalente en AWS Funcion

Horizon Console Panel web de gestión

Nova EC2 Gestión de instancias

Cinder ENS Almacenamiento de volúmenes

Keystone - Autenticación y autorización

Swift S3 Almacenamiento de objetos

Glance VM Import/Export Gestión de imágenes para las


instancias

Neutron VPC Redes virtuales

Contenido audiovisual: ​Introducción a Neutron​ ​(​url​: ​https://goo.gl/JmSZXV)

Ejemplo típico de funcionamiento: lanzar una instancia

Dependiendo de los componentes de cada cloud y de si estos están en el mismo o


diferentes equipos, o incluso del número de estos componentes que hay en el cloud, se
hará más o menos complejo el proceso de lanzar una instancia, pero a grosso modo
podríamos resumirlo en los siguientes pasos:
● Un usuario se autentica en Keystone, bien directamente o a través del panel web
Horizon. De esta manera obtiene un token de sesión que le permitirá realizar
acciones con el resto de componentes de OpenStack sin necesidad de volver a
autenticarse y estas acciones estarán limitadas por los permisos del rol que tenga
asignado el usuario en Keystone.
● El usuario solicita a Glance la lista de imágenes disponibles. Estas imágenes las
tendrá alojadas glance directamente en el equipo que se ejecuta o bien serán
objetos almacenados en Swift.
● El usuario selecciona una imagen y solicita a Nova que la “instancie”, para lo que
nova le pedirá las características de la instancia (ram, disco, vcpu, etc.) y una vez
recibidas las características, elegirá el nodo del cloud más adecuado para ejecutar la
instancia.
● De la configuración de la red virtual donde se encuentra situada la instancia se
encarga Neutron (antes conocido como Quantum), permitiendo no sólo que se
pueda acceder a la instancia desde fuera, a través de la denominada IP flotante,
sino incluso de la configuración de redes complejas.
Vínculos de contenido audiovisual
Como material fundamental, quisimos añadir contenido vía YouTube® que de seguro será
de apoyo para la comprensión de forma didáctica y permitirá reforzar los temas.

Vínculo​: ​Lista de reproducción con información acerca de NFVi, OpenStack, Contenedores.


(url: ​https://goo.gl/ZKUK73)

Distribuidos de la siguiente forma:

OpenStack Training Virtualización

Que es y por que OpenStack

Componentes de OpenStack

Arquitectura de OpenStack

Servicios de OpenStack

Casos de estudio

Casos de éxito

OpenStack Neutron (Networking) Que es OpenStack

Arquitectura de OpenStack

OpenStack Neutron

Entendiendo Neutron

Creando una red en Neutron

Acceso remoto a través de IP flotante

Instalación de OpenStack Que es OpenStack

Instalación de OpenStack
Glosario

API​: Application Programing Interface, interfaz de interacción entre sistemas

AWS​: Amazon Web Services (solución de nube privada de Amazon.com).

Bare-metal​: Servidor físico sin S.O. instalado o que cumple una función específica (sin
Virtualización)

CCP​: Cloud Computing Platform (Plataforma de cómputo en la nube)

Ceph​: Sistema de almacenamiento remoto distribuido

Chef​: Herramienta de configuración y publicación de nuevo código de programación.

Cinder​: Módulo de OpenStack para el manejo de Bloques de Storage (Ej.: Sistemas de


almacenamiento distribuido (Ceph))

Cloud​: Definición de servicio de computación deslocalizada (procesamiento,


almacenamiento, transaccionales, etc)

Container​: Un sistema operativo liviano, dependiente de un s.o. base, el cual permite


aislar ciertos contenidos o estructura de funcionamiento del s.o. base. Comparte su kernel

curl​: Herramienta de descarga e interacción con protocolos remotos como: http, https, ftp,
scp, entre otros (generalmente disponible en entornos Linux, *NIX)

GIT:​ Herramienta de seguimiento de cambios de código.

GCCP​: Google Cloud Computing Platform

Glance​: Módulo de OpenStack que disponibiliza las imágenes

GUI​: Graphical User Interface (interfaz de interacción de alto nivel entre el usuario y el
sistema final)

HA​: High Availability (alta disponibilidad)

Horizon​: Módulo de OpenStack para la administración del sistema (GUI)


Hypervisor​: Sistema operativo base que permite administrar, controlar y hospedar nodos
virtuales (Ej.: KVM, VirtualBox, ESXi, XenServer, Hyper-V)

Hiper-V:​ Hypervisor de Microsoft.

IaaS​: Infrastructure as a Service (Ej.: OpenStack)

Imagen [ref. S.O.]​: ISO de sistema operativo previamente instalado, que cuenta con todos
los ​features​ que se requiera para ser ​booteado​ de forma instantánea

Instance (Instancia)​: Máquina Virtual (VM)

JSON​: JavaScript Object Notation, estructura (formato) de datos para transferencia de


información entre sistemas

Jenkins​: Herramienta de test de codigo de programación.

Keystone​: Módulo de OpenStack que gestiona la Identidad (seguridad, autenticación)

KVM​: Kernel-based virtual Machine (Hypervisor de Linux).

MAAS​: (Metal as a Service) es la definición del modelo de administrar infraestructura de


forma orquestada (clusters de servidores administrado por un controlador).

MySQL​: Base de datos ​“gratis”

Neutron​: Módulo de OpenStack que gestiona el Networking (virtual o remoto)

NFV​: Network Function Virtualization (concepto teórico de servicio de red virtualizado)

NFVi​: Network Function Virtualization Infrastructure (infraestructura como servicio, ej.:


OpenStack)

Nova​: Módulo de OpenStack que gestiona la capa de cómputo

OpenStack​: Es un conjunto de proyectos que permiten satisfacer la demanda por acceso a


servicios de nube virtual privada

Python​: Lenguaje de programación

RabbitMQ​: Es un software de manejo de colas (queues) para orquestar requerimientos sin


perder el “hilo” de las transacciones

S.O.​: Sistema operativo


SaaS​:Software as a Service (Software como servicio), es la definición de suites de
softwares disponibles a través de la nube sin necesidad de instalación y mantenimiento
local (Ej.: GMail, Outlook 365, SAP, SuccessFactors, etc)

SDN​: Software Defined Networks (funciones de redes virtualizadas en base a software:


vLB, vFW, vRouter, vSwitch)

SON​: Self-optimized Networks.

Swift​: Módulo de OpenStack para el manejo de Objetos (Ej.: discos duros de VM de forma
local, en cada servidor)

VM / Virtual Machine​: Máquina virtual (Guest host)

VNF​: Virtualized Network Function (sistema que hace la función de red)

Xen (Server)​: Hypervisor de Citrix.

Vous aimerez peut-être aussi