TELETRANSPORTARSE A LA NUBE - info.microsoft.com · sitio web Node.js o una base de datos MongoDB,...

34
TELETRANSPORTARSE A LA NUBE Instrucciones 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

Transcript of TELETRANSPORTARSE A LA NUBE - info.microsoft.com · sitio web Node.js o una base de datos MongoDB,...

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