6 razones para usar docker o cualquier otra tecnologia de contenedores

Blog

6 razones para usar docker o cualquier otra tecnología basada en contenedores

Me gustaría comentar las razones para usar docker o cualquier otra tecnología de contenedores.

He estado usando contenedores durante casi 3 años, trabajando inicialmente en un equipo para ayudar a los clientes a resolver problemas en sus aplicaciones.

He estado dando consejos sobre las mejores prácticas para ejecutar contenedores.

Hoy trabajo en un equipo donde desarrollamos contenedores para usar en nuestro entorno OpenShift, y mis habilidades para la resolución de problemas me ayudaron en esta tarea.

Ejecuto contenedores para la mayoría de mis tareas y me facilita la vida.

Puedo ejecutar cualquier software en contenedores, ya sea para evaluación o incluso para usar en mis sitios web.

Seamos realistas: los contenedores se están volviendo más comunes en todas las empresas.

Google puede hacer girar miles de contenedores por día en sus centros de datos sin tiempo de inactividad, Netflix lanza más de 1 millón de contenedores por semana y muchas otras empresas, ya sean pequeñas o grandes, usan contenedores en producción para lograr un nuevo nivel de escalabilidad.

Teniendo esto en cuenta, me gustaría enumerar 6 razones principales por las que comencé a usar contenedores.

Los contenedores docker son simples

No hay nada mejor que usar el principio KISS en mi trabajo, entonces, ¿por qué no usar herramientas simples para mejorar mi trabajo?

Digo que los contenedores son simples porque puedo tener un sistema operativo y una pila de software completa ejecutándose en mi máquina con solo 2 o 3 comandos.

Debido a esa simplicidad, puedo ahorrar mucho tiempo y esfuerzo ejecutando contenedores que creando máquinas virtuales, instalando el sistema operativo e instalando el software y realmente me concentro en lo que importa.

Los contenedores son ligeros

Lo bueno de los contenedores es la forma en que funciona directamente sobre la capa del sistema operativo (Linux), sin la capa de hipervisor en el medio.

Esto hace que los contenedores utilicen menos recursos que las máquinas virtuales y puedo hacer girar más contenedores en el mismo hardware que las máquinas virtuales.

Los contenedores también usan menos almacenamiento que las máquinas virtuales, lo que es más atractivo de ejecutar.

Solo como ejemplo, el tamaño de la imagen RHEL 7 es de 193 MB y hay una versión alternativa de RHEL (que llamamos RHEL Atomic) con menos de 80 MB.

Debido al tamaño de la imagen, el tiempo de arranque es menor que cualquier forma tradicional de ejecutar un sistema operativo.

Aunque el tiempo de arranque de una instalación de RHEL en máquinas virtuales o en máquinas sin metal es de aproximadamente 1 minuto, la ejecución dentro de los contenedores no puede tomar más de 15 segundos.

Con los contenedores, puedo evitar el efecto “funciona en mi máquina”

Los contenedores son inmutables, punto.

¿Qué hace que esta característica sea importante para mí?

Garantiza que un contenedor que se ejecute en mi computadora portátil se ejecutará de la misma manera en cualquier máquina.

No más excusas como: “ya funciona en mi máquina”. Ahora con contenedores, es posible evitar eso.

Incluso puede ejecutar en proveedores de nube como Amazon AWS, IBM Bluemix, Google Cloud Platform o incluso Azure y obtener el mismo comportamiento.

Hay una gran comunidad de developers trabajando sobre contenedores

Piense en el software que le gustaría ejecutar con contenedores.

Estoy seguro de que si no puede encontrar una imagen con el software que desea, habrá alguien creando y estará disponible pronto en cualquier repositorio.

La mayoría de las empresas están creando imágenes de su software para ejecutarlas en contenedores, y puede usarlas para crear su propia configuración.

Además de eso, hay muchos libros (tanto de pago como gratuitos) sobre Contenedores y cómo desarrollarlos, ejecutarlos y hacerlos más seguros.

Los contenedores son extensibles

Encontraste una imagen para ejecutar, pero falta una configuración específica o una pieza faltante del software que se requiere en tu entorno.

Con los contenedores, es posible ampliar una imagen existente y agregar cosas que necesita en su contenedor, y así hacer que su imagen se ajuste mejor a sus requisitos.

De esa manera, el tiempo dedicado a preparar el sistema operativo para ejecutar su software es mucho menor que cualquier otro método.

Incluso utilizando herramientas DevOps como Puppet, Chef y otras, el tiempo para preparar un entorno para ejecutar software es incluso más que girar un nuevo contenedor.

Los contenedores están preparados para la nube

Cloud Computing es la próxima generación de informática, donde puede agregar recursos a pedido en su entorno, usándolos según lo necesite y recopilar métricas de uso sobre ellos.

Los contenedores aportan todos estos requisitos y más a Cloud Computing en su diseño, ya que son fáciles de reemplazar en caso de cualquier problema.

No necesita preocuparse si pierde un contenedor porque las arquitecturas de Cloud Computing más avanzadas ya lo gestionan por usted y activan un nuevo contenedor para reemplazar el que dejó de responder.

Conclusión

Los contenedores están aquí para quedarse, espero haber dejado claro mis razones para usar docker.

Aquí os dejo algo más de información de nuestros cursos de DevOps, Docker incluido.

¿Cúales son las razones para usar docker en tu organización?

Me gustaría saberlas en los comentarios.

WhatsApp chat