¿Qué es lo que más te gusta de AWS Fargate?
La plataforma se integra tanto con Amazon Elastic Container Service (ECS) como con Amazon Elastic Kubernetes Service (EKS), lo que proporciona una flexibilidad crítica para nuestros diferentes equipos de desarrollo y sus herramientas de orquestación preferidas.
La funcionalidad principal opera en torno a algunos componentes clave que agilizan nuestros procesos de implementación:
• Definiciones de Tareas: El sistema se basa en Definiciones de Tareas, que actúan como planos para nuestras aplicaciones. Dentro de estas definiciones, especificamos la imagen del contenedor, configuraciones de red y asignaciones precisas de recursos como CPU y memoria. Fargate utiliza este plano para aprovisionar y ejecutar nuestros contenedores sin que necesitemos seleccionar o gestionar instancias EC2.
• Operación sin Servidor: La característica definitoria es su naturaleza sin servidor. Fargate aprovisiona automáticamente los recursos de cómputo necesarios bajo demanda para que nuestros contenedores se ejecuten, eliminando efectivamente tareas como el parcheo de servidores, la planificación de capacidad de clústeres y el escalado de las máquinas virtuales subyacentes.
• Asignación Granular de Recursos: Tenemos un control detallado sobre los recursos asignados a cada tarea. Fargate permite configuraciones específicas de CPU y memoria, lo que nos permite ajustar el rendimiento y optimizar costos para diferentes cargas de trabajo, desde simples APIs web hasta trabajos de procesamiento de datos más intensivos que pueden escalar hasta 16 vCPU y 120 GB de memoria.
• Escalado Automático: La plataforma se integra de manera nativa con las políticas de autoescalado de ECS y EKS. Esto permite que nuestras aplicaciones escalen el número de tareas en ejecución hacia arriba o hacia abajo automáticamente según métricas definidas como la utilización de CPU o el tráfico de red. Esto asegura que nuestros servicios permanezcan receptivos durante picos de tráfico mientras minimizan costos durante períodos tranquilos.
• Seguridad y Aislamiento: La seguridad se mejora a través de su diseño, ya que cada tarea o pod de Fargate se ejecuta en su propio entorno de cómputo aislado con un kernel dedicado. Esto evita que las cargas de trabajo compartan recursos subyacentes. Aseguramos aún más nuestras aplicaciones utilizando roles de AWS Identity and Access Management (IAM) para permisos granulares, grupos de seguridad y listas de control de acceso de red dentro de nuestro Amazon Virtual Private Cloud (VPC).
• Herramientas Integradas: Fargate funciona sin problemas con otros servicios de AWS. Se integra con Elastic Load Balancing (ELB) para distribuir el tráfico entre contenedores saludables, mejorando la disponibilidad de la aplicación. Para la observabilidad, proporciona integración incorporada con Amazon CloudWatch, que nos da acceso en tiempo real a registros y métricas de rendimiento como el uso de CPU y memoria. Reseña recopilada por y alojada en G2.com.
¿Qué es lo que no te gusta de AWS Fargate?
Si bien la abstracción de la infraestructura es la principal ventaja de Fargate, también introduce ciertas limitaciones. El aspecto principal que encontramos desafiante es la falta de control directo sobre el entorno de cómputo subyacente. Para la mayoría de nuestras aplicaciones, esto no es un problema. Sin embargo, para cargas de trabajo que requieren configuraciones específicas a nivel del sistema operativo, parámetros de kernel personalizados o acceso a hardware especializado no disponible a través de las configuraciones de lanzamiento de Fargate, no podemos usarlo. En estos escenarios específicos, debemos volver al tipo de lanzamiento EC2, lo que nos obliga a gestionar las instancias nosotros mismos. Reseña recopilada por y alojada en G2.com.