Los contenedores son un método de virtualización del sistema operativo que le permiten ejecutar una aplicación y sus dependencias en procesos de recursos aislados. Los contenedores también le permiten empaquetar con facilidad el código de una aplicación, sus configuraciones y sus dependencias en bloques de construcción de uso sencillo que aportan uniformidad de entorno, eficacia operativa, productividad para los desarrolladores y control de versiones. Los contenedores pueden ayudarle a garantizar la implementación rápida, consistente y de confianza de las aplicaciones independientemente del entorno. Los contenedores también aportan un control más minucioso de los recursos, lo que se traduce en una mayor eficacia de la infraestructura. La ejecución de contenedores en la nube de AWS le permite crear aplicaciones y servicios sólidos y escalables al aprovechar los beneficios de la nube de AWS, como la elasticidad, disponibilidad, seguridad y economía de escala. Asimismo, solo paga por los recursos que utiliza.

Amazon Elastic Container Service

Introducción

Soluciones de contenedores de socios en AWS – Seminarios web

Más información
Containers_ProductDetail_Banner
Containers_Benefit_EnvironmentConsistency

Los contenedores facilitan la portabilidad y ayudan a reducir las dificultades organizativas y técnicas que supone guiar una aplicación a lo largo del ciclo de vida de desarrollo, pruebas y producción. Los contenedores incorporan todos los archivos de aplicación y dependencias de software necesarios y actúan de bloque de construcción que se puede implementar en cualquier recurso informático, independientemente de las configuraciones del software, sistema operativo o hardware (p. ej. puede ejecutar el mismo contenedor en un equipo portátil Ubuntu o en servidores de producción Red Hat Enterprise Linux). Todo lo que empaquete como contenedor de forma local se implementará y ejecutará del mismo modo tanto en un entorno de pruebas como en uno de producción. Esto les beneficia a su organización y a usted, ya que puede implementar una aplicación de manera fiable y uniforme independientemente del entorno. De ese modo, puede evitar configurar cada uno de los servidores manualmente y puede publicar nuevas características con mayor rapidez.

Containers_Benefit_OperationalEfficiency

Los contenedores pueden ayudarle a sacarle mayor partido a sus recursos informáticos, ya que le permiten ejecutar varias aplicaciones en la misma instancia con facilidad. Con los contenedores, puede especificar la cantidad exacta de memoria, espacio en disco y CPU que ha de usar un contenedor en una instancia. Los contenedores ofrecen tiempos de inicio rápidos, ya que cada uno constituye únicamente un proceso del sistema operativo que ejecuta una aplicación y sus dependencias. Al requerir menos capacidad, puede crear y eliminar aplicaciones o tareas de un contenedor y, así, ampliar y reducir el tamaño de las aplicaciones con rapidez. Puede utilizar patrones de implementación azul-verde para publicar nuevas versiones de aplicaciones (p. ej., mediante Amazon Elastic Container Service), ya que la aplicación entera y todas sus dependencias se encuentran en una imagen. Los contenedores también aíslan el proceso, lo que le permite colocar cada una de las aplicaciones y sus dependencias en un contenedor independiente y ejecutarlas en la misma instancia. No existen dependencias compartidas ni incompatibilidades, pues los contenedores están aislados entre sí (p. ej., puede ejecutar dos contenedores que utilizan diferentes versiones de la biblioteca en la misma instancia de Amazon EC2).

También puede crear imágenes de contenedores que sirvan como base para otras imágenes. Los equipos de operaciones pueden crear una imagen base compuesta del sistema operativo, las configuraciones y las distintas utilidades que deseen. A continuación, los equipos de desarrollo pueden construir su aplicación sobre la imagen base. Eso le permite evitar las complejidades de la configuración del servidor.

Containers_Benefit_DeveloperProductivity

Los contenedores incrementan la productividad de los desarrolladores al eliminar las dependencias y los conflictos entre servicios. Cada componente de una aplicación se puede dividir entre varios contenedores que ejecutan un microservicio distinto. Los contenedores están aislados entre sí, de manera que no tiene que preocuparse de que las bibliotecas o dependencias estén sincronizadas para cada servicio. Los desarrolladores pueden actualizar cada uno de los servicios de manera independiente, ya que no existen conflictos de biblioteca.

Containers_Benefit_VersionControl

Los contenedores le permiten supervisar las versiones del código de su aplicación y sus dependencias. Las imágenes de contenedor de Docker incorporan un archivo de manifiesto (Dockerfile) que le permite mantener y supervisar las versiones de un contenedor, examinar diferencias entre versiones y volver a versiones anteriores con facilidad.