Subido por Edzon Gaitán

Monografia-Computacion en la nube (Autoguardado)

Anuncio
UNIVERSIDAD TECNOLÓGICA DE PANAMÁ
FACULTAD DE INGENIERÍA DE SISTEMAS COMPUTACIONALES
BASE DE DATOS
MONOGRAFÍA
LA COMPUTACIÓN EN LA NUBE Y LAS DIFERENTES PLATAFORMAS DE
SERVICIO IMPLEMENTADAS POR EMPRESA
INTEGRANTES:
VICTOR GONZALEZ
EDZON GAITAN
NOMBRE DEL ASESOR:
DRA. LILIA MUÑOZ
2016
UNIVERSIDAD TECNOLÓGICA DE PANAMÁ
FACULTAD DE INGENIERÍA DE SISTEMAS COMPUTACIONALES
BASE DE DATOS
MONOGRAFÍA
LA COMPUTACIÓN EN LA NUBE Y LAS DIFERENTES PLATAFORMAS DE
SERVICIO IMPLEMENTADAS POR EMPRESA
ASESOR:
DRA. LILIA MUÑOZ
INTEGRANTES:
VICTOR GONZALEZ
EDZON GAITAN
2016
AGRADECIMIENTO
Agradecemos a la profesora Lilia Muñoz por todo su apoyo, su tiempo, su
confianza y su comprensión durante las clases y a la hora de evaluar este trabajo.
Gracias por compartir con nosotros sus conocimientos y su colaboración.
II
DEDICATORIA
A NUESTRAS FAMILIAS
Dedicamos esta tesis principalmente a nuestras familias por apoyarnos cuando
lo necesitamos, ya que siempre estuvieron ahí ante cualquier situación durante
todos estos años de estudio, desde el colegio hasta la universidad velando por
nuestro bien y ayudándonos a cumplir nuestras metas.
A NUESTROS AMIGOS Y COMPAÑEROS DE TRABAJO:
Por compartir con nosotros todos estos años de estudio y de crecimiento tanto
personal como profesional, por sus consejos, su apoyo en las buenas y en las
malas, por ayudarnos a pesar de las distancias y contratiempos.
III
ÍNDICE
CAPÍTULO I. GENERALIDADES DE COMPUTACIÓN EN NUBE
1.1CONCEPTO ..................................................................................................... 7
1.2 CARACTERÍSTICAS ......................................................................................... 8
1.2.1 Auto-servicio por demanda ................................................................... 8
1.2.2 Conjunto de recursos ............................................................................ 8
1.2.3 Rápida elasticidad ................................................................................. 8
1.2.4 Servicio medido .................................................................................... 9
1.2.5 Acceso amplio desde la red .................................................................. 9
1.3 NIVELES DE LA COMPUTACIÓN EN LA NUBE ....................................................... 9
1.3.1 Nube publica ......................................................................................... 9
1.3.2 Nube privada....................................................................................... 10
1.3.3 Nube hibrida........................................................................................ 11
1.4 MODELOS DE IMPLEMENTACIÓN ..................................................................... 12
1.4.1 Software como servicio (SaaS) ........................................................... 12
1.4.2 Plataforma como Servicio (PaaS) ....................................................... 13
1.4.3 Infraestructura como Servicio (IaaS) .................................................. 13
CAPITULO
II.
DIFERENTES
IMPLEMENTADAS POR EMPRESA
PLATAFORMAS
DE
SERVICIO
2.1 PRINCIPALES PROVEEDORES DE SERVICIOS DE DESARROLLO EN LA NUBE ......... 15
2.1.1 Amazon.com Inc. ................................................................................ 15
2.1.2 Google Inc........................................................................................... 16
2.1.3 IBM .................................................................................................... 16
2.1.3 MICROSOFT ..................................................................................... 17
2.1.3 RED HAT ............................................................................................ 17
2.2 CARACTERÍSTICAS PARA LAS PLATAFORMAS ANALIZADAS ................................ 18
2.2.1 Escalabilidad automática .................................................................... 18
2.2.2 BluePrints/Imágenes para acelerar el aprovisionamiento ................... 20
2.2.3 Soporte para múltiples lenguajes ........................................................ 21
2.2.4 Soporte para almacenamiento de datos ............................................ 22
2.2.5 Soporte para Colas y Servidores Web ............................................... 25
2.2.6 Alternativas de Hipervisores .............................................................. 26
2.2.7 Soporte en Sistemas operativos Windows .......................................... 27
2.2.8 Soporte en Sistemas operativos Linux................................................ 27
2.2.9 Tabla de plataformas en la nube por empresa ................................... 28
CONCLUSION.................................................................................................... 30
REFERENCIAS .................................................................................................. 31
IV
RESUMEN
Dentro del presente trabajo se abordan los diferentes puntos como los
conceptos, características, niveles y modelos de implementación de la
computación en la nube, cabe destacar en este último punto se verán las una
pequeña reseña de diferentes empresas desarrolladoras de plataformas de
servicios como lo son Amazon, Google, IBM, Red Hat y Microsoft para pasar
a comparar las principales características que comparten entre sí.
V
INTRODUCCION
Se solía utilizar aplicaciones instaladas en nuestras propias computadoras, así
como almacenar archivos y datos de todo tipo sobre ellos. En el entorno
empresarial, este escenario es un poco diferente, ya que es más fácil encontrar
aplicaciones disponibles en los servidores que pueden ser asequibles por
cualquier terminal autorizado a través de una red. La principal ventaja de este
modelo es de hecho posible, al menos en la mayoría de los casos, utilizar las
aplicaciones, incluso sin acceso a Internet o de la red. En otras palabras, puede
utilizar estos recursos modo fuera de línea. Sin embargo, todos los datos
generados serán restringidas a ese equipo, excepto cuando red compartida, que
no es muy común en el hogar. Incluso en el entorno empresarial, esto puede
generar algunas limitaciones tales como la necesidad de tener una licencia de
un software en particular para cada equipo, por ejemplo. Este escenario ha
creado la situación ideal para el surgimiento de la Computación en la Nube, con
estas muchas aplicaciones, así como los datos de archivo y afines, no es
necesario ser instalados o almacenados en el ordenador o en un servidor del
próximo. Este contenido se pasa que se disponga en "nubes", es decir, la de
Internet. El proveedor de la aplicación encajar todas las tareas desarrollo,
almacenamiento,
mantenimiento,
actualización,
copia
de
seguridad,
programación entre otros; con esto el usuario no tiene que preocuparse de nada
de esto, sólo tiene que acceder y utilizar los diferentes servicios a su disposición.
VI
CAPÍTULO I. GENERALIDADES DE COMPUTACIÓN EN NUBE
1.1
Concepto.
El Instituto Nacional de Estándares y Tecnología y su laboratorio de tecnología
información, NIST por el acrónimo en idioma inglés, han definido la Computación
en la nube de la siguiente manera: “Computación en la nube es un modelo para
habilitar acceso conveniente por demanda a un conjunto compartido de recursos
computacionales configurables, por ejemplo, redes, servidores, almacenamiento,
aplicaciones y servicios, que pueden ser rápidamente aprovisionados y liberados
con un esfuerzo mínimo de administración o de interacción con el proveedor de
servicios.”
Como se puede ver, es un nuevo modelo de prestación de servicios de negocio y
tecnología, que permite incluso al usuario acceder a un catálogo de servicios
estandarizados y responder con ellos a las necesidades de su negocio, de forma
flexible y adaptativa, en caso de demandas no previsibles o de picos de trabajo,
pagando únicamente por el consumo efectuado, o incluso gratuitamente en caso
de proveedores que se financian mediante publicidad o de organizaciones sin
ánimo de lucro. El cambio que ofrece la computación desde la nube es que permite
aumentar el número de servicios basados en la red. Esto genera beneficios tanto
para los proveedores, que pueden ofrecer, de forma más rápida y eficiente, un
mayor número de servicios, como para los usuarios que tienen la posibilidad de
acceder a ellos, disfrutando de la ‘transparencia’ e inmediatez del sistema y de un
modelo de pago por consumo. Así mismo, el consumidor ahorra los costes
salariales o los costes en inversión económica (locales, material especializado,
etc.).
7
1.2
Características
Existen varios modelos de nubes que varían en concepto según el autor, en este
caso la NIST lo promueve según su disponibilidad:
1.2.1 Auto-servicio por demanda
Un consumidor puede aprovisionar de manera unilateral capacidades de cómputo,
tales como tiempo de servidor y almacenamiento en red, en la medida en que las
requiera sin necesidad de interacción humana por parte del proveedor del servicio.
1.2.2 Conjunto de recursos
Los recursos computacionales del proveedor se habilitan para servir a múltiples
consumidores mediante un modelo “multi-tenant”, con varios recursos tanto físicos
como virtuales asignados y reasignados de acuerdo con los requerimientos de los
consumidores. Existe un sentido de independencia de ubicación en cuanto a que
el consumidor no posee control o conocimiento sobre la ubicación exacta de los
recursos que se le están proveyendo, aunque puede estar en capacidad de
especificar ubicación a un nivel de abstracción alto; por ejemplo, país, estado o
centro de datos. Algunos ejemplos incluyen almacenamiento, procesamiento,
memoria, ancho de banda y máquinas virtuales.
1.2.3 Rápida elasticidad
Las capacidades pueden ser rápidamente y elásticamente aprovisionadas, en
algunos casos automáticamente, para escalar hacia fuera rápidamente y también
rápidamente liberadas para escalar hacia dentro también de manera veloz. Para
el consumidor, estas capacidades disponibles para aprovisionar a menudo
aparecen como ilimitadas y pueden ser compradas en cualquier cantidad en
cualquier momento.
8
1.2.4 Servicio medido
Los sistemas en la nube controlan automáticamente y optimizan el uso de
recursos mediante una capacidad de medición a algún nivel de abstracción
adecuado al tipo de servicio; por ejemplo, almacenamiento, procesamiento, ancho
de banda y cuentas de usuario activas. El uso de estos recursos puede ser
monitoreado, controlado y reportado, proporcionando transparencia tanto para el
proveedor como para el consumidor por el servicio utilizado.
1.2.5 Acceso amplio desde la red
Las capacidades están disponibles sobre la red y se acceden a través de
mecanismos estándares que promueven el uso desde plataformas clientes
heterogéneas, pesadas o livianas, como el PC, un teléfono móvil o un navegador
Internet.
1.3
Niveles de la computación en la nube
1.3.1 Nube Publica
Es un término que hace referencia a una “infraestructura que está disponible para
el público en general o para un gran sector de la industria, y es provista por una
organización que comercializa servicios a demanda”.
Cuando esa infraestructura es básica es decir que se refiere a equipamiento sin
software ni servicios asociados hablamos de Infraestructura como servicio (un
ejemplo de esta oferta es Amazon o IBM Blue Cloud); en cambio, cuando además
se ofrece un sistema operativo, una base de datos y algunos servicios de
administración y mecanismos automatizados de escalabilidad y facturación por
uso, se hace referencia a una Plataforma como Servicio (por ejemplo, Windows
Azure, Google App Engine o Sun Cloud). La nube pública es entonces un
conjunto compartido de recursos, que sirven a muchas organizaciones, con un
grupo compartido de recursos de proceso definidos por la relación entre un
proveedor del servicio y un cliente. Pueden entregarse servicios como
aplicaciones de productividad, o recursos de Infraestructura como servicio (IaaS
por sus siglas en inglés) en ejecución en máquinas virtuales en un servicio de
9
10
nube disponible solo para usuarios autenticados registrados y administrados de
manera remota por profesionales que trabajan para el cliente. En otros casos, el
proveedor de nube puede entregar toda la administración día a día de recursos
de proceso como parte de un servicio PaaS.
El beneficio de este paradigma se resume en el ahorro de costos (no hay
inversión inicial en equipamiento o licencias de software), y en la agilidad con
que varía la utilización de recursos de TI; mientras avanza la adopción de este
modelo, la industria trabaja para resolver algunos desafíos referidos a la
seguridad, la interoperabilidad y la portabilidad de la información.
Por esto, y por algunas dificultades que persisten en los sistemas de pago, en la
actualidad son más las empresas que se orientan a la nube privada que aquellas
que avanzan hacia la nube pública. Las plataformas de nube pública permiten a
gobiernos, empresas y organizaciones de diversa índole montar sus
aplicaciones, pero también existen aplicaciones disponibles genéricas listas para
usar, como Office 365 o Intune de Microsoft, Google Apps o Microsoft Dynamics
Online, entre otras. En el modelo de nube pública que no debe confundirse con
nube comunitaria- habitualmente hay cargos variables según diferentes criterios:
tiempo de uso, volumen de tráfico, cantidad de usuarios concurrentes o visitas,
etc. En cualquier caso, el modelo de pago escala según el éxito del sitio o las
aplicaciones que se coloquen en la nube.
1.3.2 Nube Privada
Un centro de datos completamente virtualizado con autoservicio y automatización.
El autoservicio y la automatización son las capacidades fundamentales para
aumentar la agilidad y diferenciarse de un centro de datos virtualizado.
Las Entidades corporativas y gubernamentales medianas y grandes implementan
una nube privada para alcanzar mayor agilidad comercial, incrementar la
eficiencia y adquirir una ventaja competitiva.
En un ambiente de TI tradicional, el software de aplicaciones y el hardware
10
compatible son provisionados, administrados y financiados en sistemas aislados
y, por lo general, implementados durante meses. Una infraestructura de nube
privada permite el acceso a una variedad de recursos de TI en cuestión de minutos
u horas y alinea los costos con el consumo real.
Permite a la organización iniciar proyectos con mayor rapidez, aprovechar
rápidamente nuevas funcionalidades y oportunidades de ingresos y responder
ágilmente a los cambios del mercado; y esto hace que la TI deje de ser un centro
de costos y se convierta en un socio estratégico.
1.3.3 Nube Hibrida
El modelo híbrido combina los modelos anteriormente descritos, sobre nubes
públicas y privadas, de manera que se aprovecha la ventaja de localización física
de la información gestionada por las nubes privadas con la facilidad de ampliación
de recursos de las nubes públicas.
Las principales cuestiones a vigilar en este modelo son la privacidad y la
protección de datos, al igual que en la nube pública.
Las nubes híbridas consisten en combinar las aplicaciones propias de la empresa
con las consumidas a través de la nube pública, entendiéndose también como la
incorporación de servicios de computación en la nube a las aplicaciones privadas
de la organización. Esto permite a una empresa mantener el control sobre las
aplicaciones críticas para su negocio y aprovechar al mismo tiempo las
posibilidades ofrecidas por los servicios ofertados por la nube en aquellas áreas
donde resulte más adecuado.
Parece que actualmente este tipo de nubes está teniendo buena aceptación en
las empresas, por lo que se están desarrollando software de gestión de nube que
permita controlar la nube privada e incorporar al mismo tiempo recursos y
servicios de proveedores públicos de Cloud Computing.
11
1.4 Modelos de implementación
Cuando nos referimos a desarrollar e implementar aplicaciones en la nube
tenemos que remarcar de qué manera lo vamos a hacer, ya que dentro del
concepto nube existen distintas formas de hacerlo que nos permiten una mayor
flexibilidad a la hora de desplegar nuestras aplicaciones o mantenerlas. Entre
estas distintas formas que puede adoptar los distintos modelos la nube se
encuentran: Software as a Service (SaaS), Plataform as a Service (PaaS) y
Infraestructure as a Service (IaaS) así como se puede apreciar en la Figura 1.1
.
Figura 1.1 Modelo de capas de implementación de plataformas en la nube
12
1.4.1 Software como servicio (SaaS)
Del inglés software as a service, SaaS, se encuentra en la capa más alta y
caracteriza una aplicación completa ofrecida como un servicio, por-demanda, vía
multitenencia —que significa una sola instancia del software que corre en la
infraestructura del proveedor y sirve a múltiples organizaciones de clientes. Las
aplicaciones que suministran este modelo de servicio son accesibles a través de
un navegador web -o de cualquier aplicación diseñada para tal efecto- y el usuario
no tiene control sobre ellas, aunque en algunos casos se le permite realizar
algunas configuraciones. Esto le elimina la necesidad al cliente de instalar la
aplicación en sus propios computadores, evitando asumir los costos de soporte y
el mantenimiento de hardware y software. Ejemplos populares de Saas son
Google Docs, Salesforce, Dropbox, Gmail
Plataforma como Servicio (PaaS)
Del inglés platform as a service, PaaS, es la capa del medio que se muestra en la
Figura 1.1, esta provee la encapsulación de una abstracción de un ambiente de
desarrollo y el empaquetamiento de una serie de módulos o complementos que
proporcionan, normalmente, una funcionalidad horizontal (persistencia de datos,
autenticación, mensajería, etc.). De esta forma, un arquetipo de plataforma como
servicio podría consistir en un entorno conteniendo una pila básica de sistemas,
componentes o APIs pre configuradas y listas para integrarse sobre una
tecnología concreta de desarrollo (por ejemplo, un sistema Linux, un servidor web,
y un ambiente de programación como Perl o Ruby). Las ofertas de PaaS pueden
dar servicio a todas las fases del ciclo de desarrollo y pruebas del software, o
pueden estar especializadas en cualquier área en particular, tal como la
administración del contenido.
Ejemplos comerciales son Google App Engine, que sirve aplicaciones de la
infraestructura Google; Microsoft Azure, una plataforma en la nube que permite el
desarrollo y ejecución de aplicaciones codificadas en varios lenguajes y
13
tecnologías como .NET, Java y PHP o la Plataforma G, desarrollada en Perl.
Servicios PaaS como éstos permiten gran flexibilidad, pero puede ser restringida
por las capacidades disponibles a través del proveedor.
En este modelo de servicio al usuario se le ofrece la plataforma de desarrollo y las
herramientas de programación por lo que puede desarrollar aplicaciones propias
y controlar la aplicación, pero no controla la infraestructura.
1.4.2 Infraestructura como Servicio (IaaS)
Del inglés infrastructure as a service IaaS, la infraestructura como servicio también
llamada en algunos casos hardware as a service, HaaS) se encuentra en la capa
inferior y es un medio de entregar almacenamiento básico y capacidades de
cómputo como servicios estandarizados en la red. Servidores, sistemas de
almacenamiento, conexiones, enrutadores, y otros sistemas se concentran (por
ejemplo, a través de la tecnología de virtualización) para manejar tipos específicos
de cargas de trabajo desde procesamiento en lotes (“batch”) hasta aumento de
servidor/almacenamiento durante las cargas pico. El ejemplo comercial mejor
conocido es Amazon Web Services, cuyos servicios EC2 y S3 ofrecen cómputo y
servicios de almacenamiento esenciales (respectivamente). Otro ejemplo es
Joyent, cuyo producto principal es una línea de servidores virtualizados, que
proveen una infraestructura en demanda altamente escalable para manejar sitios
web, incluidas aplicaciones web complejas escritas en Python, Ruby, PHP y Java.
14
CAPITULO
II.
DIFERENTES
IMPLEMENTADAS POR EMPRESA
2.1
PLATAFORMAS
DE
SERVICIO
Principales proveedores de servicios de desarrollo en la nube
2.1.1 Amazon.com Inc.
Amazon.com Inc. es uno de los principales proveedores de servicios de desarrollo
de nubes. Esta corporación ha invertido mucho tiempo y dinero en la creación de
pequeños servidores al servicio de su página web, estos recursos de hardware
están siendo puestos a disposición de los desarrolladores.
La Computación elástica en la nube (EC2 acrónimo del inglés Elastic Cloud
Computing) es un servicio web comercial para desarrolladores y compañías que
les permite el alquiler en una nube dentro de los servidores de Amazon. Una de
sus características principales de EC2 es el despliegue de aplicaciones
escalables. Con esto permite a sus clientes solicitar un número determinado de
maquina virtuales, en las que puede cargar cualquier aplicación que este
desee.
Un cliente puede crear, iniciar y poner fin a las instancias de demanda del servidor,
logrando así una verdadera elasticidad.
2.1.2 Google Inc.
Los servicios se presentan en forma de App Engine que permite ejecutar
aplicaciones web en la infraestructura de Google. Las aplicaciones desarrolladas
con esta tecnología son fáciles de construir, de fácil
mantenimiento, y con muy buena escalabilidad cuando el tráfico y las necesidades
de almacenamiento aumentan.
Algunas de las ventajas que ofrece el uso del servicio de App Engine de Google
son: pagar por lo que se usa, no hay costos de establecimiento, los recursos
utilizados (ancho de banda y almacenamiento) se miden por gigabytes, los precios
son competitivos, además de permitir control del importe máximo de los recursos
que consume la aplicación. El servicio gratuito se limita a 500 MB de
15
almacenamiento, CPU y ancho de banda, suficientes para soportar 5 millones de
visitas al mes. El consumo por encima de estos límites requiere de facturación
(implican costos).
App Engine incluye algunas características como son:

Web de servicios dinámicos

Almacenamiento persistente con consultas, ordenación y transacciones.

Escala automática y balance de carga

Soporte para todas las tecnologías web comunes

API para la autentificación de usuarios y envió de correo electrónico utilizando
cuentas Google.

Un usuario desarrolla la aplicación (mediante Google API y en cualquiera de
los dos lenguajes Java o Python) y la sube a la nube de App Engine, una vez
ahí, está lista para ser utilizado por los usuarios.
2.1.3 IBM
IBM es una de las compañías más fuertes a nivel mundial en lo referente a
hardware de computación de nivel, lo cual le da la posibilidad de ofrecer
soluciones de cómputo en la nube. Esta compañía centra sus esfuerzos en las
pequeñas y medianas empresas con una suite de servicios basados en la nube
en demanda a través Blue Cloud. Un ejemplo de oferta que ofrece Blue Cloud es
la serie denominada IBM Express Advantage que incluye datos de copia de
seguridad y recuperación, la continuidad de correo electrónico y archivos, además
de funcionalidades de seguridad.
IBM proporciona la carga de trabajo basado mayormente en código abierto.
Incluye también herramientas de virtualización lo que la posicionan como una de
las empresas más confiables para el modelo de IaaS.
16
2.1.4 MICROSOFT
En su caso, WINDOWS AZURE es una plataforma de nube abierta y flexible que
permite compilar, implementar y administrar aplicaciones rápidamente en una red
global de centros de datos administrados por Microsoft. Puede compilar
aplicaciones en cualquier lenguaje, herramienta o marco, permitiendo además
integrar sus aplicaciones de nube públicas con el entorno de TI existente. Algunas
de sus principales características de la plataforma Windows Azure son:

Alto nivel de servicio

Abierto

Servidores ilimitados

Almacenamiento ilimitado

Gran capacidad
2.1.5 RED HAT
OpenShift es la oferta de plataforma como servicio para Computación en la nube
de Red Hat en esta plataforma los desarrolladores de aplicaciones pueden
construir, desplegar, probar y correr sus aplicaciones. Proporciona espacio en
disco, recursos de CPU, memoria, conectividad de red y un servidor Apache o
JBoss. Dependiendo de la aplicación, también proporciona acceso a una plantilla
de sistema de archivos para esos tipos (por ejemplo, PHP, Python y Ruby/Rails).
También proporciona herramientas de desarrollo integradas para apoyar el ciclo
de vida de las aplicaciones, incluyendo la integración de Eclipse, JBoss Developer
Studio, Jenkins, Maven y GIT. OpenShift utiliza un ecosistema de código abierto
para proporcionar servicios clave de la plataforma de aplicaciones móviles
(Appcelerator), servicios No SQL (MongoDB), servicios de SQL (PostgreSQL,
MySQL), y más. JBoss proporciona una plataforma de middleware empresarial
para aplicaciones Java, proporcionando apoyo para Java EE6 y servicios
integrados tales como transacciones y mensajes, que son fundamentales para las
aplicaciones empresariales.
17
2.2 Características para las plataformas analizadas
A continuación, se presenta las características para las plataformas analizadas
según su Escalabilidad automática, BluePrints/Imágenes para acelerar el
aprovisionamiento, Soporte para lenguajes, Soporte para almacenamiento de
datos, Soporte para Colas y Servidores Web, Alternativas de Hipervisores,
Soporte en Windows y Linux.
2.2.1 Escalabilidad automática (AutoScaling)
Le permite mantener la disponibilidad de la aplicación y aumentar o reducir
automáticamente la capacidad de Amazon EC2 según las condiciones que defina.
Puede utilizar Auto Scaling para asegurarse de que está ejecutando la cantidad
deseada de instancias de Amazon EC2. También puede incrementar
automáticamente el número de instancias de Amazon EC2 durante los picos de
demanda para mantener el desempeño y reducir la capacidad durante los
periodos de calma en la demanda para minimizar los costos. Auto Scaling resulta
adecuado tanto para aplicaciones con patrones estables de demanda como para
aquellas aplicaciones que muestran variaciones de uso según la hora, el día o la
semana. Ejemplos de estos proveedores más evolucionados son las plataformas
Amazon EC2 Cloudwatch, Windows Azure Autoscaling application Block, que
otorgan la posibilidad de definir los criterios y o umbrales que determinarán las
reglas de escalabilidad que dispararán los mecanismos necesarios para
incrementar o decrementar la cantidad de recursos de hardware virtualizados que
serán asignados a las aplicaciones, de manera que estas puedan cumplir
ajustándose dinámicamente a la demanda de sus clientes.
En particular, Google está diseñado para alojar aplicaciones multi usuarios.
Cuando una aplicación puede atender a múltiples usuarios sin degradar el
rendimiento, se dice que esta aplicación es escalable. Las aplicaciones escritas
escalan en forma automática, si más personas utilizan la aplicación, el App Engine
permitirá más recursos para esta aplicación y administra el uso de estos recursos.
18
A diferencia de los servicios de alojamiento tradicionales o servidores que uno
puede administrar, con Google App Engine, sólo paga por los recursos utilizados.
El pago es por recursos de CPU, almacenamiento mensual, ancho de banda
utilizado y distintos recursos dentro del App Engine es lo que se factura. Para
iniciar, Google App Engine proporciona cierta cantidad de recurso gratis, perfecto
para aplicaciones pequeñas con bajo tráfico.
La escalabilidad RedHat OpenShift permite que una aplicación reaccione a
cambios en el tráfico y automáticamente re-distribuya los recursos disponibles.
Si la aplicación es no-escalable, el “cartridge” web o principal sólo ocupa un “gear”.
Si es escalable, hasta tres: “cartridge” web, “cartridge” embebido y HAProxy
Si el tráfico aumenta, el “gear” HAProxy comprueba si hay un gear
libre y crea una copia del web “cartridge” web. Si el tráfico disminuye, el HAProxy
elimina el “gear” innecesario. Sin embargo, el arquitecto de una aplicación que se
ejecuta en la plataforma OpenShift no cuenta con la posibilidad de definir cuáles
serán los umbrales que dispararán los mecanismos de escalabilidad automática.
En el caso de IBM SmartCloud, los nodos individuales que participan en la consola
de procesos o en el servidor de búsqueda son totalmente escalables. Pueden
añadirse más nodos para ampliar el rendimiento del componente de análisis. Para
mejorar el rendimiento de almacenamiento y de búsqueda, se añaden nuevos
nodos de búsqueda. Se pueden añadir nodos de consola de procesos para
abarcar un aumento de usuarios conectados simultáneamente.
La plataforma de IBM también brinda cierta flexibilidad para definir reglas de
escalabilidad.
19
2.2.2 BluePrints / Imágenes para acelerar el aprovisionamiento
Se componen de máquinas virtuales que ya tienen un sistema operativo y los
aplicativos o marcos de trabajo (frameworks) instalados y pre configurados, para
que sea más rápido comenzar a trabajar en la plataforma, permitiendo al usuario
final focalizarse en la construcción o despliegue de sus aplicaciones.
Un ejemplo popular de blueprint es llamado “LAMP”, imagen de máquina virtual
conformada por Linux Apache MySQL y PHP.
Amazon con su plataforma EC2 tiene la mayor oferta de imágenes para acelerar
el aprovisionamiento de los proveedores analizados, contando con casi 2000
plantillas de máquinas virtuales con diferentes configuraciones.
Otro proveedor que brinda buenas soluciones en este aspecto es Microsoft Azure,
que otorga la posibilidad de acelerar el aprovisionamiento de máquinas virtuales
con diferentes sistemas operativos y configuraciones listadas en una galería,
brindando además la posibilidad de crear las propias imágenes de máquinas
virtuales personalizadas para que se adecúen perfectamente a las necesidades
de sus clientes. Aunque Microsoft Azure virtualiza sus entornos con su hipervisor
Hiper-V, otorga igualmente la posibilidad de convertir máquinas virtuales de
VMware de manera que se puedan subir y utilizar en la plataforma Windows
Azure, facilitando considerablemente la migración de aplicaciones existentes a su
plataforma.
Google App Engine, en cambio, no brinda la posibilidad de acelerar el
aprovisionamiento de entornos puesto que su plataforma es Infraestructura como
servicio (IaaS); esto implica que App Engine no otorga la posibilidad de crear
máquinas virtuales propias ni tampoco utilizar otras existentes. Existe un nuevo
servicio de Google llamado Google App Compute que otorga la posibilidad de
crear máquinas virtuales basadas en el sistema operativo Linux y tiende a otorgar
servicios de plataforma como servicio (PaaS), sin embargo, esta plataforma aún
se está gestando y no ha alcanzado un grado de madurez siquiera comparable
20
con las plataformas que en este estudio se tratan y analizan. La plataforma abierta
de Red Hat, OpenShift, permite gestionar y acelerar el aprovisionamiento de
máquinas virtuales por medio de su producto RHC (Red Hat Client), y el uso de
lenguajes de scripting, mayoritariamente en lenguaje Bash, bajo el sistema
operativo Red Hat Linux.
IBM SmartCloud brinda también las herramientas para que sus usuarios puedan
acelerar el aprovisionamiento de entornos en su Plataforma como servicios,
otorgando 10 tamaños de instancias diferentes para sus máquinas virtuales de
manera que se puedan ajustar a los requerimientos de sus aplicaciones.
Asimismo, brinda 3 modelos de licenciamiento: máquinas virtuales preconfiguradas con la modalidad de pago basado en el uso, acceder a las imágenes
utilizando licencias propias ya adquiridas, o subir programas de software de IBM
bajo la modalidad “traer software y licencias propias (del inglés” Bring Your Own
Software and License”).
2.2.3 Soporte para múltiples lenguajes
El soporte dedicado para distintos lenguajes de programación es transcendental
al momento de escoger una plataforma, puesto que es un factor limitante en
cuanto a las posibilidades que un proveedor puede ofrecer, y que sus clientes
pueden explotar. En este aspecto, Amazon EC2 ofrece múltiples opciones que
cubren los principales lenguajes y plataformas de desarrollo del mercado actual.
Estas opciones se derivan del soporte y compatibilidad de la plataforma con gran
cantidad de versiones de sistemas operativos cubriendo desde aplicaciones .net
escritas en C#, aplicaciones Java multiplataforma, aplicaciones C++, aplicaciones
Ruby, y también lenguajes interpretados como Perl y Python.
Microsoft Windows Azure, por su parte, brinda soporte para los lenguajes .Net
(C#, Vb.net, J#, Asp.net, etc), Java (tanto con máquinas virtuales con sistema
operativo Microsoft Windows, como también con Sistemas operativos basados en
Kernel Linux, tales como Ubuntu u OpenSUSE), Node.js para ejecutar código
21
javascript del lado del servidor (por su expresión en inglés “server side”), y también
Python. Podrían soportarse además otros lenguajes y plataformas utilizando
imágenes de máquinas virtuales propias, por ejemplo, las VMware, convertidas a
su equivalente Windows Azure definida como disco duro virtual (por su acrónimo
en inglés “VHD”, de Virtual Hard Disc). Las opciones que ofrece Google
AppEngine para soporte de lenguajes se encuentran restringidas exclusivamente
a Python y java, con la opción añadida de Google, que aún se encuentra en fase
alpha.
OpenShift incrementa las opciones de lenguajes soportados por App Engine,
concediendo la posibilidad de implementar aplicaciones desarrolladas en Java,
Ruby, node.js, Python, PHP y Perl; sin embargo, dadas las limitaciones de sistema
operativo que se derivan dado que se trata de una plataforma abierta, y al no
soportar sistemas operativos basados en Windows, no es posible implementar en
OpenShift aplicaciones Win32 u otras basadas en .Net Framework, con lenguajes
como C#, J#, Vb.net, Asp.net, etc. Este hecho descarta a un sector del mercado
que prefiere las plataformas Microsoft como opción para desarrollar sus
aplicaciones. IBM SmartCloud restringe las posibilidades de soporte nativo en su
plataforma para los lenguajes Java y PHP, aunque visto que es posible hacer uso
de imágenes de máquinas virtuales soportadas por múltiples hipervisores, sería
también posible implementar aplicaciones desarrolladas en otros lenguajes tales
como aplicaciones .net (C#, J#, Asp.net, Vb.net, etc), aplicaciones PHP, Python y
otros lenguajes, aumentando su potencial de lenguajes para múltiples
plataformas, de manera que permite cubrir un segmento más amplio del mercado
de aplicaciones.
2.2.4 Soporte para almacenamiento de datos
Esta particularidad define cuáles son los medios físicos que ofrecen las
aplicaciones probadas para la persistencia de datos. Los servicios de la
plataforma Amazon EC2 se recalcan por sus alternativas de almacenamiento de
datos, puesto que cuenta con varias opciones aprovechables que pueden ser
22
utilizadas de manera independiente por sus clientes en función de las necesidades
puntuales que cada aplicación que tenga que cubrir. Algunas de ellas son:
Amazon Simple Storage Service, que facilita una interfaz de servicios web
(generalmente basadas en los protocolos REST o SOAP sobre HTTP) que puede
utilizarse para almacenar y recuperar prácticamente cualquier cantidad de datos
desde cualquier parte de la Web. Hace uso de la misma infraestructura
(económica, escalable, y segura) que utiliza Amazon para tener en funcionamiento
su propia red internacional de sitios web. Este servicio tiene como fin maximizar
las ventajas del escalado y trasladar estas ventajas a los desarrolladores. Otra
opción de almacenamiento de datos dada por Amazon EC2 consiste en Amazon
Relational DB Service, que ofrece servicios de bases de datos relacionales, las
cuales son altamente compatibles con la amplia mayoría de las aplicaciones ya
existentes y con las técnicas de persistencia de datos más populares del mercado
(maximizando los recursos humanos disponibles con conocimientos de estas
técnicas y bases de datos basadas en esta clase de tecnología). Amazon EC2
asimismo ofrece el servicio Amazon SimpleDB, que es un almacén de datos no
relacionales de alto recurso y flexible que no requiere trabajo de administración
de bases de datos por parte de los clientes. Los desarrolladores claramente
almacenan elementos de datos y los examinan mediante solicitudes de servicios
Web (en general utilizando APIs basadas en el protocolo REST o SOAP).
Además, Amazon ofrece soporte para varias versiones de SQL Server, que
conceden primordialmente la posibilidad de formar aplicaciones que persistan sus
datos utilizando las tecnologías de Microsoft SQL para efectuar su propósito.
Algunas aplicaciones que suelen hacer uso más habitual de los motores de base
de datos SQL Server, son aquellas plataformas dirigidas a tecnologías .Net y PHP.
Windows Azure en este aspecto ofrece 3 tipos de warehouse de datos. Uno para
dar soporte a SQL Relacional, que permite que las aplicaciones ya desarrolladas
se puedan adaptar y adaptarse fácilmente a la nube sin necesidad de modificar
sus capas de acceso a datos (por los conectores y consultas), y tampoco modificar
23
el modelo de datos de la base de datos ya disponible.
Para las aplicaciones nuevas o aquellas que quieran aplicar técnicas de
reingeniería para utilizar tecnologías tales como los productos NoSQL, Azure
ofrece almacenes de tablas NoSQL permitiendo el almacenamiento de grandes
cantidades de datos no estructurados, que se pueden escalar automáticamente
para satisfacer un rendimiento y volumen masivos de hasta 100 terabytes,
accesibles prácticamente desde cualquier lugar a través de REST y las API
administradas. La última opción que ofrece Microsoft Windows Azure para el
acopio de datos reside en Blobs no organizados, que otorgan la posibilidad de
recopilar ingentes conjuntos de múltiples tipos de datos.
El App Engine de google por su parte sugiere una excelente opción para dar
solución a la persistencia de datos, consistente en una base de datos no relacional
conocida como “Big Table”. Si bien Google es precursor en esta tecnología, su
mercado competitivo ha avanzado a pasos agigantados y todos sus proveedores
competidores de servicios cloud ofrecen actualmente muchas más opciones para
dar solución a la persistencia de datos. Como resultado de esto, AppEngine no
soporta bases de datos relacionales, lo cual entorpece y dificulta la migración de
aplicaciones existentes habituales a su plataforma.
La aplicación basada en RedHat, está diseñada, basada y pensada para
aplicaciones que corren sobre sistemas operativos Linux, no ofrece la posibilidad
de persistir datos en bases de datos SQL Server de Microsoft, pero sí ofrece
distintas opciones de persistencia de datos relacionales. Además, ofrece también
la posibilidad de persistencia de datos en un motor de base de datos NoSQL.
La oferta de IBM SmartCloud para el almacenamiento de datos es amplia. Otorga
la posibilidad de utilizar almacenes de bases de datos relacionales, como el motor
IBM DB2, Oracle, Microsoft SQL Server, Informix y Sybase. Con respecto a los
productos NoSQL, SmartCloud implementa almacenes de datos basados en
productos muy populares como por ejemplo Hadoop.
24
2.2.5 Soporte para Colas y Servidores Web
Esta característica define cuáles serán los valores brindados por las diferentes
aplicaciones. Una cola es una estructura de datos, caracterizada por ser una
secuencia de elementos en la que la operación de inserción push se realiza
por
un extremo y la operación de extracción pop por el otro. También se le llama
estructura FIFO (del inglés First In First Out), debido a que el primer elemento en
entrar será también el primero en salir.
En líneas generales, todos los proveedores de servicios cloud ofrecen un único
producto para implementar técnicas de Colas. En el caso de la plataforma Amazon
EC2, cuenta con un producto propietario cuyo nombre comercial es Amazon
Simple Queue Service. Google App Engine también ofrece un producto propietario
comercializado como App Engine Task Queue.
OpenShift implementa soluciones para colas con IronMQ que es un producto de
colas pensado para aplicaciones que corren en la nube, el cual basa sus
comunicaciones en los protocolos HTTP/Rest, brindando además soporte para
JSON. IBM SmartCloud ofrece un producto de colas propietario con el cual ya
contaba en su suite WebSphere, y que es comercializado como WebSphere
Message Broker.
En el caso de los Servidores Web esta característica permite evaluar cuáles son
las opciones de servidores web (del inglés web server) ofrecidas por cada
proveedor. Un servidor web o servidor HTTP es un programa informático que
procesa una aplicación del lado del servidor realizando conexiones bidireccionales
y/o unidireccionales, y síncronas o asíncronas con el cliente generando o
cediendo una respuesta en cualquier lenguaje o Aplicación del lado del cliente.
Algo similar ocurre con la estrategia elegida por los proveedores para dar solución
a las necesidades de servidores Web: la mayoría de los proveedores ofrecen una
única alternativa para publicar aplicaciones web, tales son el caso de Google App
Engine, con Jetty Web Server, Red Hat OpenShift con Apache Server, o IBM
SmartCloud con WebSphere Application Server. Otros casos como Amazon EC2
y Microsoft Windows Azure ofrecen al menos dos alternativas para dar soporte a
25
las aplicaciones web, y esto se deriva de que estas plataformas soportan múltiples
lenguajes, algunos de los cuales que no pueden compatibilizar sus ejecuciones
en los mismos servidores Web, como por ejemplo aplicaciones Web de Microsoft
(Asp.net) que requieren el servidor web Internet Information Server, y aplicaciones
web Java, que requieren Servidores de tipo Apache/Tomcat.
2.2.6 Alternativas de Hipervisores
Un hipervisor (del inglés hypervisor) o monitor de máquina virtual (virtual machine
monitor) es una plataforma que permite aplicar diversas técnicas de control de
virtualización para utilizar al mismo tiempo diferentes sistemas operativos en una
misma computadora. Esta característica es crucial y determinante para el modelo
de negocio ofrecido por los proveedores de servicios cloud, puesto que en función
de las alternativas de virtualización que estos ofrecen, se deriva la facilidad de
portabilidad de máquinas virtuales que contienen las aplicaciones ya existentes
en los datacenters (on premise) de sus potenciales clientes a sus entornos Cloud.
En muchos casos, aplicar reingeniería para migrar las aplicaciones o instalarlas y
adaptarlas en nuevas plataformas puede demandar mucho tiempo y resultar
costoso en extremo. De allí se desprende la relevancia de esta característica.
Amazon EC2, al igual que Google App Engine y OpenShift, utiliza hipervisores
basados en XEN y LXC (Linux Containers) IBM SmartCloud, en cambio, ofrece
muy buenas capacidades de virtualización, soportando múltiples hipervisores que
van desde VMware, Hyper-V hasta otros basados en XEN. Windows Azure, por
su parte, trabaja con Windows Azure hipervisor, que se trata de una versión de
Hyper-V (el conocido y tradicional hipervisor de Microsoft) ajustada y optimizada
para la virtualización en la nube. Adicionalmente, Microsoft permite (como se
mencionó con anterioridad) la posibilidad de migrar máquinas virtuales de VMware
a formatos aceptados por este virtualizador, de manera que brinda también una
alternativa de compatibilidad con esta tecnología.
26
2.2.7 Soporte en Sistemas operativos Windows
Esta característica permite evaluar la capacidad de implementar sistemas o
aplicaciones de usuarios finales que operen bajo Sistemas Operativos Windows,
y en caso afirmativo, también definir cuáles de sus versiones son soportadas.
Todas las plataformas vistas dan soporte a entornos basados en Windows a
excepción de la App Engine de Google y el Open Shift de Red Hat, esto se pueda
deber a la creciente competencia de estas 2 compañías por acaparar el mercado.
2.2.8 Soporte en Sistemas operativos Linux
Esta característica permite evaluar la capacidad de implementar sistemas o
aplicaciones de usuarios finales que operen bajo Sistemas Operativos Linux, y en
caso afirmativo, también definir cuáles de sus versiones son soportadas. En este
caso todas las plataformas vistas ofrecen soporte para el sistema operativo Linux
o sus diferentes distribuciones basados en el mismo a excepción de la App Engine
de Google que da acceso limitado al sistema operativo en pro de permitir
distribuya peticiones web para la aplicación en varios servidores, así como
también iniciar y detener los servidores para satisfacer las demandas de tráfico.
La caja de arena (traducción literal del término en inglés "Sandbox") aísla la
aplicación en su propio entorno seguro y confiable que es independiente del
hardware, sistema operativo y la ubicación física del servidor web.
27
2.2.9 Tabla de plataformas en la nube por empresa
Muchas de las plataformas de estos proveedores proponen servicios análogos
que pueden ser explotados con diversos lenguajes de programación y plataformas
de desarrollo. Es por ello que se considera necesario realizar un cotejo acerca de
los servicios y características ofrecidos por los principales proveedores de las
tecnologías mencionadas en las siguientes tablas 1.1 y 1.2:
Plataforma €
Característica
↓
Servidor Web
Alternativas de
hipervisores
Soporte para
Colas
Amazon EC2
 Apache
 IIS
 Otros
Microsoft
Windows
Azure
Google App
Engine
Red Hat
OpenShift
IIS V7.5
Jetty Web
Server
Apache
XEN y LXC (Linux
Containers)
Windows Azure
Hipervisor
(customized
Hyper-V)
Amazon Simple
Queue Service
Windows Azure
Service Bus,
Colas FIFO con
protocolos Rest,
AMQP, WS
XEN/KVM
App Engine
Task
Queue
 KVM
(Kernelbased
VM)
 Xen
 QEmu
IronMQ
IBM SmartCloud
WebSphere
Application Server
V7.0 and V8.0
 VMWare
 Hyper-V
 Otros
WebSphere
Message Broker
V8.0
Tabla 1.1 Cuadro de plataformas en la nube por empresa
28
Plataforma €
Característica
↓
Amazon
EC2
Microsoft
Windows Azure
Escalabilidad
automática
(auto scaling)
Sí,
a través de Amazon
CloudWatch
Autoscaling
application block y
Windows Azure
Fabric Controller.
Sí (AMI) – Imagen de
máquina Amazon
Sí, provistas en
una galería, y
también imágenes
propias guardadas
Blueprints /
Imágenes para
acelerar el
aprovisionamiento
Soporta
Sistema
operativo
Windows
Soporta
Sistema
operativo
Linux
Soporte para
lenguajes
Soporte para
almacenamiento
de datos
 Windows Server®
2003 R2
 Windows Server
2008
 Windows Server
2008 R2
 Windows Server
2012
Sí
 Windows Server
2012
Datacenter
 Windows Server
2008 R2 SP1
 Sí:
 SUSE Linux
Enterprise Server
 Red Hat Enterprise
Linux
 OpenSUSE 12.3
 SUSE Linux
Enterprise
Server 11
Service Pack 2
 Ubuntu Server
12.04 LTS
 Ubuntu Server
12.10
 Ubuntu Server
13.04
 OpenLogic
CentOS 6.3
 Ubuntu Server
12.10 DAILY
 C++
 C#
 Java
 Perl
 Python
 Ruby
 Amazon SSS
 Amazon
Relational DB
Service
 Amazon
SimpleDB
 SQL Server®
Express
 SQL Web
 SQL Server
Standard
Google App
Engine
BigTable y GFS
No
No
Sí, pero las
aplicaciones
corren en un
sandbox y
Google provee
acceso limitado al
sistema
operativo, el cual
no puede ser
alterado.
 .Net
 Java
 Node.js
 Python
 Python
 Java
 Go(experimental)
 SQL Relacional
 Almacenes de
tablas NoSQL
 Blob no
estructurado
 Base de datos
no relacional
“BigTable”.
 No soporta
bases de datos
relacionales
Red Hat
OpenShift
OpenShift
HA Proxy
IBM
SmartCloud
Application
Workload
Service
Sí (Single
and
Multitier
VM
Applications)
No
Sí, Red Hat
Linux
Enterprise
 Java
 Ruby
 node.js
 Python
 PHP
 Perl
 MySQL
 Postgre
sSQL
 Mongo
DB
 SQLite
Tabla 1.2 Cuadro de plataformas en la nube por empresa
29
IBM
SmartCloud
Sí
 Sí
 Microsoft
Windows
Server 2003
 Microsoft
Windows
Server 2008
Sí Red
Hat
Enterprise
Linux
SUSE Linux
Enterprise
Server
 Java
 PHP
 DB2
 Oracle
 MS SQL
 MySQL
 Informix
 Sybase
CONCLUSIONES

Con la computación en la nube, muchas aplicaciones, así como los datos de
archivo y afines, no es necesario ser instalados o almacenados en el
ordenador o en un servidor del próximo. Este contenido se pasa que se
disponga en "nubes", es decir, la de Internet. El proveedor de la aplicación
encajar todas las tareas desarrollo, almacenamiento, mantenimiento,
actualización, copia de seguridad, programación, etc. el usuario no tiene que
preocuparse de nada de esto, sólo tiene que acceder y utilizar.

La Nube es una de las tendencias actuales, adoptada por numerosas
empresas alrededor del mundo de gran prestigio. Aunque al principio sea algo
retador en muchas ocasiones exista el temor de adoptarlas, es una tendencia
que está cambiando perspectiva de muchas personas a través de su
implementación en negocios.

Entre las empresas de que ofrecen servicios en la nube, Amazon está muy
por encima de la competencia en cuanto a funcionalidades, número de
datacenters y número de clientes, en cambio Google ofrece una oferta es más
reducida que la de Amazon, pero por contra es más simple de utilizar, más
económica y con gran capacidad de crecimiento. IBM y Microsoft tienen una
oferta muy completa no solo de tecnologías, sino también de tecnologías
open source, por las que sorprendentemente Microsoft está haciendo una
gran apuesta en los últimos años, así mismo Red Hat está basada en
estándares abiertos, integra con las tecnologías open source de referencia y
tiene un market en constante crecimiento su inconveniente radica en su
documentación confusa y poca información actualizada en la web.
30
REFERENCIAS
Amazon.com Inc. 2016. AMI de Amazon Linux. Recuperado el 11 de Junio de
2016 de http://aws.amazon.com/es/amazon-linux-ami/.
Amazon.com Inc. 2016. Amazon Elastic Compute Cloud (Amazon EC2).
Recuperado el 10 de Junio de 2016 http://aws.amazon.com/es/ec2/#functionality.
Del Lunn. Febrero 2014. Almacenamiento en nube híbrida: ¿Qué datos van
dónde? Recuperado el 20 de
Junio de
2016, de
http://searchdatacenter.techtarget.com/es/consejo/Almacenamiento-en-la-nubehibrida-Que-datos-van-donde
IBM Corp. 2016. IBM SmartCloud Application Services (Beta). Recuperado el 15
de
Junio de
2016, de
http://www
05.ibm.com/it/cloud/assets/IBMSmartCloud_Application_Services_FAQ.pdf
ICIC ¿QUÉ ES EL CLOUD COMPUTING? Recomendaciones para Empresas
Versión1.0,
Recuperado
el
19
de
Junio
de
2016
de
http://www.internetsano.gob.ar/archivos/cloudcomputing_empresas.pdf
Genbeta: dev. 2016, Entendiendo la nube: el significado de SaaS, PaaS y IaaS.
Recuperado el 21 deJunio de 2016 de, http://www.genbetadev.com/programacion-enla-nube/entendiendo-la-nube-el-significado-de-saas-paas-y-iaas
Glosario de EMC. QUÉ ES UNA NUBE PRIVADA. Recuperado el 20 de Junio de
2016 de http://mexico.emc.com/corporate/glossary/private-cloud.htm
31
Google Inc. 2016. Google Cloud Platform Documentation. Recuperado el 17 de
Junio de 2016, de https://cloud.google.com/docs/
Luis Joyanes Aguilar, CLOUD COMPUTING Notes for a spanish cloud computing
strategy.
Recuperado
el
21
de
Junio
de
2016
de,
http://revista.ieee.es/index.php/ieee/article/download/10/49
Microsoft Corp., Windows Azure. Cloud Services documentation. Recuperado el
15
de
Junio
de
2016
de,
https://azure.microsoft.com/en-
us/documentation/services/cloud-services/
Microsoft Corp. Guía sobre el almacenamiento en caché. Recuperado el 16 de
Junio de 2016 de, https://azure.microsoft.com/es-es/documentation/articles/bestpractices-caching/#almacenamiento-en-cach-en-aplicaciones-distribuidas.
Peter Mell Timothy Grance. Septiembre 2011. NIST SP 800-145, The NIST
Definition of Cloud Recuperado el 17 de Junio de 2016 de, Computing
http://nvlpubs.nist.gov/nistpubs/Legacy/SP/nistspecialpublication800-145.pdf
Plataform as a Service (PaaS). Recuperado el 20 de Junio de 2016 de,
http://www.platformasaservice.com
Red Hat Inc. 2013. Open Shift. Open Shift All Versions User Guide. Recuperado
el 17 de Junio de
2016 de, https://access.redhat.com/documentation/en-
US/OpenShift_Enterprise/2/pdf/User_Guide/OpenShift_Enterprise-2User_Guide-en-US.pdf
Software as a Service (SaaS). Recuperado el 19 de Junio de
http://www.saas.com.
32
2016 de,
Descargar