Cosas básicas que como técnicos de sistemas deberíamos conocer para que la Computación en la Nube no se nos vuelva nubarrones.

 

Uno de los grandes retos que tenemos los que estamos en el mundo TI es mantenernos siempre tan actualizados en nuestros conocimientos, como lo están nuestros sistemas. Probablemente os sonará esta situación: Estamos en la zona de coffee break haciendo un descanso con otros compañeros del trabajo, y en medio de la tertulia, alguien empieza a hablar de una nueva tecnología, utiliza términos que nos son completamente nuevos, nosotros ponemos cara de póker, seguimos más o menos la conversación, y luego nos volvemos locos consultando en la web para saber de qué iba aquello de lo que hablábamos.

 

Aunque las tecnologías de computación en la nube o “Cloud Computing” y todas las terminologías asociadas a ellas lleven ya entre nosotros casi una década, probablemente aún sigamos viéndonos en la situación que he citado antes, con relación a éstas, ya que es ahora cuando más auge están adquiriendo. Para un técnico de sistemas cuya empresa vaya a hacer la famosa “transición a la nube” es esencial que adquiera los conocimientos necesarios para poder defenderse en estos entornos.

 

Desde que empecé a impartir formaciones relacionadas con Cloud Openstack, hace unos ocho años, he observado que la principal demanda está enfocada en la formación “fundamental”. El escenario típico es: “Soy un técnico de sistemas trabajando con entornos on premises (locales), con sobrada experiencia en gestión de redes, almacenamiento y virtualización, pero necesito saber cómo readaptar esos conocimientos y cuáles son los nuevos que debo adquirir para poder trabajar con un entorno de Nube”.

 

Por ello, en todos los cursos que imparto relacionados con Cloud empiezo asentando las bases para que alguien lego en estas tecnologías sepa dónde nos situamos. Para este fin utilizo la definición que publicó en Septiembre de 2011 el National Institute of Standards and Technology (NIST) en el documento SP 800-145. Aquí se definen las bases de lo que debe ser cualquier entorno de Computación en la Nube. Se establece una clasificación vertical con tres modelos de servicio, una clasificación horizontal con cuatro modelos de despliegue, y cinco características esenciales que debe tener una Cloud. Vamos a comentar estos aspectos, y basándonos en ellos, vamos a definir qué características debemos conocer desde un perfil técnico.

 

cidAF2BEC3F-1301-49E6-A2FE-EB56FEEF38D9.png

Modelos de Servicio:

Infraestructura como Servicio (IaaS): El Consumidor de IaaS debe tener la capacidad de ejecutar Máquinas Virtuales (También podrían ser servidores físicos), y crear las Redes y Almacenamiento virtuales conectados a estos. También debe tener acceso a los sistemas operativos y aplicaciones instalados en dichas máquinas. En definitiva, tendríamos los mismos elementos que en una administración tradicional on premises, pero trabajando a través de las herramientas de la Cloud (Portal, Api, CLI…) que nos dan acceso a ésta, con independencia de la infraestructura física. Ejemplo típico de IaaS son las capas de computación, almacenamiento y red de Openstack, Azure o AWS.

 

Plataforma como Servicio (PaaS): El Consumidor de PaaS debe tener la capacidad de desplegar en la Cloud aplicaciones creadas con los lenguajes de programación, las librerías y los servicios disponibles en esta. No gestiona las máquinas virtuales, redes y almacenamiento que las soportan, pero tiene control total sobre estas aplicaciones, su configuración y las herramientas para implementarlas. Ejemplo de este tipo de Cloud sería Openshift, Cloud Foundry, Google App Engine o AWS Elastic Beanstalk.

 

Software como Servicio (SaaS): El consumidor tendrá acceso a aplicaciones para su uso propio, como Correo, Discos en Nube, Documentos, Aplicaciones de Contabilidad o incluso Salud, todo ello alojado en un entorno de Cloud que permite acceder a estas aplicaciones a través de dispositivos variados como móviles, tablets, navegadores, etc. El SaaS inunda hoy en día nuestro entorno ya que prácticamente el 100% de las apps que utilizamos en nuestros smartphones están basadas en este modelo. Ejemplo de este modelo de servicio son los conocidos Google Docs, Office 365 o Dropbox.

Modelos de Servicio Responsabilidad.png

 

Modelos de Despliegue:

 

Cloud Privada: La infraestructura está disponible para uso exclusivo de los consumidores de una única organización. Es un entorno multi propietario pero de ámbito local, gestionado por la propia organización, un partner externo, o una combinación de ambos. Puede estar ubicada dentro o fuera de las propias instalaciones. El ejemplo más común de este tipo de cloud es Openstack en su versión Open Source o las diferentes implementaciones que comercializan proveedores como RedHat o Ubuntu. También Microsoft ofrece Azure Stack, una Cloud On Premises basada en su ya conocida implementación pública Microsoft Azure.

 

Cloud Pública: La infraestructura está disponible para el público en general. Lo habitual es un modelo basado en pago por uso, aunque se pueden conseguir precios más económicos con reserva de recursos a medio o largo plazo. El proveedor ofrece múltiples ubicaciones físicas llamadas regiones y zonas de disponibilidad que facilitan al consumidor el cumplimiento de ubicación de datos y la alta disponibilidad de los mismos. Ejemplos de este tipo de cloud los encontramos en proveedores como Microsoft Azure, Amazon Web Services, Google Cloud, Oracle Cloud, IBM Cloud, etc. Estos proveedores ofrecen generalmente una capa gratuita muy interesante para evaluar cada uno de sus servicios. Podéis leer este artículo de nuestro blog donde los analizamos.

 

Cloud de Comunidad: La infraestructura está disponible para uso exclusivo de una comunidad específica de consumidores que tienen una serie de elementos comunes de seguridad, gobernanza de datos, políticas etc. Puede ser gestionada por varias organizaciones de dicha comunidad. A todos los efectos una Cloud de Comunidad podría ser uno de los modelos anteriores, Pública o Privada

 

Cloud Híbrida: La infraestructura es una composición de dos o más de los anteriores modelos de despliegue, que mantienen su identidad y autonomía, pero están conectados entre sí a través de canales seguros como VPN on enlaces propietarios. Este tipo de despliegue es cada vez más habitual ya que permite a las empresas tener cloud privada y ampliar sus recursos con una cloud pública cuando tienen un aumento de carga de trabajo, o simplemente externalizar parte de sus servicios. Ejemplos de soluciones para Cloud Híbrida proporcionados por los proveedores serían Azure Expressroute o AWS Direct Connect que ofrecen conexión directa y dedicada entre los recursos locales y en nube del cliente.

cid3E0A2728-604F-4037-AA81-138099819053.png

 

Características Esenciales:

 

Autoservicio Bajo Demanda: Los usuarios pueden provisionar servidores, redes y almacenamiento de manera sencilla y sin requerir interacción humana con el proveedor del servicio.

Acceso a través de red de los servicios: Cualquier recurso estará disponible en red a través de mecanismos estandarizados que permitan acceder a través de clientes heterogéneos (móviles, tablets, pc’s, etc)

Pool de Recursos: Los recursos de computación, red y almacenamiento, tanto físicos como virtuales, están disponibles para múltiples consumidores, usando un modelo multi propietario. Estos recursos se pueden asignar y reasignar dinámicamente. Se mantiene una independencia de la localización de estos.

Elasticidad: El provisionado de los servidores debe ser rápido y escalable, basado en las demandas de los usuarios, y con herramientas que permitan automatizarlo.

Medición de servicios: El consumidor debe tener disponibles herramientas para poder cuantificar el uso de recursos con el propósito de monitorizar o generar benchmarks.

 

La novela Dune de Frank Herbert comienza con una cita de la princesa Irulan muy reveladora: “Es en el momento de empezar cuando hay que cuidar atentamente que los equilibrios queden establecidos de la

manera más exacta”. Ahora que ya conocemos las características y modelos de Cloud es un buen momento para establecer por dónde podemos empezar a aprender.

 

Probablemente la primera pregunta es “Nube privada o pública?”. En mi caso concreto y por diversas circunstancias, comencé con Openstack, y debo decir que personalmente me ha venido muy bien porque todo lo que he aprendido con este modelo de Cloud Privada lo puedo aplicar perfectamente luego a los proveedores de Clouds Públicas que imparto en mis formaciones, de hecho, tengo comprobado por experiencia que la curva de aprendizaje de alguien que tenga conocimientos de Openstack para, por ejemplo aprender posteriormente a gestionar AWS o Azure, es muy corta. La ventaja de Openstack sobre todo está en lo sencillo que es crear una pequeña maqueta “all in one” que se puede utilizar en tu propio equipo personal para el aprendizaje. Yo uso la de RDO basada en entornos RedHat por su simplicidad. Por supuesto esto no quiere decir que comenzar a aprender Cloud Computing con una nube pública no sea adecuado, de hecho En nuestro caso también tenemos formaciones en Azure y AWS diseñadas para empezar a gestionarlas desde cero.

Elementos Básicos de Cloud.png

 

La pregunta que vendrá a continuación es “Y ahora que he seleccionado una Cloud, por dónde debo empezar a aprender?” En las formaciones que impartimos, la IaaS suele ser el punto de entrada a la iniciación en entornos de Nube, y la mayor demanda de cursos está centrada en este modelo de servicios. En cuanto a lo que debemos aprender dentro de IaaS y basándonos en las cinco características esenciales establecidas en el documento del NIST, en todos los casos de Clouds públicas y privadas con las que he trabajado, estas características esenciales generalmente se ofrecen al consumidor mediante un portal de autoservicio o consola, y una API con línea de comandos asociada. Por lo tanto, Este es el primer punto de contacto que vamos a tener. Los puntos genéricos que deberíamos aprender en cualquier formación básica de un entorno de Cloud son los siguientes:

 

• El acceso y uso del portal y la línea de comandos que serán nuestras herramientas esenciales.

• La gestión de identidad y control de acceso (Identity and Access Management, IAM) que todas las Clouds usan como mecanismo de seguridad.

• La implementación y gestión de los recursos disponibles en la Cloud, separando los tres planos bien diferenciados que tienen estos:

• Computación: Cómo crear, gestionar, reconfigurar y acceder a las máquinas virtuales o físicas.

• Redes: Implementación de redes virtuales en nube para poder usar las máquinas virtuales. Generalmente conocido como SDN (Software Defined Networking).

• Almacenamiento: Creación y gestión de discos virtuales que nos servirán para imágenes de arranque de las máquinas virtuales o de discos de datos para estas. Generalmente conocido como Almacenamiento definido por Software (Software Defined Storage).

• La Elasticidad, aprendiendo la creación de grupos de Auto escalado con reglas de monitorización para gestionar el número de máquinas virtuales, y cómo crear balanceadores de carga con éstas.

• Y por último, la automatización de recursos viendo los mecanismos de orquestación que ofrecen estos entornos de Cloud.

 

Conclusiones.

 

Comenzar a aprender una nueva tecnología no es algo sencillo, pero si tenemos claro el punto de partida, nos suele allanar mucho el camino. En este artículo me he basado en la introducción que hago siempre en nuestras formaciones de Cloud y que considero un buen punto de partida para saber por dónde empezar con estas tecnologías.

 

Por último, aprovecho para comentaros que en NEO IT estamos especializados en formación personalizada, presencial y en remoto para nuestros clientes y como parte de este compromiso impartimos con probado éxito formaciones de iniciación a Cloud Privada Openstack, y a Clouds Públicas Microsoft Azure y Amazon Web Services. El cambio de paradigma que nos traen estos tiempos está impulsando cada vez más a las empresas a la migración a la nube, principalmente por la ventaja de poder ser administrados remotamente. Ahora que estamos a punto de cambiar nuestros hábitos laborales, es un buen momento para formarse en este tipo de tecnologías para estar preparados..

 

Referencias:

 

The NIST definition of Cloud Computing

Un análisis y comparativa de los niveles gratuitos de los principales proveedores de servicios en la Nube.

The RDO Project. Openstack, packaged for and tested on CentOS

¿Quieres formarte en tecnologías Cloud?

Pedro López

Pedro López

Training Manager y Soluciones IT