AWS Fargate es un motor de cómputo sin servidor para contenedores que trabaja con Amazon Elastic Container Service (ECS) y Amazon Elastic Kubernetes Service (EKS). Fargate permite a los desarrolladores ejecutar contenedores sin necesidad de gestionar la infraestructura subyacente, eliminando la necesidad de aprovisionar, configurar y escalar servidores.
Visión General

Características
Soporte para ECS y EKS: Fargate es compatible tanto con Amazon ECS como con Amazon EKS, lo que te permite elegir el motor de orquestación que mejor se adapte a tus necesidades.
Aislamiento de Contenedores: Los contenedores se ejecutan en un entorno de cómputo seguro y aislado, sin compartir recursos del sistema operativo con otros usuarios.
Carga de Trabajo Diversa: Fargate es adecuado para una amplia gama de cargas de trabajo, desde aplicaciones web hasta procesamiento de datos y tareas en segundo plano.
Integración con IAM: Fargate utiliza IAM para gestionar de manera segura las políticas de acceso y los permisos de los contenedores.
Beneficios

Sin Gestión de Infraestructura: AWS Fargate elimina la necesidad de gestionar servidores, ya que se encarga automáticamente de la provisión, configuración y escalado de la infraestructura necesaria para ejecutar contenedores.
Escalabilidad Automática: Fargate escala automáticamente las aplicaciones para adaptarse a la carga de trabajo, permitiendo que las aplicaciones crezcan y decrezcan según sea necesario sin intervención manual.


Pago por Uso: Solo pagas por los recursos de cómputo y almacenamiento utilizados por los contenedores mientras están en ejecución, lo que puede resultar en un ahorro de costos significativo.
Seguridad Incorporada: Al ejecutar aplicaciones en su propio entorno aislado, Fargate mejora la seguridad al reducir la superficie de ataque y aislar los contenedores a nivel de kernel.


Integración con otros Servicios de AWS: Fargate se integra perfectamente con otros servicios de AWS como IAM, CloudWatch, y VPC, facilitando la gestión de permisos, monitoreo y redes.
Casos de Uso

Aplicaciones Web y Microservicios: Fargate es ideal para ejecutar aplicaciones web y microservicios que requieren escalabilidad automática y no desean la complejidad de gestionar la infraestructura.

Procesamiento de datos en Tiempo Real: Fargate se puede utilizar para ejecutar aplicaciones de procesamiento de datos en tiempo real que necesitan escalar según la demanda.

Despliegue de Modelos de Machine Learning: Los modelos de ML pueden desplegarse en contenedores con Fargate, aprovechando la escalabilidad y el aislamiento que ofrece.

Pruebas y Desarrollo: Fargate es ideal para ambientes de pruebas y desarrollo, permitiendo a los desarrolladores crear y destruir entornos rápidamente sin preocuparse por la infraestructura.
Empresas que utilizan AWS Fargate

Capital One
Utiliza Fargate para ejecutar aplicaciones que procesan grandes volúmenes de datos, lo que les permite escalar de manera eficiente sin gestionar servidores.

Airbnb
Emplea Fargate para gestionar microservicios que soportan su plataforma global, beneficiándose de la escalabilidad automática y la reducción de costos.

Coca-Cola
Usa Fargate para implementar aplicaciones en contenedores, lo que les permite gestionar aplicaciones de manera más ágil y segura.

Vanguard
Aprovecha Fargate para ejecutar cargas de trabajo en contenedores, mejorando la eficiencia operativa y reduciendo la complejidad de gestión de infraestructuras.
Precios
AWS Fargate utiliza un modelo de precios basado en el uso real de los recursos de cómputo y almacenamiento, lo que significa que solo pagas por lo que usas sin necesidad de gestionar la infraestructura subyacente. Los precios se desglosan en los siguientes componentes:
- Recursos de Cómputo (vCPU y Memoria)
- vCPU: Se cobra por la cantidad de unidades de CPU virtual (vCPU) que tus contenedores utilizan, medida en segundos. Los precios varían dependiendo de la región en la que estés utilizando Fargate.
- Memoria: Se cobra por la cantidad de memoria que asignas a tus contenedores, también medida en segundos.
- Almacenamiento Persistente
- Amazon EFS (Elastic File System): Si optas por usar Amazon EFS para almacenamiento persistente, se te cobrará por el almacenamiento utilizado y las operaciones de I/O realizadas.
- Amazon S3: Puedes almacenar datos en Amazon S3, donde los costos dependen del volumen de datos almacenados y las solicitudes realizadas.
- Networking
- Tráfico de Red: Fargate cobra por el tráfico de red entrante y saliente de tus contenedores. Esto incluye el tráfico entre contenedores, hacia otros servicios de AWS y hacia internet.
- Almacenamiento en Disco Temporal
- Fargate proporciona almacenamiento en disco temporal para el contenedor sin costo adicional, que se elimina cuando el contenedor se termina.
- Opciones de Precios Flexibles
- Savings Plans de Compute de AWS: Puedes reducir tus costos hasta un 66% comprometiéndote a un uso consistente de vCPU y memoria durante uno o tres años.
- Plan de Ahorro de Fargate: Similar al plan de ahorro de compute, pero específico para los recursos utilizados por Fargate.
Ejemplo de Cálculo de Costos
Supón que ejecutas una tarea con 1 vCPU y 2 GB de memoria durante 24 horas en la región de EE.UU. Este, los costos aproximados serían los siguientes:
- Costo de vCPU: 24 horas * precio por vCPU-hora.
- Costo de Memoria: 24 horas * precio por GB-hora.
Aspectos Adicionales
- Sin Costos de Administración de Infraestructura: No se cobra por la infraestructura subyacente, ya que Fargate administra todo automáticamente.
- Pagos por Segundo: Fargate cobra en incrementos de segundos, con un mínimo de un minuto por contenedor.
Para obtener más detalles y los precios específicos de tu región, te recomiendo visitar la página oficial de precios de AWS Fargate. Aquí podrás encontrar un desglose completo de precios y ejemplos adicionales que pueden ayudarte a estimar los costos de tus cargas de trabajo en Fargate.
Preguntas frecuentes sobre AWS Fargate
¿Qué es AWS Fargate?
AWS Fargate es un motor de cómputo sin servidor que te permite ejecutar contenedores sin tener que gestionar la infraestructura subyacente. Fargate se integra con Amazon ECS y Amazon EKS.
¿Cómo se cobra AWS Fargate?
AWS Fargate cobra en función de la cantidad de vCPU y memoria que utilices para tus contenedores, y los cargos comienzan a acumularse cuando se inicia el contenedor y terminan cuando se detiene.
¿Qué diferencias existen entre usar Fargate con ECS y EKS?
Fargate puede ser utilizado tanto con Amazon ECS como con Amazon EKS. Con ECS, gestionas tus tareas y servicios; con EKS, gestionas tus cargas de trabajo en un clúster de Kubernetes.
¿Cuáles son los límites de AWS Fargate?
Fargate tiene límites predeterminados, como un máximo de 4 vCPU y 30 GB de memoria por contenedor, aunque estos límites pueden variar según la región.
¿Qué beneficios ofrece AWS Fargate?
Los principales beneficios incluyen la eliminación de la necesidad de gestionar servidores, la escalabilidad automática de aplicaciones y el modelo de precios basado en el uso.
¿Cómo puedo empezar a usar AWS Fargate?
Puedes comenzar creando una tarea o un pod en Amazon ECS o EKS, seleccionando Fargate como el tipo de lanzamiento, y especificando los recursos de vCPU y memoria.
¿Puedo ejecutar Fargate en mi infraestructura local?
No, AWS Fargate está diseñado para funcionar en la nube de AWS y no se puede ejecutar en infraestructura local.
¿Cómo gestiona AWS Fargate la seguridad?
Fargate proporciona aislamiento a nivel de contenedor, y se integra con AWS IAM para controlar el acceso y las políticas de seguridad.
¿Fargate es adecuado para aplicaciones de alto rendimiento?
Sí, Fargate es adecuado para una amplia variedad de aplicaciones, incluidas aquellas que requieren un alto rendimiento, gracias a su capacidad de escalar según la demanda.
¿Cuáles son las mejores prácticas para optimizar costos en AWS Fargate?
Algunas recomendaciones incluyen el uso de Savings Plans, la elección cuidadosa de los recursos de vCPU y memoria, y la optimización de la carga de trabajo para minimizar el tiempo de ejecución.