el camino a la Paas emPResaRial

Transcripción

el camino a la Paas emPResaRial
Informe técnico
El camino a la PaaS Empresarial
Gordon Haff
Resumen ejecutivo
La Plataforma como servicio (PaaS) proporciona una abstracción que hace a los desarrolladores más
productivos al ayudarles a enfocarse en crear aplicaciones en lugar de lidiar con infraestructuras.
Esto es importante como información y sus procesos asociados se han vuelto centrales para más
negocios, incluso aquellos en industrias en las que históricamente no pensamos como dependientes de
la tecnología de la información. Y eso hace que escribir aplicaciones personalizadas en respaldo a los
objetivos comerciales de una organización sea más importante que nunca.
La oferta de PaaS generalmente ha evolucionado desde soluciones de punto que se enfocaron en un
simple modelo de programación a aquellos que son más generales. Por ejemplo, ofertas de PaaS en
multiidiomas (“políglota”) que soportan tanto las herramientas empresariales tradicionales como
Java, así como también los idiomas de scriptings de estilo más nuevo están aumentando la norma.
Sin embargo, queda en evidencia que muchas organizaciones quieran escoger también sus modelos
operativos PaaS. Es por esto que Red Hat® se ha expandido más allá de su solución OpenShift Online de
Red Hat, para también ofrecer OpenShift Enterprise de Red Hat, una versión de suscripción comercial
que tiendas de IT pueden instalar en sus propios centros de datos o en otro hardware dedicado. Al igual
que con todas las otras ofertas de suscripción de Red Hat, OpenShift Enterprise toma el código fuente
abierto que Red Hat ha puesto a disposición de la comunidad a través del proyecto OpenShift Origin y
lo convierte en un producto confiable y compatible para su uso empresarial.
Como OpenShift Online, OpenShift Enterprise aprovecha una variedad de tecnologías en Red Hat
Enterprise Linux para permitir que las aplicaciones se ejecuten en ambientes de capacidades múltiples
de una forma segura y predecible. OpenShift Enterprise también está basado en una arquitectura
extensible que permite la integración de un ecosistema más amplio de middleware y herramientas.
En resumen, OpenShift Enterprise entrega todo lo necesario para desarrollar las aplicaciones que son
cada vez más importantes para los negocios basados en la información de hoy en día. Y lo hace de una
forma que mantiene la portabilidad de la aplicación a través de infraestructuras TI heterogéneas e
híbridas.
facebook.com/redhatinc
@redhatnews
linkedin.com/company/red-hat
redhat.com
Introducción
1 Como una primera
aproximación, puede pensar
en IaaS, PaaS y SaaS como una
forma exitosa para abstraer
el hardware y el software de
un centro de datos, creando
simplicidad a cambio de la
capacidad reducida de afinar las
capas que se extrajeron.
El nombre PaaS cubre un área amplia. En general, es casi un término genérico para API de web. En detalle,
es un conjunto de interfaces programáticas hacia una aplicación alojada específica, esencialmente,
una forma de extender el Software como servicio (SaaS). Quizás una mejor definición de PaaS es la
abstracción que le permite a los desarrolladores enfocarse en escribir, ejecutar y administrar aplicaciones
sin tener que preocuparse indebidamente con las tareas de bajo nivel, tales como el aprovisionamiento y
optimización de imágenes del sistema operativo.1 Es un medio para hacer que los desarrolladores sean más
productivos al permitirles enfocarse en desarrollar en lugar de enfocarse en la infraestructura necesaria.
Dado ese contexto, no sorprende que la mayoría de las ofertas iniciales de PaaS fueran servicios alojados.
Después de todo, un servicio alojado casi siempre va a servir como un acceso sencillo y preferido para los
desarrolladores que no se quieren preocupar sobre los detalles operacionales. Esa ciertamente ha sido la
experiencia de Red Hat con su oferta de OpenShift Online, la que permite que implementar una aplicación
sea tan fácil como empujarla a un repositorio de código. Una PaaS como OpenShift Online maneja detalles
como autoescalamiento, autoservicio y monitoreo de aplicaciones, dejando que los desarrolladores se
enfoquen en crear aplicaciones con herramientas, idiomas y marcos familiares.
Sin embargo, un servicio alojado es, bien, alojado por alguien más. Y para muchas organizaciones esa
pérdida de control no es aceptable, al menos no para todas sus aplicaciones. Usar una PaaS que haga uso
de idiomas estándar y marcos de desarrollo ayuda hasta cierto punto; una vez desarrollada de esa forma,
una aplicación se puede implementar en cualquier ambiente dispuesto con sistema operativo apropiado
o tiempos de ejecución de middleware. Pero, debido a que tal aplicación trasplantada pierde acceso a la
automatización operacional de la plataforma PaaS, un servicio alojado puede no ser tan ideal.
La mejor alternativa para muchas empresas es un enfoque PaaS híbrido, que permite a las organizaciones
ganar las ventajas de una PaaS mientras la operan de la forma que elijan, ya sea alojada, en el sitio o una
combinación de ambas. Este documento le da un vistazo a las decisiones operacionales asociadas con
una PaaS en la empresa. De igual forma, detalla OpenShift de Red Hat, las ofertas en el sitio y alojadas de
la empresa, para permitirle ver cómo una PaaS puede proporcionar servicios automatizados, calidad de
servicio de capacidad múltiple y seguridad, soporte de marco “políglota” multiidiomas y una elección de
modelos operacionales.
Pero primero, echemos un vistazo más profundo a por qué los desarrolladores (y, crecientemente,
los departamentos de TI) aman la PaaS.
Reestructuración del desarrollo de aplicaciones con la PaaS
2 A pesar de la escala, incluso
las aplicaciones de apariencia
de ser de rutina a menudo
vienen con su propia y única
integración y consideraciones
de gobernación de TI.
Mucha de la atención alrededor de aplicaciones de nube tiende a enfocarse en Software como servicio (SaaS),
lo que equivale a aplicaciones completas entregadas directamente a los usuarios de aquellas aplicaciones.
Y SaaS es, en efecto, una historia de nube importante. Ya sea que esté hablando de consumidores y negocios
más pequeños ganando acceso a aplicaciones a las cuales ni siquiera tenían los recursos o habilidades
para ejecutar internamente en el pasado o esté hablando sobre aplicaciones no diferenciadas como correo
electrónico, 2 SaaS elimina la necesidad de mucha rutina de TI que no agrega valor.
Sin embargo, la infiltración de la tecnología en más y más tipos de negocios (incluso aquellos que
históricamente no consideramos como especialmente dependiente de la información o la computación,
como por ejemplo, la agricultura) han alimentado un fuerte apetito por aplicaciones personalizadas.
Posiblemente, la única cosa que puede saciar ese apetito es el dinero y el tiempo que toma desarrollar
aplicaciones. Y eso es lo que hace que la PaaS sea tan interesante dado cómo está enfocada en aumentar
la productividad del desarrollador. Tal productividad tiene directa relación sobre cómo los negocios rápidos
pueden traer nuevos servicios y productos en línea y cómo pueden rápidamente comenzar a generar dinero
para la organización.
redhat.com
Informe técnico El camino a la PaaS Empresarial
2
3 El seminario web de la serie
de 4 pasos para una nube
privada o híbrida de Red Hat
detalla la planificación y el
proceso de implementación
en detalle. http://www.
redhat.com/soluciones/nube/
recursos/desdevirtanube/
4 El Vicepresidente de
administración de Gartner,
Eric Knipp, escribe en una
entrada de un blog que “en
pocas palabras, una buena
PaaS hace que el desarrollo
sea más barato. Es por eso
que ves tantas empresas
nuevas que utilizan PaaS
a medida que el mercado
madura. La PaaS se trata
acerca de la externalización
del trabajo de plomería para
que los desarrolladores puedan
centrarse en la construcción
de la lógica de negocio y en las
características importantes que
diferencian a una aplicación
de otra". http://blogs.gartner.
com/eric-knipp/2012/10/09/
paas-o-nomics-101/
Cierto aumento en la productividad proviene de acceso más rápido a los recursos; no esperar a que
TI ordene servidores, los suministre y proporcione acceso. Pero, en general, eso es un beneficio de
la computación en nube, ya sea una nube pública o una privada planificada apropiadamente. 3 El gran
beneficio de la PaaS, específicamente, es que le permite a los desarrolladores enfocarse en las tareas que
importan en el desarrollo de la aplicación e ignorar aquellas que no. 4 Esto quiere decir que hay que diseñar
interfaces de usuario convincentes y arquitecturas de base de datos apropiadas, no configurar ajustes de
firewall o afinar los límites de recursos del sistema operativo.
Los beneficios de la PaaS no se limitan solo a los desarrolladores. La industria está experimentando un
cambio fuera de las operaciones estrictamente segregadas y los roles de los desarrolladores. El término
“devops” se acuñó para capturar la idea de que el desarrollo de la aplicación incorpora crecientemente
los conceptos operacionales, tales como disponibilidad y escalabilidad. En parte, este es el resultado de
arquitecturas que lidian con estos conceptos en la capa de la aplicación, más que en la infraestructura
subyacente.
La PaaS es una gran coincidencia para un modelo devops porque la PaaS en sí puede ayudar a proporcionar
autoescalabilidad, autoservicio, servicios estándar preconfigurados y otras funciones que, históricamente,
se hubieran considerado parte de las operaciones de TI. Bajo un modelo alojado, estas capacidades son
todas proporcionadas directamente al desarrollador y la extracción adyacente (por ejemplo, agregar
recursos de servidor según sea necesario, remediar las fallas de la infraestructura, monitorear en busca
de problemas de seguridad) es manejada por el proveedor de servicios. Con un PaaS en el lugar, por otra
parte, Los equipos de operación de TI controlan y son responsables de la infraestructura y pueden escoger
pasar un grado de ese control a los desarrolladores. La PaaS, por lo tanto, puede ser un triunfo para los
administradores, así como también para los desarrolladores, al proporcionales un marco y herramientas
para delegar responsabilidades mientras retienen control general de la política.
Muchas organizaciones ven la PaaS como una oportunidad para estandarizar los flujos de trabajo de
desarrollo como una sola ruta importante a la consistencia y productividad aumentadas. La estandarización
(dentro de una organización dada) solo se puede convertir en algo más importante a medida que el número y
escala de aplicaciones aumente y a medida que más organizaciones se muevan a modelos de desarrollo más
ágiles y actualizaciones crecientes más rápidas a los sistemas de producción.
Llevar la PaaS a la empresa
La tremenda algarabía alrededor de la PaaS se puede ver tanto a través de la creciente adopción dentro
de la comunidad de desarrolladores, así como también a través de la cantidad de proveedores entrando al
espacio con soluciones en línea y en el lugar de la PaaS. Aunque al principio la usaron principalmente los
primeros adoptadores e innovadores (incluyendo a los desarrolladores individuales, arranque de empresas
y pequeñas empresas) PaaS está entrando en lo habitual.
¿Qué es habilitar esta adopción habitual por las empresas más grandes y una sección más amplia del
mercado?
5 Mientras existe mucha
innovación continua en
middleware, herramientas e
idiomas, también existe una
considerable inercia en las
prácticas y en habilidades
establecidas que cualquier
organización toma en cuenta
al planificar metodologías de
desarrollo.
redhat.com
Un cambio es que la PaaS se está volviendo más multilingüe. Red Hat ha realizado encuestas en varios
eventos que revelan consistentemente que la mayoría de los encuestados intentan desarrollar software
para ambientes en nube usando idiomas similares a los que ellos usan hoy en día. 5 Las plataformas PaaS
que limitan a los desarrolladores a un idioma específico en una plataforma de hosting específica a menudo
han sido criticadas por los desarrolladores debido a que limitan esta elección. Dice que un número de
ofertas de PaaS de idioma y marco específicos han cambiado hacia un enfoque más políglota (múltiples
idiomas y marcos).
OpenShift, por ejemplo, tiene cartuchos que sirven al mecanismo a través del cual se exponen los servicios
de la plataforma. El lanzamiento inicial de la oferta en el lugar de Red Hat incluyó cartuchos para Java, PHP,
Ruby, Perl y Phyton, así como también MySQL y Postgres para servicios de datos. OpenShift también tiene
versiones node.js y MongoDB soportadas por la comunidad.
Informe técnico El camino a la PaaS Empresarial
3
Y Red Hat está expandiendo esa comunidad. Red Hat quiere ver nuevos cartuchos, tanto para versiones
nuevas de la tecnología que ya tiene, así como también nuevas tecnologías que las personas quieren
incorporar. Nuevos idiomas, nuevos marcos, nuevos servicios de datos y otras extensiones.
Otra consideración importante es el soporte para diferentes modelos operacionales. Un servicio en
línea funciona como un simple impulso para un desarrollador que solo quiere probar el servicio. Ciertos
negocios de internet con nuevo estilo serán incluso más cómodos usando un servicio en línea para todas
sus aplicaciones de producción,especialmente si pueden tener confianza en que el código que escriban se
pueda mover a cualquier parte sin realizar cambios, como en el caso de OpenShift.
Sin embargo, muchas organizaciones siguen prefiriendo o solicitando que al menos un subconjunto de sus
aplicaciones se ejecute en un ambiente sobre el cual tengan un control total. Ellos quieren los beneficios
operacionales de la PaaS, pero quieren estar a cargo de la infraestructura. De igual forma pueden preferir
exponer menos opciones para los desarrolladores que lo normal en un caso bajo el modelo devops.
Posiblemente, esta filosofía “ITOps” más tradicional se transformará en estructuras organizacionales
integradas más funcionales con el pasar del tiempo. Sin embargo, tales cambios ocurrirán crecientemente
y, por lo tanto, las ofertas de PaaS tales como OpenShift que pueden soportar una variedad de filosofías
operacionales tienen beneficios importantes.
Sobre OpenShift Enterprise
OpenShift Enterprise es un producto comercial, ofrecido a través de una suscripción como todos los
productos de Red Hat, que le permite a las organizaciones de TI configurar y administrar sus propias PaaS.
Red Hat cura, fortifica, prueba y certifica el código abierto del proyecto OpenShift Origin (bajo la licencia
Apache 2.0) para ofrecer el producto OpenShift Enterprise confiable, con soporte y listo para las empresas.
Arquitectónicamente, la única dependencia de OpenShift Enterprise es Red Hat Enterprise Linux. OpenShift
Enterprise se puede ejecutar en un sistema sin sistema operativo que esté ejecutando Red Hat Enterprise
Linux. Puede ejecutarse en infraestructura virtual proporcionada por Red Hat Enterprise Virtualization
u otra plataforma de virtualización. La infraestructura Red Hat Enterprise Linux se puede administrar
y disponer usando herramientas tales como Red Hat CloudForms o Red Hat Network Satellite. Pero
OpenShift Enterprise es una capa organizada de PaaS que es independiente de cualquier herramienta o
infraestructura específica (que no sea Red Hat Enterprise Linux).
6 El corredor se puede ejecutar,
alternativamente, a través de
múltiples instancias para evitar
tener un solo punto de falla.
OpenShift Enterprise se ejecuta en una instancia de Red Hat Enterprise Linux (el “corredor”)6, la cual
administra una o más otras instancias de Red Hat Enterprise Linux (los “nodos”). Entonces, OpenShift
Enterprise proporciona los mecanismos para aplicaciones múltiples para ejecutarse dentro de aquellos
nodos de forma segura y con un rendimiento predecible, así como también proporcionando capacidades de
monitoreo y auto escalabilidad para aquellas aplicaciones.
Capacidad múltiple de la aplicación, donde las aplicaciones múltiples (cada una consistiendo de uno o más
“engranajes”) puedan coexistir dentro de cada nodo, se proporciona a través de una variedad de funciones
de Red Hat Enterprise Linux y se administra por el corredor OpenShift Enterprise. Estas funciones incluyen:
redhat.com
Informe técnico El camino a la PaaS Empresarial
4
SELinux, una implementación de un mecanismo de control de acceso obligatorio (MAC) en el kernel de
Linux, verifica operaciones permitidas a un nivel más allá de lo que pueden proporcionar los controles de
acceso a discreción (DAC) estándar. Lo creó inicialmente la Agencia de Seguridad Nacional de EE.UU. y
puede implementar reglas en archivos y procesos en un sistema Linux y en sus acciones, en base a una
política definida. SELinux proporciona un alto nivel de aislamiento entre las aplicaciones que se ejecutan
dentro de OpenShift Enterprise.
Grupos de control (cgroups) ofrecen una poderosa forma de ubicar el procesador, la memoria y los
recursos de I/O entre las aplicaciones. Proporcionan un control detallado de la utilización de los recursos en
términos de consumo de memoria, uso de I/O (almacenamiento y red) y prioridad de procesos, habilitando
el establecimiento de políticas que proporcionan garantías de calidad de servicio.
Los espacios de nombre Kernel separan los grupos de procesos para que no puedan ver los recursos en
otros grupos. Desde la perspectiva de una aplicación ejecutándose en OpenShift, por ejemplo, la aplicación
tiene acceso a un sistema en ejecución Red Hat Enterprise Linux aun cuando, en realidad, puede ser una de
muchas aplicaciones ejecutándose dentro de una instancia de Red Hat Enterprise Linux.
Colectivamente, estas tecnologías implementan un enfoque que es similar en ciertos aspectos a lo que
comúnmente se llaman contenedores, pero con mayor aislamiento y mínima sobrecarga de recursos. Se
informó la filosofía detrás de OpenShift desde su génesis como un servicio en línea, ahora conocido como
OpenShift Online, en que la alta seguridad y eficiencia son primordiales.
La autoescalabilidad, que viene integrada en la oferta de OpenShift Online, también está disponible en la
oferta en el lugar de OpenShift Enterprise. Cuando implementa una aplicación a través de OpenShift, puede
implementarla con escalabilidad activada o desactivada. Si implementa su aplicación con escalabilidad
desactivada, lo que implementa si lo que tendrá, ya sea que esté en un engranaje o en varios.
Si implementa con autoescalabilidad activada, entonces la aplicación puede escalar y consumir engranajes
adicionales en base al uso de esa aplicación y sus necesidades para más recursos. Por ejemplo, en lugar de,
digamos, poner una base de datos MySQL y JBoss Enterprise Application Platform en un engranaje, usted
pondría MySQL en un engranaje separado, JBoss Enterprise Application Platform en su propio engranaje
y luego, configuraría un balanceador de carga en base a software, con HAProxy como tercer engranaje.
HAProxy luego detectaría el nivel de solicitudes viniendo a la aplicación. Si ve que el tráfico excede cierto
umbral, hará una solicitud para que el corredor haga girar un engranaje adicional de JBoss Enterprise
Application Platform y configurarlo usando técnicas de clúster de JBoss .
redhat.com
Informe técnico El camino a la PaaS Empresarial
5
No hay
aprisionamiento
de idiomas y
marcos
Plataforma
Herramientas de
desarrollo
Ecosistema de
código abierto
No hay
aprisionamiento
de idiomas y
marcos
Extensibilidad en
base a cartucho
Plataforma
Herramientas de
desarrollo
Web
Móvil
Middleware de
clase empresarial
JBoss
Datos grandes
Enterprise
Impulsar sus aplicaciones
Ecosistema de
código abierto
Web
Móvil
Middleware de
clase empresarial
JBoss
SO de capacidad segura
Extensibilidad en
base a cartucho
Datos grandes
Enterprise
Impulsar sus aplicaciones
SO de capacidad segura
Red Hat Enterprise Linux
Red Hat Enterprise Linux
Red Hat Storage
Red Hat Storage
Cloud Engine
System Engine
Administración de recursos de nube
Administración de nube híbrida
Interfaz IaaS y Virt
Proveedores de nube certificados de Red Hat
OpenStack
vSphere
Además de una variedad de idiomas y marcos de programación (incluyendo las últimas tecnologías de
Java EE 6) OpenShift también soporta herramientas de desarrollo populares. Una de esas herramientas es
Apache Maven, una herramienta de administración de proyectos de software. Maven puede administrar la
creación, informes y documentación de un proyecto a partir de un modelo central. Otra de estas es Jenkins,
que a menudo se usa como un sistema de integración continuo, facilitando a los desarrolladores a integrar
cambios al proyecto y facilitando a los usuarios a obtener una creación fresca (y por tanto, aumentando
la productividad). Las extensiones del protocolo de autenticación de red del servicio de directorio LDAP y
Kerberos le permiten a los equipos de TI integrar OpenShift en sus sistemas de autenticación de empresa
para que cuando los desarrolladores recurran a OpenShift, puedan autenticar con sus credenciales de LDAP
y/o Kerberos.
El enfoque arquitectónico de OpenShift Enterprise tiene grandes beneficios para los desarrolladores y sus
organizaciones. Está creado en un sistema operativo de capacidad múltiple seguro y probado, Red Hat
Enterprise Linux y, proporciona máxima flexibilidad en cómo ese sistema operativo está implementado y
administrado. Proporciona soporte para herramientas e idiomas que son tanto poderosos como familiares.
Y proporciona un gran control a los administradores, que cambian del administrador Red Hat Enterprise
Linux al administrados PaaS de la forma más sencilla posible con políticas y configuraciones por defecto
que satisfarán muchos requerimientos listos para usarse.
redhat.com
Informe técnico El camino a la PaaS Empresarial
6
Informe técnico El camino a la PaaS Empresarial
Conclusión
OpenShift Enterprise potencia tecnología importante y aprendizaje operacional del servicio alojado
OpenShift Online de Red Hat y los entrega en una forma en que las organizaciones pueden controlar y
consumir en sus propios centros de datos u otros ambientes dedicados. Como otra oferta de suscripción
de Red Hat, OpenShift también tiene un proyecto de comunidad de código abierto, OpenShift Origin,
al cual Red Hat contribuye a través de su filosofía de desarrollo en proyectos de exploración primero,
cuando sea posible.
Este es un paso importante debido a que la computación en nube (e incluso TI de modo más general)
está permanentemente bajo la mira de CIO, analistas de la industria de TI y otros al estar en un
camino hacia la infraestructura TI híbrida. Un tamaño no encaja todo y tampoco lo hace un modelo de
implementación. Las tecnologías más efectivas son aquellas que son lo suficientemente flexibles para
adaptarse a las necesidades dadas de una organización hoy en día mientras se preserva la portabilidad
de las aplicaciones y herramientas para los ambientes potencialmente diferentes de mañana.
Esta discusión atañe particularmente a la PaaS, que comenzó en muchos casos como, esencialmente,
una oferta de punto alojado para un entorno de desarrollo acotadamente definido. Por otra parte,
OpenShift siempre ha sido de la idea de escoger idiomas y marcos y de la portabilidad de aplicaciones.
Con OpenShift Enterprise (y OpenShift Origin), ahora existe una opción de modelos operacionales
que ayuda a asegurar que las organizaciones no queden encerradas en un proveedor o una forma
de hacer las cosas. Y esta elección sólo se hará más importante a medida que la PaaS represente
crecientemente la forma en que ocurre el desarrollo de software en la computación en nube.
Para obtener información adicional sobre OpenShift,
visite https://www.openshift.com/enterprise-paas.
ACERCA DE RED HAT
Red Hat es el proveedor líder del mundo de soluciones de código abierto que, utilizando un
enfoque impulsado por la comunidad, entrega tecnologías confiables y de alto rendimiento de nube,
virtualización, middleware, Linux y almacenamiento. Red Hat también ofrece servicios premiados de
soporte, capacitación y consultoría. Red Hat es una empresa S&P con más de 70 oficinas alrededor
del mundo, lo que impulsa los negocios de sus clientes.
facebook.com/redhatinc
@redhatnews
linkedin.com/company/red-hat
redhat.com
#11508337_v1_1013
NORTEAMÉRICA
1 888 REDHAT1
EUROPA, MEDIO ORIENTE
Y ÁFRICA
00800 7334 2835
[email protected]
ASIA PACÍFICO
+65 6490 4200
[email protected]
AMÉRICA LATINA
+54 11 4329 7300
[email protected]
Copyright © 2013 Red Hat, Inc. Red Hat, Red Hat Enterprise Linux, el logotipo de Shadowman, y JBoss son marcas comerciales de
Red Hat, Inc., registradas en los Estados Unidos y en otros países. Linux® es la marca comercial registrada de Linus Torvalds en los
Estados Unidos y en otros países.

Documentos relacionados