El 14 de septiembre de 2017, publicamos una versión revisada de nuestra Política de privacidad. Tu uso continuado de video2brain.com significa que aceptas este documento revisado, por lo que te recomendamos que dediques unos minutos a leerlo y comprenderlo.

Docker esencial

Qué es un contenedor

Prueba ahora LinkedIn Learning sin cargo y sin compromiso.

Prueba gratis Mostrar modalidades de suscripción
Con Docker en boca de todos en el mundo IT, es seguro que ya habrás oído innumerables veces el término contenedor. No son exactamente máquinas virtuales, ni todos los contenedores son Docker, así que en este capítulo haremos un breve resumen de en qué consisten.

Transcripción

Los contenedores aparecen, entre otras cosas, para resolvernos un determinado problema de computación. Esto es, cómo ejecutar múltiples aplicaciones al mismo tiempo sin desaprovechar recursos. Si intentamos servir muchas aplicaciones o ejecutar muchas aplicaciones al mismo tiempo en una máquina, nos encontraremos el siguiente problema. Al compartir todas el mismo sistema operativo y las mismas librerías, podemos encontrarnos: uno, que no todas las aplicaciones puedan correr en la misma versión del sistema operativo, no siendo compatibles con el mismo; segundo, también que no todas las aplicaciones necesiten la misma versión de las librerías. A veces, teniendo que instalar múltiples versiones de la misma librería, puede ocasionar problemas en los requerimientos de otras aplicaciones; y, tercero, al estar compartiendo todas la misma plataforma, es muy probable que si una de las aplicaciones empieza a pedir más recursos de los que son necesarios y empieza a invadir espacio de las demás, podríamos ralentizar el rendimiento global del servidor y, además, incluso colgar o romper o bloquear el resto de las aplicaciones. De manera tradicional, años atrás, muchos habríais resuelto el problema de la siguiente manera, que era lo más normal: separar servidores por el destino de lo que van a ejecutar. Es decir, teníamos un servidor de correo, teníamos un servidor de aplicaciones... Es más, ni siquiera teníamos un servidor de aplicaciones, sino que teníamos múltiples: Uno para el JBoss (de las aplicaciones Java), otro para el PHP y el Apache, otro para otras aplicaciones... Teníamos, cada una de las dedicaciones del servidor, exclusivas. Esto, por supuesto, es un total derroche de recursos del sistema, porque la mayoría del tiempo, teniendo aplicaciones tan específicas para cada uno de los servidores, los recursos estaban prácticamente al 0 %. Nunca jamás o casi nunca llegábamos a aprovechar correctamente los recursos que nos brindaban los servidores. Así que, en determinado momento, nos llegó una solución que nos empezó a arreglar la vida. Estos fueron las máquinas virtuales. Las máquinas virtuales lo que podían era emular, por decirlo de alguna manera, un ordenador entero dentro de otro. Uno o varios. Podíamos emular 1, 10, 50 servidores completos al mismo tiempo dentro de uno de nuestros servidores. Esto quiere decir que tenía un buen puñado de capas. Primero, la emulación del servidor, después, un kernel adicional completo, después un sistema operativo completo, las librerías y la aplicación o aplicaciones que estábamos corriendo. La gestión que tenemos de las máquinas virtuales nos permite segmentar la cantidad de recursos que tiene cada una de ellas; segmentar el uso que tienen de los procesadores; poder moverlas, incluso, a otro servidor si estamos escasos de recursos y vamos a necesitar más para esa aplicación. Pero tienen la desventaja de que, al tener tantas capas por encima (la emulación, el kernel, el sistema operativo...), aún siendo más eficientes que las anteriores soluciones, todavía estamos desaprovechando bastante memoria por ahí encima memoria y procesador. Y también que, al arrancar cada una de estas aplicaciones, estamos arrancando un sistema operativo entero y un equipo entero. Entonces, en determinado momento, la solución final que nos llega son los contenedores. ¿Qué son los contenedores? El poder limitar lo que nosotros estamos ejecutando, vallarlo, contenerlo, simplemente limitándonos a las librerías y la aplicación que queremos ejecutar. Un servidor de contenedores lo que hace es poner diferentes límites para todas las aplicaciones que vamos a correr y vallarlas de tal manera que asignamos una serie de recursos de CPU, de sitios a los que acceder, a los que puede llegar cada una de ellas, y nunca podrán pasar esa limitación. Nos quitamos un montón de capas de emulación y de sobrecarga que tenemos por encima y vamos directo a lo que tenemos que ejecutar. Como veis, el llegar desde la aplicación original como la ejecutábamos hace 10 años hasta segmentado en contenedores como hacemos ahora nos permite quitarnos mucha carga de encima, aprovechar mucho más los servidores, y además ejecutarlas de modo mucho más rápido. Porque, simplemente, cuando arrancamos un contenedor, lo que hacemos es arrancar directamente la aplicación que vamos a usar, no una capa gigante de sistema operativo por encima.

Docker esencial

Descubre lo que te ofrece Docker y aprende a empaquetar aplicaciones junto con todas sus dependencias en un contenedor virtual que podrás ejecutar desde cualquier servidor Linux.

2:18 horas (36 Videos)
Actualmente no hay comentarios.
 
Software:
Fecha de publicación:26/04/2017

Este curso video2brain está disponible como descarga y para ser visualizado online. ¡Pero no hace falta que decidas entre las dos opciones! Al comprar el curso, disfrutarás de ambas posibilidades.

La descarga te permite ver las lecciones sin estar conectado/a a internet y supone una navegación fácil y ágil entre capítulo y capítulo. Si vas a trabajar en diferentes ordenadores o si no quieres descargarte el curso completo, entra en la web con tus datos de acceso y disfruta directamente de tus vídeos online. Te deseamos que disfrutes de este curso y te resulte de mucha utilidad.

Estamos a tu disposición si tienes cualquier tipo de duda o pregunta.