logo

Select Sidearea

Populate the sidearea with useful widgets. It’s simple to add images, categories, latest post, social media icon links, tag clouds, and more.
hello@youremail.com
+1234567890

Contenedores

Durante muchos años el desarrollo de software ha evolucionado conforme las necesidades de los clientes, se an creados nuevos lenguajes de programación, también se han optimizado los sistemas operativos. 

Toda esta oferta de productos ha llevado a que la arquitectura de software sea cada vez más compleja creado problemáticas como:

  • Software que solo corre en un SO específico. 
  • Cuando se desarrolla software piloto y se pone en producción hay errores por la falta de compatibilidad o entre las mismas versiones del software. 
  • La forma de desarrollar es diferente acorde al SO en donde se está desarrollando. 
  • Hay aplicaciones que son gratis en un SO pero en otro si tiene costo.
  • No todo el software open source son igual de estables entre los diferentes SO. 
  • Compatibilidad con sistemas virtualizados.

Todos estos problemas y más han llevado a desarrollar el concepto de contenedores.  


Contenedores.
 
El concepto de contenedor es relativamente nuevo y surge como alternativa para resolver los problemas vistos con anterioridad. La idea del contenedor es agrupar el software desarrollado junto con todas sus dependencias de software / liberarías dentro de un paquete, esta paquete se transforma para sea universal, esto quiere decir que el contenedor creado puede correr de manera universal en cualquier sistema operativo por lo que nos asegura que el software corra en cualquier lugar, ya que si se mueve a un server que no tenga alguna de las librerías usadas, el mismo contenedor integra todas las dependencias necesarias para que correcto funcionamiento.

Esta tecnología no solo ayuda a facilitar el desarrollo de software, sino que también ayuda de manera considerable a la optimización de los recursos de hardware.

Actualmente las granjas de hardware utilizan máquinas virtuales para simular los diferentes ambientes, hay muchos casos en los que una empresa / cliente, requiere de tener tanto un servidor windows como linux, esto debido a las dependencias de sus aplicaciones.  Esto lleva a tener que partir un servidor fisico en varias máquinas virtuales cada una con capacidades de RAM y almacenamiento independientes. Al utlilizar contenedores universales ya no sería necesario tener servidores dedicados a un SO.

Como podemos ver en la imagen las máquinas virtuales requieren de un SO por lo que es necesario asignar ciertos recursos al mismo, por otro lado, los contenedores se montan sobre el SO de preferencia y únicamente es necesario tener motor de contenedores, en la imagen sería “Docker Engine”. Este nuevo esquema permite optimizar los recursos del hardware. 

En conclusión, los contenedores facilitan el desarrollo de software, así como que la optimización de los recursos de hardware, lo cual los hace perfecto para todos aquellos desarrollos enfocados a “la nube”.