Post on 26-Sep-2018
TELETRANSPORTARSE A LA NUBEInstrucciones de la misión para líderes de TI de código abierto en la nube híbrida, el escalado automático y los microservicios
2
Capítulo 1 | EMPIEZA SU RECORRIDO: TENER ÉXITO EN LA NUBE
Para lograr llegar con audacia a donde nadie ha llegado antes, los líderes de TI, atraídos por la informática en la nube, necesitan un nuevo tipo de nave espacial. Al igual que una gran aeronave que se dirige a la última frontera, una plataforma de nube de primera categoría lo ayuda a navegar por territorio nuevo y desconocido de la nube con herramientas avanzadas a fin de crear, implementar y administrar rápidamente aplicaciones, bases de datos y servicios para cualquier empresa con tecnología de código abierto.
Los héroes de ciencia ficción comandan naves
espaciales con las que pueden contar para atravesar
la nebulosa. En sentido metafórico, los líderes de TI
necesitan el mismo tipo de nave: una plataforma
empresarial innovadora que avance rápido y le permita
a usted y su equipo aprovechar la eficacia de la nube.
Con la informática en la nube, las tiendas de desarrollo
pueden actuar de forma más ágil y optimizar sus
aplicaciones de maneras que antes no eran posibles
ni viables. Esto se debe a que obtienen la mayoría
de la información de la nube mediante tecnologías
híbridas para construir sobre la base de innovaciones y
elementos existentes.
Incluso las naves espaciales ficticias más impresionantes
se refaccionaban para ir a la par del progreso.
Por lo tanto, los participantes de la industria de la nube
actual también están llevando sus ofertas a un nuevo
nivel y a una velocidad extraordinaria. Los líderes
de TI están aprovechando esta evolución mediante
incorporaciones de la industria para actualizar sus
entornos de desarrollo a fin de mejorar su perfil
competitivo a través de tecnologías abiertas, interfaces
para cualquier tipo de plataforma e innovaciones
de arquitectura.
Este libro electrónico definirá su rumbo para explorar
capacidades nuevas creadas en la nube, con formas
concretas de abordar problemas y aplicaciones de
arquitectura para aprovechar la flexibilidad que ofrece
la nube. En el caso de los líderes de TI interesados en
empoderar a sus equipos para crear desarrollos de
maneras escalables y sustentables, implementar una
plataforma que ofrezca soluciones más rápidas y más
simples no solo es importante, sino que es decisivo.
Capítulo 1
EMPIECE SU RECORRIDO:
TENGA ÉXITO EN LA NUBE.
Conozca la demanda actual para que la TI haga
más y más rápido mediante el fortalecimiento de la nube.
4
Capítulo 1 | EMPIECE SU RECORRIDO: TENGA ÉXITO EN LA NUBE.
para que la TI haga más y más rápido, se ha creado
realmente una frontera nueva. Y en la realidad actual
dirigida por los datos, que se mueve a un ritmo rápido
y donde la prioridad la tienen los dispositivos móviles,
hay algo que debe tomar en serio: su éxito (suyo y de
la empresa) depende en gran medida de elegir la nube
correcta y de su capacidad para usar la plataforma de
esa nube para catalizar el potencial de desarrollo a fin
de comercializar rápidamente las aplicaciones.
En un universo ficticio y futurista, donde las naves
espaciales emprenden misiones militares, diplomáticas
y exploradoras por el espacio, los comandantes valoran
una aeronave confiable y completamente operativa.
En el mundo real, los líderes de TI de todos los
paisajes se embarcan en sus propias misiones para
llevar a cabo operaciones esenciales de sus empresas,
impulsar la idea brillante más reciente del equipo de
desarrolladores, acelerar entornos de desarrollo y
prueba a máxima velocidad (y según sea necesario),
y satisfacer las demandas cambiantes y en constante
crecimiento que tiene su equipo y su ancho de banda
informático. Con una demanda cada vez mayor
5
Capítulo 1 | EMPIECE SU RECORRIDO: TENGA ÉXITO EN LA NUBE.
conocen muy bien el efecto negativo que tiene en
la organización "volver a inventar la rueda" en el
momento de configurar manualmente servidores
web y almacenamiento conectado a la red (NAS)
y servidores de despliegue, o al implementar soluciones
de enrutamiento de red. La plataforma correcta
moderna de nube crea un nivel de abstracción en
torno a las capas del aprovisionamiento de servicios y
administración informática, y evita el control manual
necesario para mantenerlos funcionando. Esto les
permite a los desarrolladores invertir su energía y
trabajo en crear e implementar aplicaciones que
aborden las necesidades de los clientes más exigentes.
Las empresas se ven beneficiadas por el pago por
distribución, lo que minimiza el gasto de capital para
habilitar aplicaciones conectadas a Internet. Según
International Data Corporation (IDC), las empresas
invirtieron cerca de 118.000 millones de dólares en
tecnologías de nube en 2015, lo que evidencia que las
empresas están buscando responder al llamado de
hacer más y más rápido (y de forma más económica):
ofrecer proyectos y productos nuevos, administrar
más dispositivos fácilmente, procesar más datos con
rapidez y probar los entornos con una velocidad sin
precedentes. Todo esto con la informática en la nube.
Las empresas más destacadas que ven valor en la nube
no solo utilizan sus capacidades más básicas (máquinas
virtuales, VM, a petición), sino que también están
migrando hacia un almacenamiento y procesamiento
más moderno de los datos, arquitecturas de escalado
horizontal y automatización de las aplicaciones, entre
otras. Y no temen volver a definir la arquitectura y
plataforma de las aplicaciones existentes, un enfoque
nativo de la nube.
El poder de las ventajas de la nube Más dispositivos, más aplicaciones y más datos
hacen que la TI sea más desafiante que nunca.
Sin embargo, los desarrolladores nunca habían estado
tan emocionados. Las plataformas informáticas
maduras basadas en la sabiduría de las comunidades
que las germinaron les permiten a los desarrolladores
centrarse en crear soluciones innovadoras, gracias
al uso de tecnología escalable que se puede clonar.
Quedaron atrás los días en los que era necesario crear
arquitecturas completamente nuevas para habilitar
aplicaciones. La nube juega un papel muy importante
al otorgarles a los desarrolladores más libertad
con respecto a asuntos de diseño más significativo
e interesante.
Las plataformas de desarrollo basadas en la nube
también promueven una eficacia que no se obtiene
con la informática tradicional, especialmente
la capacidad de hacer lo siguiente:
• Autoaprovisionar entornos de desarrollo y
prueba para que pueda avanzar en la creación
de aplicaciones sin la necesidad de coordinar
con TI las instancias de aprovisionamiento.
• Alinear equipos de desarrolladores, arquitectos
y diseñadores en el desarrollo de aplicaciones.
• Agilizar la producción de aplicaciones y reducir el
plazo de comercialización mediante la clonación
de entornos de desarrollo y prueba, configurando
y ajustando reglas de escalado a través de todo
el proceso de creación.
Cuando se usa de forma adecuada, la informática
en la nube les permite a los desarrolladores
centrarse en distribuir aplicaciones sin tener
que preocuparse de que el resto funcione
correctamente. Los desarrolladores y líderes de TI
6
Capítulo 1 | EMPIECE SU RECORRIDO: TENGA ÉXITO EN LA NUBE.
conjuntos de datos mucho más grandes de lo
esperado en un principio. La nube es elástica y
puede ajustarse casi a una demanda ilimitada.
• Escalabilidad sencilla. Para las empresas con
demandas de ancho de banda que aumentan o
fluctúan, es fácil escalar la capacidad de la nube
recurriendo a sus servidores remotos. Del mismo
modo, si necesita volver a reducir el tamaño, la
flexibilidad está integrada en
el servicio de la nube.
La nube es como la
tierra donde florece
la transformación. Por
ejemplo, considere los
flujos de trabajo diarios
de los desarrolladores.
La nube no solo aumenta y cambia las acciones
repetitivas. El desarrollo de la nube racionaliza las
eficiencias de escala inherentes a su diseño. Utiliza
nuevas herramientas, técnicas y lenguajes necesarios
para transformar la forma en que trabajan los equipos
y le permite a su empresa ir al ritmo de la velocidad
vertiginosa que tiene el desarrollo hoy en día. Y, de
cierta forma, la llegada de la nube es la respuesta a
su propio desafío. No volver a la georredundancia en
los sistemas locales, con compromisos manuales con
cada sitio. La informática en la nube es el desafío y la
respuesta, sin siquiera un proyecto de administración
de cambios a la vista.
Cuando la informática en la nube centraliza, automatiza
y distribuye el flujo de trabajo de desarrollo, este
se facilita bastante. La agilidad en la nube cambió
el panorama de la velocidad con que las empresas
pueden atender clientes.
La nube como una herramienta esencial para el desarrolloLa rápida difusión de la tecnología de la informática en
la nube está empoderando a los desarrolladores cada
día más. Gracias a la nube, los desarrolladores pueden
centrarse en codificar sin tener que preocuparse
de la instalación, personalización ni actualización de
sus herramientas. Debido
a que no se quedan
entrampados en temas de
hardware y redes, pueden
concentrar sus iniciativas en
crear programas fantásticos
para beneficiar a los usuarios.
Existen ventajas claras
relacionadas con la
innovación para el desarrollo de software en la nube:
• Espacio en la nube a la carta. Puede tener la
cantidad de funciones y complementos que
necesite (ejecutar una pila LAMP, configurar un
sitio web Node.js o una base de datos MongoDB,
todo en una cuenta).
• Colaboración a nivel mundial y en tiempo
real. Ahora los desarrolladores que no están
en un mismo lugar (o que trabajan en equipos
independientes en un entorno sin federación)
pueden colaborar fácilmente en dichos equipos
distribuidos, aprovisionar cuentas, realizar el
seguimiento de cambios y trabajar en distintas
ramas de una base de códigos en un repositorio
compartido.
• Flexibilidad. Los desarrolladores pueden aumentar
rápidamente sus demandas en la infraestructura
si necesitan probar algún código o ejecutar
La tecnología de informática en la nube está empoderando a los desarrolladores cada día más.
7
Capítulo 1 | EMPIECE SU RECORRIDO: TENGA ÉXITO EN LA NUBE.
Espere más de la nubeLa nube no solo ofrece un marco, sino también
un ecosistema de software para cualquier tipo de
plataforma a fin de ayudar a los desarrolladores.
Las plataformas de software que simplifican las tareas
básicas de programación y proporcionan interfaces
coherentes mejoran la productividad de cualquier
programador. Los desarrolladores deben buscar
herramientas que los fortalezcan para comercializar
más rápido las innovaciones y brindar las bases
profundas que necesita usar la empresa.
Si es un fanático del
código abierto, una buena
pregunta para empezar sería
"¿Qué es lo que exactamente
quiero hacer con la
nube?". Considere estas
opciones: ¿Desea probar sus
aplicaciones web? ¿Desea
lanzar una máquina virtual con un servidor Linux?
¿O Windows para probar esa plataforma? Tal vez desea
implementar una base de datos. O realizar un análisis
predictivo, o tal vez automatizar el hospedaje back-end
móvil para el tráfico que fluctúa. ¿O quiere usar la nube
para probar algo nuevo? Eso podría significar ejecutar
trabajos de MapReduce en Hadoop o usar R para sus
proyectos de "machine learning". También podría
significar ejecutar una VM Debian para comunicarse
con puntos de conexión de IoT que ejecutan Raspberry
Pi o configurar Red Hat CloudForms para administrar
contenedores de nube híbrida. Estos son el tipo de
proyectos donde necesita más agilidad que la que
proporcionan los entornos convencionales.
Dos de los principios más importantes de la
compilación ágil, el flujo de trabajo de Integración
continua (CI) y la Entrega continua (CD), un hecho
diario para la vida de los desarrolladores, se compensan
completamente con su potencial escalable en la nube.
La CI activa automáticamente una compilación cuando
un desarrollador ingresa código en el repositorio
fuente. La CD lleva esto un paso más lejos: después
de que sea realizan correctamente la compilación
y las pruebas de la unidad automatizada, puede
implementar de forma automática la aplicación en un
entorno en el que puede llevar a cabo pruebas más
profundas.
Como está ejecutando todo
esto en la nube, no tiene
que comprar ni administrar
servidores para sus
compilaciones ni entornos de
prueba. Tampoco tiene que
esperar a que un servidor esté disponible para realizar
sus pruebas. La nube le permite minimizar el costo de
mantención de un entorno de prueba, ya que paga
por los recursos del entorno a medida que los utiliza. El
proceso de CD puede configurar el entorno de prueba
cuando lo necesite y usted puede deshacerlo cuando
haya finalizado la prueba.
La nube permite iteraciones y mejoras continuas
de software para reemplazar ciclos prolongados de
desarrollo, prueba y lanzamiento. Cada etapa del
proceso suele ser breve, por lo tanto, las iteraciones
avanzan rápidamente por el canal de desarrollo.
Como resultado, un modelo continuo de desarrollo
de aplicaciones acelera el proceso general de
desarrollo y mejora la eficiencia.
Lo primero que debería preguntarse es: "¿Qué quiero hacer con la nube?"
8
Capítulo 1 | EMPIECE SU RECORRIDO: TENGA ÉXITO EN LA NUBE.
22 regiones en todo el mundo donde está disponible
Azure.
La plataforma de Azure ofrece un completo conjunto
de herramientas compatible con la interoperabilidad,
lo que impulsa la portabilidad. ¿Cómo? Al permitirles
a los desarrolladores llevar sus aplicaciones existentes
a la nube cuando sea necesario sin preocuparse por
la compatibilidad de las tecnologías con el entorno
de la nube.
Cuando se realiza correctamente, la curva de
aprendizaje en la informática en la nube se compensa
porque ayuda a las organizaciones a realizar más
tareas más rápido. La nube permite ahorrar horas
de trabajo y recursos de centros de datos. La ventaja
adicional de ese conjunto de soluciones es que ofrece
una percepción fundamental de cómo las empresas
usan la tecnología hoy en día para aumentar las
eficiencias mediante sistemas que antes no hubiesen
podido solventar. Las empresas están reconociendo
rápidamente este valor (para DevOps, equipos
distribuidos y otros estilos de trabajo en evolución)
y están trasladando con rapidez sus servicios a la
nube. Sin embargo, para empresas establecidas de
mayor tamaño (es decir, empresas con inversiones
significativas en TI), trasladar "todo a la nube" puede
no ser viable desde el primer día. Si su empresa
necesita contar con servicios en la nube y en los
sistemas locales, se recomienda que considere
un enfoque híbrido de la informática en la nube
donde puede elegir qué cargas de trabajo son
La plataforma correcta de desarrollo basada en la nube
le permitirá trabajar en cualquiera de estas situaciones.
Y en una de las más emocionantes: implementar de
forma instantánea un entorno de prueba con solo
usar un script de automatización, ejecutar pruebas
de aceptación o más pruebas en profundidad para
comparar, y luego, desaprovisionar automáticamente
sus colas de baja prioridad cuando finalice, lo que le
permite ahorrar horas valiosas de trabajo.
Si decide utilizar la nube, elija una plataforma que
aproveche todos los beneficios que ofrece la nube
(interoperabilidad, apertura, portabilidad híbrida,
automatización) sin comprometer las capacidades
que demandan su equipo y las partes interesadas.
Azure es la plataforma de nube flexible y abierta
de Microsoft que permite que su equipo se enfoque
en el código y use los bloques de creación de la
plataforma para escalar con rapidez y agilidad.
Puede diseñar soluciones complejas de categoría
empresarial basadas en Linux que se ejecuten sin
problemas en distintas instancias de la nube. Azure
ha invertido para que el código abierto sea un
elemento de primera categoría, lo que significa que
puede incorporar cualquier entorno (Linux, OS X
o Windows Server), lenguaje ((Python, PHP, Java,
Node.js, .NET, C#, Visual Basic, C++ y otros),
herramientas de desarrollo (Git, Visual Studio,
Eclipse y otras), plataforma de datos o estándares
abiertos con los que ya trabaja. Puede basarse en
prácticamente cualquier tecnología y fuente de datos.
Puede aprovechar la sabiduría de la multitud al usar la
cantidad que desee de herramientas para administrar la
configuración del código abierto (como Chef o Puppet)
a fin de implementar su aplicación en una red global de
9
Capítulo 1 | EMPIECE SU RECORRIDO: TENGA ÉXITO EN LA NUBE.
nube ha mejorado la época de los desarrolladores",
señala Megan Swanson en WIRED. Esta tecnología
"les permite [a los programadores] centrarse en crear
aplicaciones que ofrezcan nuevas funcionalidades,
nuevas oportunidades comerciales e incluso nuevas
industrias". El valor de la nube es evidente, la tecnología
es sólida y la oportunidad es clara. ¿Está interesado?
Si es así, ¡únase!
adecuadas para la nube y qué cargas de trabajo es
mejor mantener en las instalaciones.
Busque una plataforma en la nube que:
• Proporcione flexibilidad para crear su aplicación
a su manera sin importar su caso de uso y
administrar su infraestructura sin comprometer
la confiabilidad ni la escalabilidad. (Impacto en la
empresa: se necesitan pequeños procesos o ajustes
de talentos)
• Permita una interoperabilidad sencilla con
otras plataformas. (Impacto en la empresa: se
necesitan ciertas contrataciones o cursos de
perfeccionamiento; se pueden mantener los
proveedores existentes)
• Impulse la portabilidad de los datos. (Impacto en
la empresa: agilidad y velocidad de la ejecución y
el archivado; libertad para realizar cambios)
• Acepte un enfoque híbrido de informática en
la nube para garantizar que se aprovechen las
inversiones en TI que se realizaron antes en la
empresa. (Impacto en la empresa: compensación
garantizada de la inversión en TI existente; se
mantienen divisiones claras en los sistemas de
cobros)
Hasta hace poco tiempo, los líderes y desarrolladores
de TI tenían tres opciones con respecto a la nube:
ignorarla, bloquearla o utilizarla. Las primeras dos
opciones ya están descartadas: la nave de la nube ya
despegó. Según una nueva encuesta de Evans Data,
casi 5 millones de desarrolladores usan la nube como
una plataforma de desarrollo, cifra que se espera
que se triplique en los próximos 12 meses. Y no es
ninguna sorpresa. "La era de la informática en la
Capítulo 2
CREAR UNA NAVE MÁS EFICAZ:
LA APERTURA Y LA FLEXIBILIDAD
PREVALECEN.Aproveche el software de código abierto en la nube para catalizar el potencial
del desarrollador y satisfacer las necesidades de la empresa.
11
Capítulo 2 | CREAR UNA NAVE MÁS EFICAZ: LA APERTURA Y LA FLEXIBILIDAD PREVALECEN.
Un universo de código abierto es un universo donde
compartir es el "modus operandi". Algunas de las
mejores herramientas que existen hoy en día para el
desarrollo de software integran soluciones de código
abierto y reconocen las culturas que han surgido de
los flujos de trabajo colaborativos a nivel mundial que
estas permiten.
Código abierto no tiene que significar correcciones
remendadas con una compatibilidad limitada.
En muchos casos, el código abierto es el motor
tras la mayoría de las nuevas plataformas de nube.
Para sus misiones, es importante contar con una
excelente nave. Y también el motor tras ella. ¿Qué
motor impulsará su nave hoy? Este: la innovación que
surge de la contribución y colaboración en la nube.
Los exploradores interestelares simulados del futuro
llegan con audacia a lugares donde nadie ha ido e
interactúan con ciudadanos de nuevas civilizaciones
para coexistir y aprender. Al igual que los exploradores
imaginarios del espacio exterior, los desarrolladores de
hoy buscan expandir los límites de sus conocimientos
mediante contribuciones y colaboraciones.
Para los desarrolladores, es de gran valor el hecho de
compartir: se comparten los éxitos, se comparte lo que
aprendió de sus errores, se comparten sus métricas y
se comparte su código. Y lo hace de tal manera que los
demás pueden contribuir de forma significativa.
010101
110001010101110001
010101
110001010101110001
12
Capítulo 2 | CREAR UNA NAVE MÁS EFICAZ: LA APERTURA Y LA FLEXIBILIDAD PREVALECEN.
trabajo decide usar un lenguaje o tecnología diferente.
Le permite "traer su propia nube", lo que posibilita
en gran manera la migración a otros servicios de
hospedaje si alguna vez es necesario.
Mucho de lo fascinante que sucede actualmente en
el desarrollo de la nube es código abierto. Algunas de
las últimas tecnologías alabadas por los críticos que
aprovechan los paradigmas del desarrollo de la nube
incluyen apoyos para bases de datos y caché, como
Cassandra, Elasticsearch, Memcached y Redis. Sin
embargo, una de las tecnologías más fascinantes que
surgió de la última ola de código abierto es Docker,
que ha recibido una gran cantidad de atención gracias
a su capacidad de empaquetar y migrar aplicaciones
de forma eficiente entre plataformas. Esto ha sido un
gran beneficio para todos, incluso para las tiendas
tecnológicas con entornos de desarrollo locales
limitados. Las grandes empresas están identificando
una gran cantidad de usos que le pueden dar a Docker
en la producción y los desarrolladores señalan que
les brinda más tiempo para dedicarse a trabajos más
interesantes y desafiantes. A medida que la nube
evoluciona, los desarrolladores están considerando los
contenedores como una forma de crear e implementar
de forma rápida y eficiente estas aplicaciones "nacidas
en la nube" porque ofrecen flexibilidad y escalabilidad
en las plataformas. Y muchas personas creen que
Docker va a definir la industria por los próximos años.
El código abierto como un motorEntonces, ¿cuál es el mejor enfoque para aprovechar el
software de código abierto en la nube?
Cuando establezca el rumbo para crear aplicaciones
que aprovechen la nube para satisfacer las necesidades
empresariales, debería elegir una plataforma que
Directo desde la fuenteLa TI no se está modificando a sí misma.
Los 18,5 millones de desarrolladores de todo el
mundo están utilizando TI para cambiar el mundo
con una pequeña innovación a la vez. En la era de
Internet, los software están transformando todas las
industrias. Los agentes de este cambio son aplicaciones
empresariales que están modificando radicalmente la
forma en que las organizaciones trabajan, interactúan
con los clientes y comercializan productos.
Los líderes de TI tienen la doble tarea de configurar la
organización para tener éxito y asegurarse de que esta
estrategia considere la promesa de la tecnología de
evolucionar en los próximos años. ¿Cuál es la postura
responsable, cuidadosa e innovadora que se debería
adoptar en un área que parece cambiar con frecuencia?
La constante con la nube, y en su tienda de código
abierto, es la colaboración y la escala. Si los
desarrolladores crearán aplicaciones que aprovechen
la nube para satisfacer las necesidades empresariales,
necesita una plataforma que permita la colaboración.
El código abierto, cuando se usa con la nube, cataliza
el potencial del desarrollador. Imagine una plataforma
que centralice centros de código para sistemas
operativos y utilidades esenciales, y contribuya a la
depuración y solución de problemas. Esta plataforma le
suma caballos de potencia a su motor personal. Mejora
las iniciativas de los desarrolladores sobre resolución de
problemas de orden superior, produciendo programas
eficaces que demuestran rápidamente el valor del
cliente.
El código abierto es la receta secreta de los
desarrolladores que elimina la curva de aprendizaje
cuando se cambia a otro trabajo o cuando el lugar de
13
Capítulo 2 | CREAR UNA NAVE MÁS EFICAZ: LA APERTURA Y LA FLEXIBILIDAD PREVALECEN.
de Marketplace se basan en Linux. Azure también
admite e integra de manera hábil los principales
lenguajes de código abierto, entornos de desarrollo
e infraestructuras (como PHP, Java, Node.js, Python
y Ruby). Es más, Microsoft es compatible con el
ecosistema Hadoop y ofrece HDInsight de Azure, un
servicio de nube 100 % basado en Apache Hadoop
que puede implementar
en Windows y Linux. Y con
una API abierta de RESTful
para cada componente,
SDK para distintos lenguajes
y una amplia variedad de
herramientas y posibilidades
de automatización, Microsoft
está iluminando nuevos escenarios, como las redes de
ingesta de Internet de las cosas, Big Data, "machine
learning" y arquitecturas de última generación basadas
en Docker. En la plataforma de Azure, se pueden
ejecutar plataformas de código abierto tan diversas
como las herramientas de creación de mapas de CAD
de los geógrafos.
Hace algunos años, la oficina de protección
medioambiental del gobierno danés logró hacerse
cargo de sus costosos almacenes de datos locales al
trasladarlos al hospedaje basado en la nube de Azure,
lo que les permitió reducir los costos ya que eliminaron
la dificultad de realizar copias de seguridad manuales
de varios sitios y auditorías de cumplimiento. Al igual
que muchos ministerios públicos, la oficina tenía que
hacer mucho con poco. El pequeño equipo de solo
nueve empleados tenía que mantener 14 bases de
datos diferentes que contenían datos destinados a
una variedad de interfaces geográficas de código
le ofrezca las capacidades correctas, es decir, que
permita desarrollar y probar más rápido la aplicación,
y brinde la flexibilidad para migrar entre la nube y
los sistemas locales. Como vimos, debería facilitar
el uso de casi cualquier lenguaje de programación,
marco de desarrollo o herramienta, y ajustarse a su
situación y la de su equipo, es decir, trabajar con las
herramientas (como Docker,
Java y Red Hat) que ya utiliza.
Además, debería dar mucho
valor al uso compartido
y los flujos de trabajo
colaborativos.
El código abierto no se
trata de la posibilidad, sino de la ocasión. Dado que el
código abierto es una realidad para los proveedores
más importantes de la nube, puede esperar que su
plataforma se ejecute prácticamente en la plataforma
de cualquier servidor. Lo más probable es que su
proveedor de la nube ya use el código abierto para
trabajar en miles de instancias. Desde luego, Azure
lo hace.
La nube de Microsoft es compatible con una gran
variedad de los sistemas operativos, lenguajes,
herramientas y marcos más importantes de la industria,
desde Red Hat hasta Ubuntu, Windows y openSUSE,
MariaDB y SQL Server, C# a Java. Pone al alcance
de su mano los mejores ecosistemas para que pueda
crear excelentes aplicaciones y servicios que funcionen
en muchos dispositivos.
Actualmente, una de cada cuatro máquinas virtuales
de Azure son Linux, y más del 60 % de las imágenes
La mayoría de lo fascinante que sucede actualmente en la nube es código abierto.
14
Capítulo 2 | CREAR UNA NAVE MÁS EFICAZ: LA APERTURA Y LA FLEXIBILIDAD PREVALECEN.
con Docker, y lo hace de forma abierta a servicios
futuros, como los Servicios de contenedores de Azure.
Microsoft está buscando constantemente maneras
de mejorar las experiencias de desarrolladores y
usuarios con SDK para
lenguajes de código abierto
y una API abierta. Además,
Microsoft está comprometido
a compartir información
de la nube con usted y sus
centros de datos, gracias
a Linux y la compatibilidad con el código abierto en
el Administrador de recursos de Azure y, en el futuro,
Azure Stack.
Azure es compatible con las tecnologías de código
abierto que los desarrolladores ya utilizan:
• Incluye herramientas de desarrollo y prueba en
su plan de integración. Azure es compatible con
herramientas como Vagrant, Jenkins y Hudson,
y se integra con muchas otras tecnologías sin
problemas mediante API abiertas, SDK de código
abierto y herramientas de línea de comandos que
funcionan con Linux y OS X.
• Planear la compatibilidad del código abierto
en el producto. Una gran cantidad de servicios
administrados por Microsoft ya se basan en
herramientas populares de código abierto:
Servicios de contenedores de Azure para Docker
y Mesos, Redis Caché para el servicio distribuido
de caché in-memory y HDInsight en Linux para
proyectos de Big Data. La ventaja de trabajar con
estos productos es que ninguno de ellos requiere
una operación manual de los desarrolladores.
Por el contrario, Microsoft administra cada uno
de ellos por usted y se crean con tecnologías de
código abierto.
abierto basadas en Java, además de otros software
de visualización y borradores de terceros. Con el
traspaso a Azure, pudieron administrar servidores en
el terreno desde sus computadoras portátiles, una
tarea práctica considerando
que solo este pequeño
grupo de personas dirigía la
configuración y supervisión
del almacenamiento de datos
de las reservas de recursos
naturales de todo un país.
El anuncio de iniciativas de código abiertoLas tiendas de TI están indagando en el mercado
del código abierto para satisfacer las necesidades
de las empresas. Y el mercado está respondiendo.
Para atraer desarrolladores nuevos al ámbito del
código abierto, más proveedores están liberando
sus códigos. Incluso Microsoft abrió su pila de .NET del
lado de su servidor y la amplió al SO de Linux y Mac,
entre otros proyectos.
Al centro de la nube de Microsoft está Azure, una
plataforma abierta y flexible que puede mantener
el ritmo veloz del desarrollo de la tecnología de
código abierto. A diferencia de otros proveedores que
toman los estándares que crearon o escribieron en un
principio y los retroadaptan para que sean plataformas
abiertas, Azure se creó desde el principio para ser
abierto, o bien, con estándares más abiertos.
De hecho, el código abierto es clave para el enfoque
de Microsoft frente a la innovación de la nube. Como
ilustración de lo anterior, Microsoft está lanzando
nuevas capacidades de contenedor con integración
Código abierto ya no significa correcciones remendadas sin ninguna compatibilidad.
15
Capítulo 2 | CREAR UNA NAVE MÁS EFICAZ: LA APERTURA Y LA FLEXIBILIDAD PREVALECEN.
Ya sea que esté navegando de forma imaginaria por
una república interestelar de soberanías planetarias
o esté realizando asignaciones en la nube en la vida
real, su nave es el punto de partida. Cuando su nave
genera apertura y flexibilidad, y le otorga la libertad
para aprovechar la galaxia y la nube en cualquier etapa,
entonces es un vehículo auténticamente transformativo
que puede anunciar el camino hacia la innovación.
Mientras Microsoft se compromete con el ecosistema
de código abierto y adopta soluciones de código
abierto en Azure, usted y su organización se
empoderarán con la elección de plataformas y
herramientas, con la verdadera posibilidad de "traer
su propia nube", con la compatibilidad sencilla con el
código abierto y con las opciones de administración
inteligente.
Antes de tomar una decisión, infórmese sobre
el objetivo de los planes de su propia nube y los
objetivos de los proveedores de software de la nube
de código abierto.
• Proporciona compatibilidad limitada con Linux.
Y, por ello, les permite a los desarrolladores
eliminar rápidamente obstáculos para usar la
nube en cualquier etapa del desarrollo, desde
la creación, prueba, implementación o producción
de la aplicación.
• Establece como prioridad el enfoque híbrido
y de apertura para asegurar que las cargas de
trabajo no se atasquen. Esto permite que los
desarrolladores trasladen aplicaciones entre los
sistemas locales y la nube, con la certeza de que
las instancias completamente virtualizadas se
pueden volver a trasladar por completo a los
sistemas locales si la empresa lo necesita.
Con un gran compromiso por permitirles a los
desarrolladores trabajar en código abierto para
aprovechar las plataformas que ya conocen y disfrutan,
Microsoft, en asociación con Linux Foundation, lanzó
recientemente el programa de certificación Linux en
Azure para profesionales de TI que buscan dominar
la administración de Linux y las habilidades de
implementación de Microsoft Azure. La certificación
que emite Microsoft, que incluye el examen
Linux Foundation Certified System Administrator,
les permite a los líderes y desarrolladores de TI
distinguirse entre sus pares y, a la vez, contar con
la validación técnica y profesional en las tecnologías
más interesantes de nuestra era.
En nuestro universo definido por software, si la
máquina de TI es innovación, entonces el motor más
evolucionado es el código abierto.
Capítulo 3
EL DESPEGUE: LAS SOLUCIONES
DE NUBE HÍBRIDA OFRECEN
LO MEJOR DE LOS DOS MUNDOS.
Prepárese con las nuevas herramientas de administración para enfrentar el nuevo desafío
sin rodeos: la nube híbrida.
17
Capítulo 3 | EL DESPEGUE: LAS SOLUCIONES DE NUBE HÍBRIDA OFRECEN LO MEJOR DE LOS DOS MUNDOS.
de propiedad. Sin embargo, también comprende
que los beneficios de la nube no se pueden ignorar.
Finalmente, surge la pregunta: ¿cuál es la forma
más fácil y rápida de trasladar nuestras aplicaciones
a un entorno público de nube mientras conservamos
una estrecha integración con la arquitectura de nuestro
sistema local?
Las operaciones con varias misiones requieren una
coordinación exhaustiva entre distintos departamentos.
Al ser la autoridad con respecto a las operaciones
en su nave, tiene la obligación de tomar decisiones
fundamentales para iniciativas coordinadas
importantes para su empresa, como encontrar la mejor
manera de vincular el centro de datos corporativo y
la nube. Pero no está solo. Los líderes de TI tienen la
tarea de proteger su infraestructura local como se hace
en una inversión empresarial importante y activos
18
Capítulo 3 | EL DESPEGUE: LAS SOLUCIONES DE NUBE HÍBRIDA OFRECEN LO MEJOR DE LOS DOS MUNDOS.
empezar? El desafío principal de fusionar la nube
pública con la privada es decidir qué cargas de trabajo
deben ejecutarse en la nube privada, cuáles trasladar a
la nube pública y cómo este acuerdo híbrido afectará
a su empresa.
Cuando determine sus opciones, se recomienda
tomar en cuenta el tamaño de su carga de trabajo
y consideraciones respecto del cumplimiento y la
seguridad. La arquitectura de los servicios asociados
con una aplicación determinada puede que no sea
adecuada para usarla en la nube. Tal vez es mejor
incluir esas cargas de trabajo en la arquitectura local
por motivos financieros o de rendimiento. Además,
es posible que los sistemas que requieren parámetros
estrictos de seguridad, configuraciones especializadas
o hardware exclusivos no prosperen en la nube.
Muchas empresas enfrentan severas normativas
gubernamentales y de la industria que limitan de forma
estricta la ubicación física de ciertos tipos de datos.
Como la premisa principal de la nube pública es poder
ejecutar cualquier carga de trabajo en cualquier lugar
del mundo, inevitablemente se producirán conflictos
entre los servicios de la nube pública y las normativas
de empresas especializadas. En consecuencia, las
empresas limitadas por normativas determinadas
a menudo tendrán que delimitar aplicaciones
confidenciales de la nube pública. Entonces, considere
la arquitectura local para acceder de forma local y
rápida a archivos grandes, el control sobre datos
confidenciales y el cumplimiento con ciertas normativas
y acuerdos de auditoría.
Obtener una infraestructura flexible y ampliable Todos sabemos que la informática en la nube, que se
basa en pilares sólidos de facilidad de uso, flexibilidad
y eficiencia de costos, tiene una oportunidad en
las empresas actuales. Sin embargo, aunque las
organizaciones hayan tomado la decisión de adoptar
la nube, se ven enfrentadas a otra decisión: cuándo
comenzar a aprovechar la nube pública, cuándo no
hacerlo y cuándo trasladar los servicios y las cargas
de trabajo desde el centro de datos hasta las nubes
públicas. Lo bueno es que la respuesta no solo se
encuentra en la nube. Un enfoque de nube híbrida le
permite a su equipo fusionar la presencia del centro
de datos tradicional que ya conoce con las ventajas de
la nube pública. Si opta por la ruta híbrida, obtiene la
flexibilidad de implementar nuevas capacidades en la
nube y, a la vez, aprovechar la riqueza que otorga la
infraestructura existente en cuanto a la organización.
Las empresas reconocen que necesitan ambos: los
sistemas locales y los servicios de la nube. Por lo tanto,
si aún no lo hace, considere unir la gran cantidad
de líderes de TI que abordan estas dos necesidades
mutuamente con la implementación de la nube
híbrida, una manera segura de trasladarse a la nube y,
al mismo tiempo, obtener más valor de la inversión en
los sistemas locales.
Poner en marcha la migración Un traslado a la nube híbrida no tiene que ser tan
radical como trasladar toda la información del centro
de datos corporativo, pero de todos modos puede
implicar cambios significativos para su equipo y sus
usuarios. Hay mucho trabajo por hacer. ¿Por dónde
19
Capítulo 3 | EL DESPEGUE: LAS SOLUCIONES DE NUBE HÍBRIDA OFRECEN LO MEJOR DE LOS DOS MUNDOS.
lugar. Con las herramientas basadas en la nube, puede
brindar acceso a aplicaciones de nube en el terreno
con solo iniciar sesión. También puede administrar las
políticas de acceso, lo que le permite asegurar el envío
de documentos confidenciales en cualquier dispositivo,
y configurar alertas de seguridad que se activan
ante comportamientos sospechosos antes de que se
provoquen daños. Y además, puede ahorrar tiempo
y disminuir las llamadas al servicio de asistencia con
el restablecimiento de cuentas y contraseñas dirigido
a los usuarios.
Entonces, considere la nube para crear copias de
seguridad de los datos y almacenarlos, para obtener
una escalabilidad superior a petición y para un acceso
seguro y distribuido a las aplicaciones móviles.
Maximizar las capacidadesUna nube híbrida bien ejecutada puede ofrecer
rápidamente recursos públicos y privados, lo que
proporciona control y visibilidad a los departamentos
de TI y el autoservicio a petición que esperan los
desarrolladores y usuarios de las aplicaciones. A través
de una infraestructura de nube híbrida más flexible, las
empresas pueden acelerar el plazo de comercialización,
satisfacer la demanda que aumenta y reducir costos,
ya que un enfoque híbrido maximiza tres capacidades
clave de la informática, a saber:
• Equilibro de la carga. Un incremento inesperado
en la actividad del usuario podría perjudicar el
rendimiento de la aplicación si el centro de datos
agota su capacidad informática. Sin embargo,
una nube híbrida puede trasladar algunas cargas
de trabajo de la nube privada a la nube pública
(incluida la "ampliación de la nube") y viceversa
según la demanda. Por lo tanto, una empresa
Por otra parte, ampliar su centro de datos con los
servicios de la nube puede mejorar el rendimiento y
la confiabilidad, aumentar sus capacidades y ofrecer
aplicaciones móviles seguras en todo el mundo,
mientras ahorra tiempo y trabajo. Si sumamos la
velocidad y el dinero a la ecuación, podría ser mucho
más rápido y económico crear un prototipo en la nube
que adquirir e instalar hardware en su centro de datos.
Un buen lugar para empezar la transformación con
la nube es la recuperación ante desastres y las copias
de seguridad, que ayuda a proteger los datos y las
aplicaciones de fallas en los equipos o desastres
naturales. Al implementar una solución híbrida para
la protección de datos, puede copiarlos en la nube en
la mitad del tiempo y recuperar los archivos en solo
minutos. La protección automatizada de datos deja a
los ingenieros experimentados libres para trabajar en
proyectos más estratégicos. Y la capacidad escalable de
almacenamiento respalda proyectos futuros.
Con respecto a satisfacer la demanda en crecimiento
de los clientes, la nube puede ampliar sus capacidades
sin necesidad de una gran inversión. Cierta cantidad de
escalabilidad siempre es posible en los centros de datos
locales, pero las funciones suelen ser muy costosas y es
muy lento integrarlas y administrarlas para una nube
privada. Debido a que la escalabilidad es mejor en la
nube pública, un acuerdo para usar una nube híbrida le
permite a la empresa utilizar los recursos informáticos
de una nube pública para reaccionar más rápido que
con un centro de datos tradicional.
Las tecnologías de la nube también son la mejor
alternativa para ofrecer aplicaciones móviles seguras
en todo el mundo. La nube es el entorno ideal para
administrar de forma eficaz el acceso y la identificación
de los usuarios finales desde prácticamente cualquier
20
Capítulo 3 | EL DESPEGUE: LAS SOLUCIONES DE NUBE HÍBRIDA OFRECEN LO MEJOR DE LOS DOS MUNDOS.
centros de datos. Un enfoque de nube híbrida
puede agregar las herramientas de automatización
y supervisión para ayudar a las empresas a
implementar procesos más eficaces y, a la vez,
ayudarlas a justificar el trabajo inicial que conlleva
la implementación.
Una solución óptima de nube
híbrida le permitirá llevar a
cabo este proceso de forma
rápida y fácil en un centro
de control con elementos
precargados de middleware.
Si implementa la mejor
solución de nube híbrida,
puede ayudar a su empresa
a obtener la flexibilidad que
necesita para implementar
capacidades nuevas y, al
mismo tiempo, ganar más valor a partir de su inversión
en los sistemas locales. Interferir con el entorno de
un sistema con éxito que a su empresa le tomó años
crear (al trasladar las aplicaciones o crearles una nueva
estructura), podría ser innecesariamente costoso y
tardar mucho tiempo cuando puede tan solo ampliar el
sistema al agregar funciones nuevas en la nube.
Cuando obtiene asistencia de una plataforma de nube
que proporciona este tipo de infraestructura híbrida
y flexible, puede crear soluciones para su empresa
de forma rápida, rentable, versátil y sencilla. Aquí tiene
los beneficios:
• Acelera el plazo de comercialización. Desarrollar
aplicaciones nuevas en la nube significa probar
cosas nuevas de manera rápida, con costos muy
bajos y con pocos riesgos. Su equipo puede
ayudar a mejorar el plazo de comercialización
mediante el desarrollo de aplicaciones nuevas en
puede asegurar una capacidad adecuada de
informática en todo momento mientras paga solo
por la capacidad adicional cuando la utiliza.
• Escalabilidad. Cierta cantidad de escalabilidad
siempre es posible en los centros de datos, pero
las funciones suelen ser muy costosas y es muy
lento integrarlas y
administrarlas para una
nube privada. Debido
a que la escalabilidad
es mejor en la nube
pública, un acuerdo
para usar una nube
híbrida le permite a
la empresa utilizar los
recursos informáticos
de una nube pública
para reaccionar más
rápido que con una nube privada o con un centro
de datos tradicional. El modelo de pago por uso
que prevalece con la mayoría de los proveedores
de nubes públicas también implica que solo paga
por los recursos que usa. Además, asegura que su
proveedor no limite su uso de un nivel de pago,
sino que realmente obtenga escalabilidad "a
petición".
• Automatización. Esta es una capacidad clave
en la nube, puesto que facilita tareas como
el aprovisionamiento y el mantenimiento
continuo. Para utilizar las funciones de escalado
automático en un entorno de nube y permitir su
ampliación, debe habilitar el aprovisionamiento
automático y la configuración automática de
las aplicaciones en los servidores de la nube.
Muchas organizaciones reconocen la necesidad de
contar con automatización, pero no encuentran
el tiempo para implementarla en sus propios
La implementación de la nube híbrida es la forma más segura de trasladarse a la nube y, a la vez, obtener más valor a partir de la inversión en los sistemas locales.
21
Capítulo 3 | EL DESPEGUE: LAS SOLUCIONES DE NUBE HÍBRIDA OFRECEN LO MEJOR DE LOS DOS MUNDOS.
a través de diferentes funciones de automatización
nuevas y existentes para ampliar la capacidad,
el rendimiento, la disponibilidad y el proceso de
administración de seguridad habitual de sus servicios
de nube híbrida.
Decidirse por un proveedor de nube híbrida es más
complejo que elegir una oferta en la nube únicamente
privada o pública. Cuando considera una nube privada
o pública, compara características y funcionalidades
según un solo entorno. Sin embargo, con una nube
híbrida, debe observar la solución que se ofrece en
su entorno y en lo que existe fuera de su entorno. Sea
cauteloso. La transparencia entre los recursos internos
y externos no necesita que se reflejen las cargas de
trabajo ni el rendimiento. La nube híbrida debería
considerarse una extensión de sus recursos internos.
Sin embargo, la seguridad, los contratos de nivel de
servicio (SLA) y la administración deberían ser lo más
similares posible a su entorno interno.
Los líderes de TI deben prestar atención: el cruce
entre proveedores puede generar desafíos en la
compatibilidad. Si bien muchos proveedores de nube
híbrida son compatibles con varios hipervisores y
cargas de trabajo, no obtendrá siempre las funciones
adicionales que ofrece cada plataforma o el mejor
rendimiento cuando cruza líneas de proveedores. Por
ello, es importante encontrar un proveedor acérrimo
de nube híbrida que sea compatible no solo con la
migración de cargas de trabajo, sino que también
automatice el factor operacional de contar con un
escenario de informática dual: alguien debe mantener
el funcionamiento. El desafío que enfrentan muchas
empresas consiste en darse cuenta demasiado tarde
de que su proveedor de nube los deja con la carga
de realizar el mantenimiento operacional, como si el
cambio desde el sistema local no hubiese ocurrido.
la nube. Incluso, puede ser más rápido realizar
la implementación en una plataforma como
Microsoft Azure que en su propio entorno interno
de prueba.
• Aumenta la escalabilidad. Además de convertirse
en una empresa más flexible, puede controlar de
forma más fácil las cargas de trabajo fluctuantes.
La plataforma Microsoft Azure le brinda escala.
Mitiga el carácter impredecible que tiene el
lanzamiento de una nueva aplicación o función
que resulta ser justo lo que todos necesitaban
y que ahora piden. Por lo tanto, si ayer tenía
10.000 dispositivos conectados a su aplicación,
mañana puede administrar 2 millones.
• Reduce los costos de implementación y simplifica
la administración. A una empresa le puede tardar
años y costar millones de dólares trasladarse a un
centro de datos hospedado. Sin embargo, para
ampliarse de dos a cuatro centros de datos con
Microsoft Azure, una empresa solo necesita una
tarde y una tarjeta de crédito.
• Mejora la satisfacción del cliente. Gracias a ofrecer
servicios nuevos de forma más rápida y accesible a
través de una infraestructura de nube híbrida, las
empresas tienen clientes más contentos. Cuanto
más rápido su empresa pueda impulsar cambios
y probar nuevas cosas mediante un proveedor
propicio de soluciones en la nube, más rápido
podrá encontrar la combinación correcta de
servicios que optimizan al máximo la experiencia
de los clientes.
Implemente el éxito No subestime el alcance que se necesita para integrar
los servicios en la nube a sus procesos existentes de TI.
El proveedor correcto de una nube híbrida lo ayudará
22
Capítulo 3 | EL DESPEGUE: LAS SOLUCIONES DE NUBE HÍBRIDA OFRECEN LO MEJOR DE LOS DOS MUNDOS.
facilidad de implementación inherentes en un nivel
de middleware integrado del ecosistema de un solo
proveedor.
Sin embargo, algunas tiendas prefieren utilizar
el producto empresarial de un solo proveedor
para aprovechar los SLA de la empresa. Se puede
utilizar la configuración de una empresa (como la
integración total de la nube de Microsoft Azure con
Windows Server 2012 R2 que ejecuta System Center)
para complementar un entorno de software de código
abierto, lo que facilita una coherencia aún más amplia
de la carga de trabajo cuando se realiza el traslado a
entornos de nube híbrida. Por ejemplo, la integración
de Red Hat les brinda a los clientes de Azure
compatibilidad combinada con ambos proveedores
con remisión coordinada de problemas. De esta forma,
se combina la experiencia de un distribuidor de código
abierto ampliamente reconocido y una plataforma de
nube líder en el mercado.
La mayoría de las empresas viven en una realidad
donde necesitan ambos: los sistemas locales y los
servicios de la nube. Los centros de datos locales no
proporcionan opciones de escalado ni eficiencias de
costos en el mismo grado que las nubes públicas.
Sin embargo, las empresas quieren tener la opción
de mantener ciertos datos tras sus firewalls. Un
modelo híbrido ofrece lo mejor de los dos mundos.
Si implementa un modelo de distribución de nube
híbrida, puede aprovechar y mantener las inversiones
que ya realizó en TI. Para los equipos de TI, puede ser
un desafío lograr que elementos de la nube pública
y su infraestructura funcionen juntos y crezcan con el
Una verdadera compatibilidad híbrida debe integrar la
mejor automatización y arquitectura en la arquitectura
de la solución. Deben brindar el beneficio que se busca
en esos niveles de abstracción.
Azure, que en un momento se consideró tan solo
como una plataforma de Windows, no solo incluye
compatibilidad para migrar diversas tecnologías.
También presenta una completa compatibilidad con
sus máquinas virtuales Linux o contenedores Docker
en nubes internas y externas. Pero esto no significa que
ya debe comenzar a realizar un ejercicio de mosaicos
con todos sus proveedores. Por ejemplo, puede usar la
tecnología Microsoft Hyper-V y ampliarla a una nube
híbrida que no sea Microsoft Azure. Sin embargo, esto
no garantiza que no tendrá problemas ni que usted o
su equipo no caerán en culparse mutuamente con el
proveedor. La única diferencia ahora es que parte del
problema técnico ya no existe en sus sistemas.
Si ya está considerando Azure o tiene una suscripción
y desea saber cómo empezar, no crea que solo debe
usar herramientas de desarrollo de Microsoft. Es
libre de ampliar su inversión en la nube con diversas
aplicaciones y servicios a la medida gracias al catálogo
de Azure Marketplace de middleware e integradores
del tipo Plug and Play que le permiten compensar la
configuración de Internet como un servicio. Permita
que sus arquitectos aumenten los activos existentes
con la tecnología más adecuada, no con la tecnología
que se alinee con el conjunto de herramientas de su
proveedor. No debe preocuparse por estar limitado
a un solo proveedor, aunque debe estar al tanto de
que se deben crear coherencias en la plataforma y
el lenguaje para las operaciones que se repiten y las
instancias por lotes. Además de los problemas de
compatibilidad, existen incentivos con respecto a
23
Capítulo 3 | EL DESPEGUE: LAS SOLUCIONES DE NUBE HÍBRIDA OFRECEN LO MEJOR DE LOS DOS MUNDOS.
tiempo. Pero la evolución continua de los estándares,
prácticas y herramientas de la nube deberían ir
facilitando la integración y el crecimiento de la nube
híbrida.
El entusiasmo de los proveedores con respecto a la
promesa de la "nube híbrida" es una excelente noticia
para las tiendas de código abierto. No obstante, no
siempre el entusiasmo de hoy se traduce en soluciones.
Microsoft ofrece una solución especializada para la
informática en nube híbrida.
Capítulo 4
MANTENER SU NAVE EN LO ALTO: APLIQUE
AUTOMATIZACIÓN Y ELASTICIDAD.
Utilice la automatización de la manera correcta
para adaptarse a las cargas de trabajo fluctuantes.
25
Capítulo 4 | MANTENER SU NAVE EN LO ALTO: APLIQUE AUTOMATIZACIÓN Y ELASTICIDAD.
manual el rendimiento y escalar un sistema que se
adapte a cargas de trabajo fluctuantes puede ser un
proceso de mucho trabajo. Y puede que no sea viable
trabajar así a gran escala. Aquí es donde el valor del
escalado del umbral cobra importancia, ya que permite
agregar y eliminar capacidad en una infraestructura
de nube según el volumen o la demanda, sin ninguna
intervención humana.
Conducir una nave hermética es más fácil cuando
los equipos pueden controlar la gran cantidad de
sistemas esenciales responsables de ejecutar las
funciones fundamentales de su aeronave. Si usted
fuera el comandante de una nave espacial, aunque
contara con la tripulación más resistente, no dudaría
en implementar avances tecnológicos que ayuden
a aminorar la carga de trabajo de los ingenieros y
miembros del equipo.
Mientras evolucionamos hacia un mundo donde
se toma la "infraestructura como código", se vuelve
imperativo que la tecnología que impulsa aplicaciones
complejas y expuestas a la Web se automatice para
aumentar la disponibilidad, el cumplimiento y el
escalado "inteligente" del umbral. Supervisar de forma
26
Capítulo 4 | MANTENER SU NAVE EN LO ALTO: APLIQUE AUTOMATIZACIÓN Y ELASTICIDAD.
temporalmente mientras se vuelve a implementar.
A veces, es posible mantener el sistema original
funcionando mientras implementa el hardware nuevo
y lo conecta, pero es más probable que exista cierta
interrupción mientras el proceso se traslada desde el
entorno anterior al nuevo.
En cambio, la escalabilidad horizontal (es decir,
aumentar horizontalmente), cuando implementa el
sistema en recursos adicionales (por ejemplo, más
servidores con menos
procesadores y RAM)
para interactuar de forma
automática y satisfacer la
demanda en un momento
determinado, le permite al
sistema seguir funcionando
sin interrumpirse mientras
se aprovisionan estos
recursos. Otra ventaja es
que el escalado horizontal
le permite aumentar los
puntos de error para
aplicaciones esenciales, de
esta forma, proporcionando
capacidades automáticas de conmutación por error
en caso de tiempos de inactividad. Otro punto no
menos importante es que aumentar la capacidad
horizontalmente suele ofrecer una actualización más
sencilla y ser más económico que el escalado vertical,
además de permitirle escalar de forma indefinida.
Si usted es como muchos otros desarrolladores, no
puede predecir en un 100 % cómo será su carga de un
momento a otro porque depende de las necesidades
de los clientes que pueden cambiar con frecuencia.
Pero necesita administrar todos los aumentos
Abordar el carácter impredecible de la carga y su aumentoLa capacidad de escalar a pedido es una de las ventajas
más importantes de la informática en la nube. Hoy
en día, la capacidad de un sitio web para responder
a aumentos enormes en el tráfico de visitantes se ha
convertido rápidamente en una de las preocupaciones
principales. Aunque es cierto que realizar un
escalado de forma vertical es la solución más sencilla
(simplemente aumente
la RAM, agregue algunos
núcleos y listo), el problema
con este enfoque es que no
es una solución a futuro. Esta
solución solo es útil para el
tamaño y la capacidad de
crecimiento de la instancia.
La mejor alternativa es
dedicar tiempo a analizar una
arquitectura de software de
escalado horizontal.
De los dos tipos de
escalabilidad, la escalabilidad
vertical (es decir, aumentar
verticalmente) es la forma más fácil y tradicional de
ampliar la capacidad. Esto se hace al actualizar el
hardware que ya tiene (es decir, comprar un servidor
más robusto y costoso) o volver a implementar la
solución usando un hardware alternativo que tiene una
capacidad y un rendimiento superior. El inconveniente
es que finalmente llegará un punto donde el costo
será prohibitivo o agotará la capacidad disponible
de hardware. Además, aumentar verticalmente
la capacidad puede ser un proceso perjudicial
que requiere que el sistema no esté disponible
La tecnología que impulsa aplicaciones complejas y expuestas a la Web debe automatizarse para aumentar la disponibilidad, el cumplimiento y el escalado "inteligente".
27
Capítulo 4 | MANTENER SU NAVE EN LO ALTO: APLIQUE AUTOMATIZACIÓN Y ELASTICIDAD.
instancias de sus procesos. En su lugar, aumente de
nivel las soluciones de especificaciones de diseño
que no especifican qué instancia ejecutará qué
subproceso.
• Las distintas cargas de trabajo de las empresas
necesitarán configuraciones diferentes. Es posible
que necesite distintas políticas de escalado para
las diferentes partes de su aplicación cuando las
tareas en segundo plano se ejecutan en instancias
informáticas independientes. Por ejemplo, si el
sistema ofrece varios niveles de servicio (como
básico y premium), es posible que tenga que
realizar un escalado horizontal de los recursos
informáticos para los paquetes del servicio
premium de forma más activa que para los
paquetes del servicio básico a fin de cumplir con
diferentes niveles de SLA.
• Establezca un límite superior. Limite la cantidad
máxima de instancias que se pueden agregar
automáticamente a su configuración de escalado.
De esta forma, evita creaciones excesivas y
establece un límite superior para los costos que se
asocian con ejecutar posiblemente muchos miles
de instancias.
• Configure la supervisión de eventos. El mecanismo
de escalado del umbral debería supervisar el
proceso de escalado y registrar los detalles de cada
uno de estos eventos (por ejemplo, qué lo activó,
qué recursos se agregaron o eliminaron, y cuándo).
Puede usar esta información para identificar
patrones de uso, ayudar a medir la eficacia de
su estrategia y modificar la estrategia a largo
plazo a medida que los requisitos de la aplicación
evolucionan.
futuros. Al mismo tiempo, no quiere pagar de más
por recursos informáticos cuando no los necesita.
Cuando un producto o servicio nuevo se lanza por
primera vez, puede esperar un crecimiento rápido que
conlleva un incremento de los clientes nuevos. Con
el tiempo, dicha actividad puede transformarse en
una carga estacional que se caracteriza por períodos
cíclicos de cargas fuertes seguidas de cargas débiles
(de un mes al próximo o de una semana al fin de
semana o, como en el caso de Netflix, de la tarde a la
mañana). En el caso de algunas tareas, como trabajos
programados o informes diarios, vería un patrón de
cargas intermitentes en el que, a veces, no hay ninguna
carga en absoluto. Frente a situaciones competitivas o
imposibles de predecir, el escalado del umbral puede
ayudar con el control estimado de la carga futura.
Consideraciones para implementar el escalado del umbralLa mayoría de las plataformas basadas en la nube
proporcionan mecanismos integrados de escalado
del umbral que abordan situaciones comunes, pero
es importante tener en cuenta que el escalado del
umbral no es una solución instantánea. Tan solo
agregar recursos a un sistema o ejecutar más instancias
de un proceso no garantiza que el rendimiento del
sistema mejore. Crear una infraestructura con escalado
del umbral requiere una evaluación cuidadosa y una
configuración atenta en función de las necesidades
de su servicio para ofrecer valor.
Considere estos puntos cuando implemente
una estrategia de escalado del umbral:
• Su sistema debe estar diseñado para escalabilidad
horizontal. Cuando escale un servicio o un sitio
web de la nube horizontalmente, evite especificar
28
Capítulo 4 | MANTENER SU NAVE EN LO ALTO: APLIQUE AUTOMATIZACIÓN Y ELASTICIDAD.
equilibrados con precisión que podrían iniciar
o detener instancias con demasiada frecuencia
al permitir solo una acción de escalado en
un período de cinco minutos (o más). Puede
aumentar este período si encuentra que el
sistema sigue reaccionando de forma desmedida.
Configurar el segundo método (escalado del
umbral basado en el tiempo) asegura que las
instancias adicionales estén disponibles para
coincidir con un alza inesperada del uso, y
realizarán el escalado una vez que haya pasado
este incremento. Esta estrategia le permite tener
suficientes instancias ya funcionando sin esperar
que el sistema reaccione a la carga.
El escalado del umbral podría ser un excelente
valor para su organización, ya que lo ayudaría
a alcanzar niveles altos de disponibilidad y
optimización de recursos. Cuando esté listo
para comenzar, Microsoft Azure ofrecerá
muchos recursos para los desarrolladores que
lo ayudarán a decidir si el escalado del umbral
puede serle útil, además de diversos enfoques
para configurarlo. Una configuración atenta y
una implementación cuidadosa son esenciales
si decide usar el escalado del umbral para su
infraestructura.
El escalado del umbral en Microsoft Azure como una soluciónEl escalado del umbral de Azure le permite
escalar sus servicios de forma dinámica según
un conjunto de reglas que se establecen
fácilmente. Al utilizar esta función, puede
agregar o eliminar automáticamente instancias
de funciones de aplicaciones web de Microsoft
Azure y Máquinas virtuales de Azure. Puede
configurar rápidamente políticas de escalado
a alto nivel en el Portal de administración de
Microsoft Azure, o para el próximo nivel de
control, usar la Biblioteca de administración de
servicios de supervisión de Microsoft Azure a
fin de configurar reglas más detalladas para el
escalado del umbral.
Existen dos enfoques para configurar reglas de
escalado automático en Azure: 1) basado en
métricas y 2) basado en el tiempo.
Con el enfoque basado en las métricas,
configure el escalado del umbral según las
métricas del tiempo de ejecución, como el uso
promedio de CPU, por ejemplo durante la última
hora, o el trabajo pendiente de artículos en
una cola de mensajes que está procesando la
solución. Configure los parámetros, supervise
el rendimiento del sistema y, si es necesario,
ajuste la forma en que el sistema realiza el
escalado. Sin embargo, recuerde que el escalado
del umbral no es un proceso instantáneo. Toma
tiempo reaccionar a métricas como el uso
promedio de CPU que supera un nivel específico
o cae por debajo de este. Una ventaja de Azure
es que evita que deba establecer umbrales
Capítulo 5
LA EXPANSIÓN HACIA
EL EXTERIOR: AUMENTE LA VELOCIDAD Y
AGILIDAD CON LOS MICROSERVICIOS.
Impulse las aplicaciones de la empresa y gane agilidad y
resiliencia a gran escala con una arquitectura de microservicios.
30
Capítulo 5 | LA EXPANSIÓN HACIA EL EXTERIOR: AUMENTE LA VELOCIDAD Y AGILIDAD CON LOS MICROSERVICIOS.
central y, a la vez, brindar servicios de nube
básicos para la misión. Quiere una plataforma
que se haga cargo de toda la ciencia espacial
compleja que ocurre tras bambalinas para que
usted y su equipo puedan centrarse en hacer
lo que mejor hacen: crear aplicaciones con un
gran nivel de personalización y escalabilidad.
Imagine que está en una nave espacial que
tiene la tecnología más avanzada del siglo 23.
Su nave espacial imaginaria es impresionante,
seguramente porque integra avances en la
tecnología de la curvatura del espacio-tiempo y
la instrumentación de la ciencia. Su nave, una de
las que cuenta con la tecnología más sofisticada
de su tiempo, también es conocida por ser una
de las más poderosas y capaces de dejar un
planeta sin vida en cosa de horas. Eso es mucha
potencia.
En el universo de su vida real, usted desea
contar con una nave de gran control como
esta: una que ofrezca tecnología fundamental
y aguerrida para ejecutar una infraestructura
31
Capítulo 5 | LA EXPANSIÓN HACIA EL EXTERIOR: AUMENTE LA VELOCIDAD Y AGILIDAD CON LOS MICROSERVICIOS.
Las empresas a través de Internet conocidas por
su excelente capacidad de operar con sitios web
de grandes volúmenes y a altas velocidades han
elegido adoptar un enfoque más detallado y con una
conexión más flexible basado en una arquitectura
de microservicios. Así desvinculan eficazmente la
aplicación en piezas funcionales más pequeñas.
Esto genera un microservicio
detallado, autónomo y sin
estado, que es ideal para
la nube. Es ideal porque
mediante los contenedores
puede actualizar, agregar,
reemplazar o eliminar
fácilmente servicios de
su aplicación con un
impacto mínimo en
otras características o
funcionalidades. Además,
los contenedores Docker
son un vehículo perfecto
para este recorrido. ¿Por qué? Porque proporcionan
un empaquetado eficaz, portabilidad en distintos
entornos, una densidad alta de aplicaciones para
recursos existentes y un ecosistema próspero en
Docker Hub.
Por ejemplo, una aplicación de comercio electrónico
podría utilizar varios contenedores Docker para la
búsqueda, la memoria caché, los mensajes y los datos
back end, agrupándolos en clústeres que realizan
escalado horizontal y dividiendo la aplicación de
forma funcional en contenedores. Los contenedores se
organizan en el nivel del servicio: uno para recuperar
la información del producto desde el catálogo, otro
para revisar el inventario y otro para emitir un pedido
de envío a un servicio externo. Cada uno de estos
Alejarse del monolitoLa nube ha cambiado la forma en que las empresas
brindan servicios al ofrecer la capacidad de escalar
a pedido. Para beneficiarse de una de las mayores
ventajas de la informática en la nube, se ha motivado
a los desarrolladores a reconsiderar el diseño de las
aplicaciones mediante el
reemplazo de las aplicaciones
empresariales tradicionales
y complejas con un enfoque
de microservicios. Esto
significa desarrollar una sola
aplicación como un conjunto
de servicios pequeños,
autónomos y escalables para
ofrecer API fáciles de usar
para una función específica
de la empresa. La tecnología
de contenedores, como
Docker, ofrece esta capacidad
y cumple con la nueva
promesa de la tecnología de nube de proporcionar una
abstracción en el nivel de procesos (a diferencia de las
máquinas virtuales convencionales) y la agilidad que las
organizaciones esperan de TI.
Probablemente está familiarizado con el patrón
común de diseño de aplicaciones de línea de
negocio: un servidor web que ejecuta el código de
interfaz del usuario, una aplicación monolítica que
ejecuta toda la lógica y los servicios de la empresa,
y una sola base de datos para todos los requisitos
persistentes de almacenamiento. Si reconoce esta
arquitectura, probablemente también conoce sus
desventajas: a saber, si cambia una pequeña parte de la
aplicación, se debe recrear todo el monolito y volver a
implementarse.
El crecimiento de Docker, la proliferación de herramientas de desarrolladores externos y el aumento de la confiabilidad en la nube ayudan a incrementar la popularidad de los microservicios.
32
Capítulo 5 | LA EXPANSIÓN HACIA EL EXTERIOR: AUMENTE LA VELOCIDAD Y AGILIDAD CON LOS MICROSERVICIOS.
Sin embargo, en la mayoría de los casos, los
desarrolladores solo usan los contenedores para
las partes sin estado de la aplicación, mientras que
los servicios con estado, como las bases de datos,
se administran fuera del ciclo de vida normal de la
aplicación. En última instancia, este enfoque limita
los beneficios que se pueden obtener al adoptar
completamente los microservicios basados en
contenedores para toda la
aplicación. En esta era de
equipos distribuidos y servicios
específicos para el lugar, utilizar
contenedores para toda la
aplicación conlleva beneficios
interesantes, como acelerar el
tiempo para comercializarla en
nuevos mercados o disminuir el
tiempo de inactividad durante
la migración. Por ejemplo,
Docker agilizará de gran manera las migraciones
de centros de datos para su organización. Docker le
permite trasladar fácilmente una aplicación que se
encuentra por completo en contenedores entre centros
de datos, compensando las promesas de portabilidad
y características híbridas de la nube. Como siempre ha
sido tan complejo trasladar grandes conjuntos de datos
en largas distancias, es un beneficio para los equipos de
desarrollo contar con la capacidad de hacerlo sin volver
a crear una arquitectura para la aplicación como parte
de la migración.
La implementación como la necesitaCuando su organización aprovecha los contenedores
en la arquitectura de su aplicación, obtiene la
capacidad de desintegrar esa aplicación de forma
contenedores se pueden describir en un archivo de
Docker como si fueran código y replicarlos en los
entornos. No hace falta decir que esto no solo acelera
las instancias clonadas de prueba e implementación,
sino que también les proporciona a los equipos
una red de seguridad ya que está conectado a las
capacidades de escalado del umbral. Si la carga
aumenta repentinamente, se pueden agregar más
servidores web sin estado. O si
un servicio existente sin estado
muere, se puede reemplazar
con otro. Cuando esto se hace
correctamente, la ventaja es
que ofrece mayor agilidad y
resiliencia.
Desde luego, esta solución
presenta algunos desafíos.
Hoy en día, las arquitecturas
basadas en contenedores que se utilizan en las
aplicaciones móviles y web suelen no tener estado.
Pero existen muchos sistemas donde el estado (es decir,
la persistencia o el almacenamiento) simplemente no
se puede evitar. Cualquier sistema que guarde datos
(y existen muchos, entre los que se incluyen no solo
bases de datos, sino cuentas de usuarios, carritos de
compras y colas de trabajos) tiene que administrar el
estado. Como resultado, las herramientas con estado
para el diseño de aplicaciones siguen aumentando y
evolucionando. MongoDB, RabbitMQ, Redis, Apache
Cassandra, MySQL… La cantidad y variedad de servicios
de datos que pueden usar los desarrolladores hoy en
día para distintas partes de sus aplicaciones en una
arquitectura de microservicios es eterna. Elasticsearch
para analizar millones de mensajes de registro.
Redis para colas de trabajos. MySQL para registros
de clientes. Todo esto puede ocurrir en la misma
aplicación.
La plataforma de nube de Azure ofrece una amplia compatibilidad con Docker y su ecosistema.
33
Capítulo 5 | LA EXPANSIÓN HACIA EL EXTERIOR: AUMENTE LA VELOCIDAD Y AGILIDAD CON LOS MICROSERVICIOS.
en proporcionar a los clientes excelentes experiencias
con las aplicaciones, gracias a que Azure ejecuta
los pormenores de los contenedores que impulsan
la eficiencia.
Había una vez en que los desarrolladores no tenían
las bases para abordar los aspectos más comunes de
los servicios de desarrollo, ejecución y administración
a gran escala. Actualmente, existe una plataforma
que comprende intrínsecamente los recursos y las
necesidades disponibles de la infraestructura de las
aplicaciones. Ya sea proporcionando capacidades para
administrar el ciclo de vida de las aplicaciones a fin
de que los desarrolladores no deban volver a crear su
arquitectura mientras aumenta su uso, resolviendo
problemas complejos de sistemas distribuidos (como la
administración del estado) o brindando los beneficios
de la automatización y organización de microservicios
con un nuevo nivel de conocimiento y percepción de
las aplicaciones, la nube de Azure le permite a usted y
su equipo de desarrollo volver a centrarse en desarrollar
las funciones más importantes.
funcional, de escalar horizontalmente (para servicios
sin estado) y de migrar fácilmente su aplicación en
distintos entornos. Esto genera un aumento de la
superficie del contenedor, pero también el desafío
de contar con las herramientas y procesos necesarios
para administrarlos. Estas son herramientas de
administración de servicios en la nube que esperaría
encontrar en un solo proveedor.
Las plataformas comerciales de nube actuales les
ofrecen a los desarrolladores acceso de pago por uso
al poder de procesamiento y almacenamiento junto
con un acceso fácil a un conjunto de servicios comunes
de aplicaciones, como bases de datos relacionales y
NoSQL, caché in-memory y análisis de rendimiento.
Los servicios en la nube le permiten beneficiarse
fácilmente de los entornos automáticos de desarrollo,
prueba, ensayo y producción, asentando las bases para
un funcionamiento continuo. Sin embargo, no todas
las soluciones comerciales de la nube son iguales con
respecto a la administración de aplicaciones creadas en
diversos lenguajes y entornos, ni a las herramientas de
código abierto.
Para empezar, la plataforma de nube de Azure
ofrece una amplia compatibilidad con Docker y su
ecosistema. Comienza con la extensión de Docker
para máquinas virtuales Linux (que también funciona
con herramientas como Machine, Compose y Swarm)
e incluye distribuciones especializadas de Linux
(para contenedores como CoreOS, administración
y supervisión que ofrece Operations Management
Suite). Luego, agrega los Servicios de contenedores
de Azure (disponibles en la vista previa privada) para
habilitar la amplia variedad de posibilidades de usos
de contenedores. De esta forma, Microsoft les permite
a los desarrolladores y las organizaciones centrarse
Todos los caminos dirigen a la naveCrear un entorno de desarrollo digno para una empresa es muy similar a comandar una nave espacial. Su éxito
y el de su tripulación depende de su capacidad para crear la arquitectura de la nube para el futuro.
• ¿Su plataforma de nube está equipada para impulsar la productividad y la innovación?
• ¿Es compatible con las tecnologías de código abierto que usa su equipo?
• ¿Le permitirá a su organización mantener su inversión en los sistemas locales?
Cuando se trata de adoptar la informática en la nube, Microsoft cree que no debería hacer concesiones: en la facilidad
de uso, los conjuntos de funciones, la implementación de la nube híbrida ni en la portabilidad. Azure está creada
para la apertura con la potencia de la supervisión y compatibilidad en el nivel de la empresa. Se integra directamente
con las soluciones de código abierto estándares de la industria, algunas de las cuales han usado los profesionales
del código abierto por décadas.
Con Microsoft Azure, obtiene lo mejor de la nube, según sus términos, sin comprometer a su equipo
ni a sus capacidades.
Pruebe hoy mismo Azure de forma gratuita y descúbralo usted mismo.
https://azure.microsoft.com/trial/free-trial-open-source/
Obtenga más información sobre las soluciones de código abierto de Azure.
https://azure.microsoft.com/overview/choose-azure-opensource/
Póngase en marcha con AzureLos arquitectos y desarrolladores de todos los sectores y todas las tecnologías pueden implementar aplicaciones
basadas en la nube en la plataforma de Microsoft Azure. Vea cómo un proyecto real toma forma en este seminario
web de OSS en Azure.
https://info.microsoft.com/harness-the-power-of-open-source.html?ls=Libro electrónico