CATEGORÍA DE ANÁLISIS PROFUNDO
Contenedores
Introducción
Este sitio web ofrece una introducción sobre lo que son los contenedores y las razones por las que es conveniente considerar un servicio de contenedor de AWS para su aplicación o caso de uso.
¿Qué son los contenedores?
Los contenedores le ofrecen un modo estándar de empaquetar el código, las configuraciones y las dependencias de su aplicación en un único objeto. Los contenedores comparten un sistema operativo instalado en el servidor, y se ejecutan como procesos aislados de los recursos, lo que garantiza implementaciones rápidas, fiables y consistentes sea cual sea el entorno en el que se realizan.
¿Por qué utilizar contenedores?
Los contenedores son un modo poderoso para que los desarrolladores puedan empaquetar e implementar sus aplicaciones. Son ligeros y proporcionan un entorno de software consistente y portátil para poder ejecutar de forma sencilla las aplicaciones y escalarlas en cualquier ubicación. Los contenedores se utilizan habitualmente para la creación e implementación de microservicios, la ejecución de trabajos por lotes, en aplicaciones de aprendizaje automático y el traslado de aplicaciones existentes a la nube.
Seguro: AWS ofrece 210 servicios y características clave de seguridad, cumplimiento y dirección lo que equivale a 40 veces más que el siguiente proveedor más grande de la nube. AWS proporciona un sólido aislamiento de seguridad entre sus contenedores y garantiza que tenga las últimas actualizaciones de seguridad. Además, le permite configurar detallados permisos de acceso para cada contenedor.
Confiable: los servicios de contenedores de AWS se ejecutan en la mejor infraestructura global con 69 zonas de disponibilidad (AZ) en 22 regiones. AWS ofrece más del doble de regiones con múltiples zonas de disponibilidad en comparación con el siguiente proveedor de la nube más grande (22 frente a 8). Existen acuerdos de nivel de servicios para todos los servicios de contenedores (ECS, EKS y Fargate), lo que brinda tranquilidad al usuario.
Elección: los servicios de contenedores de AWS ofrecen la más amplia gama de servicios para ejecutar contenedores. Puede elegir AWS Fargate si quiere cómputo sin servidor para sus contenedores y Amazon EC2 si necesita controlar la instalación, configuración y administración del entorno informático. También puede decidir el organizador de contenedores: Amazon Elastic Container Service (ECS) o Amazon Elastic Kubernetes Service (EKS).
Integraciones de AWS: los servicios de contenedores de AWS están profundamente integrados con AWS por su diseño. Esto permite que todas las aplicaciones de contenedores aprovechen la profundidad y amplitud de la nube de AWS en términos de redes, seguridad y monitoreo. AWS combina la agilidad de los contenedores con la elasticidad y seguridad de la nube.
Servicios de contenedores
AWS ofrece la más amplia gama de servicios para almacenar, administrar y ejecutar contenedores. Elija el servicio de AWS adecuado para su carga de trabajo, desde experimentos pequeños hasta aplicaciones de producción críticas.
Si desea… |
Piense en utilizar |
Debido a... |
---|---|---|
Almacenar, cifrar y administrar imágenes de contenedores | Amazon ECR |
ECR comprime y codifica las imágenes de su contenedor, para que inicien y estén disponibles más rápido para ejecutarse en cualquier lugar. |
Ejecute aplicaciones con contenedores o cree microservicios | Amazon ECS | Amazon Elastic Container Service (Amazon ECS) es un servicio de organización de contenedores totalmente administrado que proporciona el modo más seguro, confiable y escalable para ejecutar aplicaciones con contenedores. |
Administre contenedores con Kubernetes | Amazon EKS | Amazon Elastic Kubernetes Service (Amazon EKS) es un servicio de Kubernetes de contenedores totalmente administrado que proporciona el modo más seguro, confiable y escalable para ejecutar aplicaciones con aplicaciones con contenedores utilizando Kubernetes. |
Ejecute contenedores sin administrar servidores |
AWS Fargate | AWS Fargate es un motor de cómputo sin servidor para contenedores que funciona tanto con Amazon Elastic Container Service (ECS) como con Amazon Elastic Kubernetes Service (EKS). Fargate elimina la necesidad de aprovisionar y administrar servidores, permite especificar y pagar recursos por aplicación y mejora la seguridad mediante el aislamiento de aplicaciones por diseño. |
Ejecute contenedores con control de nivel de servidor | Amazon EC2 |
Las máquinas virtuales de EC2 le dan control de sus clústeres de servidor y proporcionan una amplia gama de opciones de personalización. |
Aspectos fundamentales
En esta sección, cubriremos los conceptos básicos necesarios para comprender los contenedores y decidir qué servicio de contenedor es el adecuado para su aplicación o caso de uso.
Docker es una plataforma de software que le permite crear, probar e implementar aplicaciones rápidamente. Docker empaqueta software en unidades estandarizadas llamadas contenedores que incluyen todo lo necesario para que el software se ejecute, incluidas bibliotecas, herramientas de sistema, código y tiempo de ejecución.

Kubernetes es un sistema de organización y administración de contenedores de código abierto. En AWS, puede optar por ejecutar y administrar usted mismo la infraestructura de Kubernetes con Amazon EC2, o usar Amazon EKS para un plano de control de Kubernetes aprovisionado y administrado de manera automática.

Casos de uso de los contenedores comunes
Microservicios: los contenedores permiten aislar procesos, lo que facilita la tarea de separar y ejecutar aplicaciones como componentes independientes llamados microservicios.
Procesamiento por lotes: empaquete en contenedores los trabajos de procesamiento por lotes y de ETL para arrancarlos con rapidez y escalarlos de forma dinámica a medida que cambie la demanda.
Machine Learning: utilice contenedores para escalar rápidamente modelos de aprendizaje automático para trabajos de entrenamiento e inferencia, y ejecútelos cerca del origen de sus datos en cualquier plataforma.
Aplicaciones híbridas: los contenedores le permiten administrar de un modo uniforme la forma en que implementa el código, facilitando la tarea de diseñar flujos de trabajo para aplicaciones que se ejecutan entre entornos locales y en la nube.
Migración de aplicaciones a la nube: los contenedores facilitan la tarea de empaquetar aplicaciones enteras y trasladarlas a la nube sin necesidad de cambiar nada en el código.
Plataforma como servicio: utilice contenedores para diseñar plataformas en las que los desarrolladores no tengan que administrar infraestructuras, y gestione de un modo uniforme la implementación y administración de sus aplicaciones.
¡Vamos a diseñar!
Los siguientes tutoriales cubrirán cómo comenzar con Amazon ECS y Amazon EKS.
Aprenda cómo ejecutar una aplicación de muestra compatible con Docker en un clúster de Amazon ECS detrás de un equilibrador de carga y probar la aplicación de muestra.
Aprenderá cómo implementar una aplicación contenida en un contenedor en un clúster de Kubernetes administrado mediante Amazon Elastic Container Service for Kubernetes (Amazon EKS).
Recursos de aprendizaje
Los siguientes recursos le llevan por configuraciones más avanzadas y casos de uso para Amazon ECS, Amazon EKS y AWS App Mesh.
Inicie un frontend y múltiples servicios backend en AWS ECS y explore cómo podría adoptar este flujo de trabajo en su entorno.
Explore las diversas formas de configurar los trabajadores de Amazon EKS, VPC, ALB y EC2 Kubernetes.
Aprenda cómo implementar una aplicación monolítica de Node.js en un contenedor de Docker y, a continuación, desacople la aplicación en microservicios sin provocar tiempos de inactividad.
Conozca las funciones y el uso de AWS App Mesh.
Sepa cómo ejecutar contenedores, directamente desde los expertos.
Los siguientes videos explican temas clave de contenedor que le ayudan a usar mejor los contenedores.