NetApp Tech OnTap NetApp Logo
NetApp Tech OnTap
     
Suministro rápido de aplicaciones con la tecnología de contenedores de Docker
Melissa Palmer
ingeniera de sistemas, NetApp

Como ingeniera de sistemas de NetApp, siempre estoy buscando nuevas tecnologías que puedan aprovechar mis clientes para hacer que sus negocios avancen más rápido. El CIO de NetApp, Jay Kidd, menciona en su documento Predicciones tecnológicas de 2015 , una tecnología nueva y de rápido crecimiento denominada Docker. «Docker reemplaza a los hipervisores y se muestra como el contenedor elegido para aplicaciones con escalado horizontal». No podría estar más de acuerdo.

Mi bagaje profesional se centra en la virtualización, y soy una persona activa en la comunidad de la virtualización. He sido vExpert durante dos años, y llevo tiempo siguiendo a Docker. El pasado mes de noviembre participé en un reto de blogs de 30 días (¡30 blogs en 30 días!) como parte de una comunidad de virtualización en línea que estoy ayudando a poner en marcha llamada Virtual Design Master. Durante el reto escribí una serie de blogs sobre Docker y desde entonces no he dejado de interesarme por el tema, por lo que me agradó que Tech OnTap me pidiera que compartiera mis opiniones sobre el tema.

¿Qué es Docker?

Muchas de las tendencias actuales en tecnología se centran en la abstracción de la infraestructura del hardware. Docker es una plataforma de código abierto que lleva este planteamiento un paso más allá mediante la abstracción de las aplicaciones de los sistemas operativos de los servidores en los que se ejecutan. En lugar de tener que establecer una máquina virtual para cada aplicación, Docker ejecuta aplicaciones en contenedores sobre una única instancia del sistema operativo.

Contenedores

Los contenedores ligeros se pueden ejecutar en cualquier plataforma que admita Docker Engine, que es el cerebro de Docker. Docker Engine se puede ejecutar en casi cualquier lugar, desde un servidor basado en Linux en el centro de datos, hasta un ordenador portátil con Windows, o un entorno de cloud. Los contenedores de Docker se ejecutan de la misma manera, en cualquier infraestructura. La capacidad de Docker de funcionar prácticamente en cualquier lugar ofrece un nuevo nivel de abstracción para las aplicaciones, lo que hace de Docker una manera más sencilla de compilar, suministrar y ejecutar aplicaciones distribuidas. Esto permite a las organizaciones ser más ágiles, escalar una aplicación con la rapidez y facilidad que necesitan y reducir el tiempo de comercialización.

Docker Hub

Otro componente clave del ecosistema de Docker es Docker Hub, un repositorio centralizado que almacena imágenes de Docker para reutilizarlas y compartirlas en la comunidad de Docker. Docker Hub incluye diferentes repositorios oficiales de Docker, como Ubuntu, mongoDB y Java. Gracias a estos repositorios es más sencillo para los desarrolladores empezar a utilizar Docker, ya que pueden tomar una imagen oficial de Docker Hub, modificarla para satisfacer sus necesidades, y cargar la imagen modificada de nuevo en Docker Hub para que sus compañeros de equipo o la comunidad de Docker puedan acceder fácilmente a ella.

Muchos desarrolladores han creado servidores web preconfigurados con entornos de bases de datos y no SQL en un único contenedor o un conjunto de contenedores que pueden aprovechar otros equipos de desarrollo, tanto dentro de una organización como externamente. A medida que crezca la popularidad de Docker, es posible que los proveedores de software comiencen a ofrecer sus productos en forma de contenedores.

También existe una versión empresarial de Docker Hub para aquellos que necesitan mantener todas las actividades de Docker tras la protección de un servidor de seguridad.

Una máquina virtual es como un contenedor, ¿es cierto?

Bueno, más o menos. Docker Engine no es un hipervisor como VMware ESXi. Se puede ejecutar sobre hardware físico, en una máquina virtual sobre un hipervisor o en una plataforma de cloud. Una máquina virtual tiene una configuración específica que incluye un sistema operativo y cualquier otro componente que necesite una aplicación específica que se ejecute en esa máquina virtual.

La diferencia clave es que cada máquina virtual debe tener instalado su propio sistema operativo. Esto implica unos costes adicionales potenciales por aspectos como licencias, configuraciones específicas del sistema operativo y dependencias de la arquitectura.

El contenedor Docker incluye una aplicación (o varias) y recursos compartidos, como los archivos binarios y las bibliotecas que necesita la aplicación para funcionar. Imagínese la eficiencia que se puede lograr si todos los componentes de una aplicación se ejecutan en un contenedor sobre del mismo sistema operativo.

Si pone todos los componentes de una aplicación en un contenedor, este actúa como una construcción lógica, de modo que garantiza la separación entre aplicaciones y cargas de trabajo. Esto le permite ejecutar un entorno multi-tenant con varias aplicaciones, sin tener que preocuparse porque unas interfieran sobre otras.

Figura 1) Comparación de máquinas virtuales y contenedores.

Fuente: NetApp, 2015

Docker y el cloud

Tanto si ejecuta un cloud híbrido como uno público o privado, el diseño de Docker encaja en su estrategia cloud. Muchos proveedores cloud a hiperescala como Amazon Web Services (AWS) admiten Docker. Esta compatibilidad es excelente en cuestión de desarrollo, ya que le permite iniciar fácilmente nuevos entornos para pruebas en cuestión de minutos. Los contenedores Docker se ejecutarán del mismo modo que lo harían en una estación de trabajo o en el centro de datos. Un servicio como AWS puede ser extremadamente potente para los desarrolladores de Docker.

Soporte para operaciones de desarrollo

DDocker también es positivo para los equipos de operaciones. El soporte del entorno de aplicaciones es el mismo, tanto si se está ejecutando en las instalaciones como en el cloud, lo que simplifica la gestión de las aplicaciones dinámicas.

Muchas organizaciones han comenzado a implementar una metodología de operaciones de desarrollo para agilizar aún más el plazo de comercialización. Docker funciona con herramientas de operaciones de desarrollo potentes y clásicas como el motor de automatización Ansible. Esto le permite integrar los procesos de desarrollo preexistentes y nuevos, así como proporcionar una infraestructura automatizada potente que se puede ejecutar en cualquier lugar.

Los proyectos de la comunidad están impulsando el desarrollo de herramientas de orquestación y puesta en marcha para el ecosistema de Docker. Además, Docker, Inc. ha creado Machine, Swarm y Compose productos de compilación y orquestación para clustering y composición. Este tipo de innovaciones solo son el comienzo de una comunidad de Docker activa en la creación de herramientas para hacer de Docker un proyecto viable.

Aprovisionamiento del almacenamiento para Docker

Los contenedores de Docker pueden aprovechar diferentes tipos de almacenamiento en un entorno fácil de administrar. Hay dos formas principales de proporcionar servicios de almacenamiento para un entorno de Docker:

  • Aprovisionar volúmenes dentro de un contenedor de Docker. Los volúmenes nuevos se pueden crear y montar desde un contenedor de Docker. Alternativamente, los volúmenes también se pueden montar en el contenedor de Docker desde el sistema operativo host en el que se ejecuta Docker Engine.
  • Crear un contenedor de volumen de datos. Los contenedores de volúmenes de datos separados se suelen utilizar combinados con contendores de Docker no persistentes. Por ejemplo, una aplicación de escalado horizontal puede utilizar un contenedor de volúmenes de datos para almacenar datos persistentes, de modo que se puedan escalar horizontalmente varios contenedores Docker o reducirlos según sea necesario, sin pérdida de datos.

Docker y Clustered Data ONTAP de NetApp

Es posible que hasta ahora le parezca que Docker y Clustered Data ONTAP de NetApp® funcionan de forma similar. Clustered Data ONTAP actúa como capa de abstracción para el hardware de almacenamiento, donde se incluyen CPU, memoria y unidades, tanto con discos SATA o SAS como SSD. Las máquinas virtuales de almacenamiento (SVM) se ejecutan sobre Data ONTAP, de forma similar a como se ejecutan los contenedores de Docker sobre Docker Engine. Cada SVM puede tener su propio espacio de nombres, por lo que es fácil dar soporte a un entorno de escalado horizontal como Docker.

La estructura de datos lleva las ventajas al cloud

NetApp lleva las ventajas de la abstracción de Clustered Data ONTAP al cloud con su método de estructura de datos. La sencilla gestión entre plataformas y entre clouds de Docker encaja perfectamente en una estructura de datos basada en la tecnología de NetApp.

Puede ejecutar Docker utilizando almacenamiento FAS en su centro de datos y, a continuación, mover todo el entorno al cloud usando las soluciones de almacenamiento privado de NetApp para el cloud (disponibles para AWS, SoftLayer y Azure) o Cloud ONTAP (disponible para AWS) sin cambios y realizar toda la gestión de datos con las mismas herramientas en cualquier ubicación.

Para obtener más información acerca de la puesta en marcha de Docker en combinación con Clustered Data ONTAP, lea el whitepaper NetApp y la tecnología de Docker para mejorar y acelerar las operaciones de desarrollo en entornos de cloud híbrido .

Subirse al "barco de contenedores" de Docker

Es posible que se pregunte «¿Cuál es el mejor momento para subirme al barco de Docker?». La respuesta depende de los requisitos de su negocio. Docker le permite mejorar tanto los procesos de desarrollo como los de puesta en marcha para suministrar software de forma más rápida y con mayor calidad. Muchas organizaciones dan los primeros pasos con la plataforma de Docker cuando quieren implementar o actualizar una aplicación.

Docker es sorprendentemente fácil de poner en marcha, tanto para ejecutarlo desde su portátil como desde AWS. La comunidad de código abierto que hay tras Docker proporciona una gran cantidad de información. Incluso puede probar Docker en el sitio web de la empresa utilizando un simulador para familiarizarse con los aspectos básicos. La integración con componentes de la infraestructura como Ansible, Azure, AWS y OpenStack refleja el rápido crecimiento y la gran popularidad de Docker.

Docker y el movimiento hacia la agrupación en contenedores de aplicaciones y servicios supone un gran cambio para muchas empresas. Lo bueno es que usted no está solo en este viaje. Tanto si su equipo de desarrollo busca más agilidad para poner en marcha y probar el código, como si su equipo de operaciones intenta garantizar la coherencia en los entornos de desarrollo, pruebas y producción, tiene ante usted un gran caso práctico para Docker. Ahora es el momento de observar esta nueva e innovadora tecnología que encaja perfectamente con la visión de la estructura de datos de NetApp.

Melissa Palmer escribe regularmente sobre Docker, virtualización, cloud y otros temas interesantes del sector tecnológico. Su blog, vMiss.net: Secret Diary of a VM Girl, obtuvo recientemente el reconocimiento de mejor nuevo videoblog de 2015 por vSphere-land.com. Visite vMiss.net para obtener más información.

Tech OnTap
Subscribe Now
Tech OnTap provides monthly IT insights plus exclusive access to real-world best practices, tips and tools, behind the scene engineering interviews, demos, peer reviews, and much, much more.

Visit Tech OnTap in the NetApp Community to subscribe today.

Junio de 2015

Explore

Soporte de Microsoft para Docker

En octubre de 2014, Microsoft y Docker anunciaron sus planes de unir el ecosistema de Windows Server con la comunidad de Docker. ¿Por qué debe hacerlo? Muchas aplicaciones se ejecutan en servidores Windows: en el centro de datos, el cloud y Azure. El reciente anuncio de Azure-cloud-in-a-box está atrayendo mucha atención hacia Docker en el ecosistema de Microsoft.

Puede añadir las funciones de Docker a las plataformas Windows para obtener lo mejor de ambos mundos. Todo lo relativo a la gestión de la configuración y la gestión de revisiones de Windows permanece en el mismo lugar, pero los desarrolladores pueden aprovechar los beneficios de los contenedores, que son ágiles, rápidos, reproducibles y predecibles. La disponibilidad de los contenedores en la infraestructura de Windows existente será importante para despertar el interés de las empresas que han realizado grandes inversiones en Windows. Microsoft también está trabajando para admitir el mismo conjunto de funciones en Hyper-V que un objetivo host de Docker.

 
TRUSTe
Kontakt   |   Bezugsquelle   |   Feedback   |   Karriere  |   Abonnements   |   Datenschutzrichtlinie   |   © 2014 NetApp