Los contenedores son una nueva forma de implementar aplicaciones, que hacen que los profesionales de TI y los desarrolladores estén más cerca de todas las compañías donde está presente el concepto DevOps.

¿Qué es un contenedor?

Container es un sandbox donde es posible ejecutar servicios y procesos en un entorno protegido. Cada contenedor se ejecuta en un Host de Contenedor, que puede ser una máquina de Windows o Linux. Los principales beneficios de los contenedores, si se comparan con las máquinas virtuales clásicas, son los siguientes: la implementación es mucho más rápida, la administración es mínima, no es necesario aplicar parches y la huella es baja.

2019_02_11_docker-01

Figura 1 – Esquema de contenedor

Los otros puntos ganadores son:

  • Los contenedores son rápidos y se inician rápidamente, ya que utilizan el sistema operativo host y comparten las bibliotecas relevantes
  • Los contenedores no desperdician ni bloquean los recursos del host a diferencia de las máquinas virtuales
  • Los contenedores tienen bibliotecas y archivos binarios aislados específicos de la aplicación que están ejecutando
  • Los contenedores son manejados por un motor de contenedorización

¿Por qué contenedores?

Los contenedores no son para todos y los escenarios no son muchos, en detalles:

  • Sitios web
  • Servicios
  • Procesos
  • Aplicaciones

Como servidor web, se puede utilizar el motor más importante, como IIS con .Net, Apache y Ngnix también; Como aplicación, podemos encontrar SQL Server para Windows o Linux y el motor de base de datos más importante. Redis Cache está disponible para guardar nuestros datos antes de guardarlos; Por lo tanto, el enfoque debe ser correcto para evitar problemas..

Los contenedores hacen que el desarrollador sea más independiente de TI y permite crear escenarios avanzados sin tocar el modelo de seguridad o la infraestructura principal. Una empresa puede desarrollar una nueva aplicación con nuevo software sin necesidad de comprar hardware nuevo; Todo se puede ejecutar dentro de la máquina de Windows 10. Cuando la aplicación este lista para el su primera ejecución, el código de compilación se ejecutará dentro del Host del Contenedor para crear la composición.

Otro punto importante para los desarrolladores es la posibilidad de crear contenedores separados para resolver los problemas de compatibilidad: por ejemplo, si tenemos dos sitios web con diferentes requisitos de motor Java, es posible crear contenedores diferentes.

La lógica detrás del escenario simplificará también la actualización del contenedor: no importa si necesita actualizar el sistema operativo o la aplicación, esto se puede hacer en pocos clics sin el departamento de TI.

Docker

Cuando hablamos de contenedores, no podemos evitar hablar de Docker, quizás la plataforma de contenedores más conocida. Docker es una herramienta que está diseñada para beneficiar tanto a los desarrolladores como a los administradores de sistemas, por lo que forma parte de muchas cadenas de herramientas DevOps (desarrolladores + operaciones). Para los desarrolladores, significa que pueden centrarse en escribir código sin preocuparse por el sistema en el que finalmente se ejecutará. También les permite obtener una ventaja al usar uno de los miles de programas que ya están diseñados para ejecutarse en un contenedor Docker como parte de su aplicación. Para el personal de operaciones, Docker ofrece flexibilidad y reduce potencialmente la cantidad de sistemas necesarios debido a su tamaño reducido y menores gastos generales.

Docker Enterprise vs Docker Community

Docker está disponible en dos ediciones: Enterprise Edition y Community Edition. El único punto común es la arquitectura del sistema operativo: 64 bits.

Docker Community Edition

El CE es perfecto para desarrolladores y pequeños equipos que desean comenzar con Docker y experimentar con aplicaciones basadas en contenedores. Está disponible para estos sistemas operativos:

  • Windows 10
  • MAC
  • Fedora
  • Debian
  • Ubuntu
  • CentOS

La plataforma también está disponible en la nube, dentro de Microsoft Azure y Amazon Web Services. Las características presentes son:

  • La última versión del motor de contenedor Docker optimizado para la infraestructura disponible
  • Acceso a características de vanguardia con cadencia de liberación frecuente
  • Servicio público ilimitado y uno privado gratuito como servicio
  • Construcciones automatizadas como servicio.
  • Escaneo de seguridad de imagen como servicio.

Dos son los canales de actualización:

  • Edge: te da nuevas características cada mes
  • Stable: le da actualizaciones confiables cada trimestre

El soporte se proporciona a través del Foro de la Comunidad de Docker y las correcciones de errores se proporcionan solo para la versión de envío actual

Docker Enterprise Edition

EE está diseñado para el desarrollo empresarial y los equipos de TI que crean, envían y ejecutan aplicaciones críticas para el negocio en producción a escala. Está disponible para estos sistemas operativos:

  • Windows Server 2016 and Server 2019
  • Oracle Linux
  • Red Hat Enterprise Linux
  • Ubuntu
  • CentOS
  • SUSE Linux Enterprise Server

La plataforma también está disponible en la nube, dentro de Microsoft Azure y Amazon Web Services. Las características presentes son:

  • La última versión del motor de contenedor Docker en Infraestructura certificada (Enterprise OS y proveedores en la nube)
  • Contenedores certificados de terceros proveedores de ISV
  • Plugins certificados de proveedores de redes y almacenamiento
  • Docker Datacenter para la gestión integrada de contenedores y seguridad
  • Interfaz de usuario web intuitiva y fácil de usar.
  • Aseguramiento de múltiples tenencias con el control de acceso basado en roles (RBAC) granular, RBAC basado en nodo y la integración LDAP/AD
  • Seguridad de extremo a extremo con gestión de secretos, firma de imágenes y escaneo de imágenes
  • Gestión de imágenes con registro privado, almacenamiento y caché
  • Automatización basada en políticas con promociones de imágenes

Cada trimestre se publica una nueva versión estable y las correcciones de errores se proporcionan con un plan de mantenimiento de un año

La EE está disponible en tres niveles:

  • Basic: plataforma Docker para infraestructura certificada, con soporte de Docker Inc. y contenedores y complementos certificados de Docker Store
  • Standard: agrega administración avanzada de imágenes y contenedores, integración de LDAP/ADuser y control de acceso basado en roles (Docker Datacenter)
  • Advanced: agrega Docker Security Scanning y monitoreo continuo de vulnerabilidades

El soporte está disponible en dos opciones:

  • Business Day: de lunes a viernes de 9 a 6 p. M., Con respuesta en 2 horas hábiles
  • Business Critical: 24 x 7 x 365, con respuesta en 2 horas

Cambios de precios por sistema operativo Container Host (Linux o Windows) y nivel

Ciclo de vida

Este es un ejemplo de las diferencias entre el soporte del ciclo de vida de CE y EE. Como podemos ver, la Edición Enterprise permite ejecutar una versión que puede ser un año más antigua que la última. Esto significa que puede evitar la “presión de actualización” y organizar mejor sus planes.

2019_02_11_docker-02

Windows vs Linux

Docker tiene el mismo motor en Linux y Windows también, pero la idea de usar Windows Server en producción puede ser ayudada por estos puntos:

  • Con Datacenter SKU es posible ejecutar infinitos contenedores de Windows
  • A partir de Windows Server 2019, también es posible ejecutar contenedores de Linux
  • Incluye soporte básico nativo

En Windows Server existe la posibilidad de fortalecer la seguridad de cada contenedor. Este modo se llama Hyper-V Container.

Este modo aísla los procesos del sistema operativo entre los contenedores y el host del contenedor, gracias a la virtualización anidada. El inicio es más lento en comparación con Windows Server Container, pero la solución es perfecta para las empresas medianas, donde la seguridad es una necesidad. El contenedor Hyper-V necesita los siguientes requisitos:

  • El rol de Hyper-V instalado
  • Al menos 4 GB RAM
  • Un procesador con Intel VT-x (esta función actualmente solo está disponible para los procesadores Intel)
  • La VM del host contenedor también necesitará al menos 2 procesadores virtuales

Ejecutar el primer contenedor

Después de la implementación del rol, en Linux o Windows, para crear su primer contenedor, use esta sintaxis:

docker run -p 800:80 microsoft/iis

Lo que he hecho es obtener la imagen principal, con IIS ya configurado, y exponer el contenedor con el punto 800. La razón por la que no puedo usar el puerto 80 es porque solo hay un puerto 80 para cada Host de Contenedor, por lo que el NAT es fundamental cuando planeamos utilizar contenedores.

Abra un navegador, escriba la  URL http://containerip:800 y verifique el resultado.

2019_02_11_docker-04

En Linux la sintaxis es la misma. La única diferencia será la imagen que se muestra en el navegador.

docker run -p 81:80 httpd

2019_02_11_docker-05

Comandos

Estos son algunos comandos útiles para administrar su máquina Docker:

  • Start Container – docker start idcontainer
  • Stop Container – docker stop idcontainer
  • Abrir una sesión – docker exec -it idcontainer bash
  • Lista de Imagenes – docker images
  • Lista de contenedores – docker ps -a
  • Eliminar Imagen – docker rmi idimmagine
  • Eliminar Container – docker rm idcontainer
  • Copie los elementos del host al contenedor – docker cp source idcontainer:pathdestination

Conclusiones

¿Qué puede hacer Docker por ti? Puede hacer que se ejecuten más aplicaciones en el mismo hardware, de una manera más eficiente si se compara con otras tecnologías; facilita a los desarrolladores la creación rápida de aplicaciones contenidas listas para ejecutar; y facilita mucho la administración y el despliegue de aplicaciones. Póngalo todo junto y podrá ver por qué Docker aumentaráel  ciclo de sobreexpectación tan rápido como nunca antes  haya visto en una tecnología empresarial.

Puedes encontrar información más detallada en esta página oficial: https://www.docker.com/resources/what-container

(Inglés, Francés, Portugués, Brasil)



Docker Containers: una nueva forma de implementar aplicaciones
Iperius Backup Spain
*****************************************

PLEASE NOTE: if you need technical support or have any sales or technical question, don't use comments. Instead open a TICKET here: https://www.iperiusbackup.com/contact.aspx

*****************************************

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

*****************************************

PLEASE NOTE: if you need technical support or have any sales or technical question, don't use comments. Instead open a TICKET here: https://www.iperiusbackup.com/contact.aspx

*****************************************