Cloud IO Enabler Podcast
|
La contenerización de aplicaciones ha sido sin duda una estrategia adoptada por la mayoría de empresas en su Arquitectura de Soluciones de Software al día de hoy, sin embargo, la provisión, administración y mantenimiento en el tiempo de soluciones como Kubernetes, Docker Swarm o Nomad requiere de muchos recursos en personas y dinero; AWS ha lanzado en Mayo del 2021 un servicio que implementa todos los detalles de un esquema contenerizado con las mejores prácticas de arquitectura, disponibilidad y seguridades, acelerando la contenerización con el servicio AWS App Runner.
No quiere decir que el enfoque de contenerización de una infraestructura propia y manualmente gestionado sea incorrecto, más bien tiene que ver con la estrategia que ha decidido la organización como adecuada para los fines de negocio. Así mientras que una empresa tiene razones para invertir en una implementación Docker Swarm o Kubernetes on-promises o en la nube por ejemplo, otras pueden querer simplificar la carga de trabajo accediendo a un servicio autogestionado que les permita usar la contenerización y sus beneficios de una forma ágil y con poca administración.
Beneficios
El servicio AWS APP Runner ha sido diseñado para aportar el siguiente valor a las Empresas:
- Es un servicio completamente administrado por AWS sin requerir del Cliente.
- Auto escalable (up/down) de acuerdo al tráfico que esté procesando.
- No requiere de experiencia previa de los desarrolladores.
- Está integrado a herramientas de CI/CD para compilación y despliegue de contenedores, incluyendo herramientas de registro de imágenes.
- Balancea y encripta el tráfico hacia los contenedores.
- Proporciona registros detallados de compilación, implementación y tiempo de ejecución y está integrado a las herramientas de métricas y monitoreo de AWS como CloudWatch, lo que permite la “observabilidad“.
- Incluye la administración automática completa de certificados TLS por AWS sin necesidad de configuración, renovando automáticamente los certificados antes de su fecha de vencimiento.
- Permite al equipo de desarrollo estar completamente centrado en la aplicación :).
Solo la gestión de certificados TLS en un ambiente contenerizado gestionado manualmente, supone una carga importante de trabajo y suele ser susceptible a errores o descuidos en los departamentos de TI. AWS tiene una infraestructura sólida de certificados en la cual se apoya AWS App Runner y es una de las grandes ventajas de este esquema, junto al balanceo, encriptación y auto escalamiento.
Costos
Como la política de AWS es siempre reducir el costo, AWS App Runner no es la excepción y en este servicio se paga de acuerdo a las siguientes premisas:
- Pago por memoria y CPU (vCPU) utilizado al procesar cada requerimiento en el contenedor que atendió tal requerimiento.
- Si el contenedor no está atendiendo (idle) solo se paga por la memoria provisionada para el contenedor (claro con un costo muy inferior a cuando está activo).
- Las tarifas del costo de memoria y vCPU están definidas por hora, pero se factura proporcionalmente al número de segundos en los que se usó los contenedores.
- Si el número de contenedores crece se paga por los recursos de cada contenedor.
- Otros servicios de AWS usados con AWS AppRunner se cobran de acuerdo al uso de cada uno.
Conclusiones
Muchas empresas en el mundo han logrado mejorar el Time-to-Market de sus Soluciones Software, acelerando la contenerización con el servicio AWS App Runner. Sin duda una gran oportunidad para estas organizaciones que con menos recursos y más simplicidad han adoptado la tecnología de contenedores y paradigmas como la arquitectura orientada a servicios como solución para impulsar su innovación tecnológica y adaptar su tecnología al mercado.
Es verdad que existen otros actores al implementar una solución, como bases de datos o almacenamiento, que representan un reto para poder adoptar una solución en la Nube como AWS App Runner o Amazon EKS; sin embargo AWS cuenta con varias alternativas para resolver estos restos, desde soluciones de conectividad como VPN, Private Link o Direct Connect, hasta soluciones de baja o cero administración como S3 y Amazon RDS.
Para las otras empresas que por políticas internas o restricciones tecnológicas no pueden ir a la nube Amazon, AWS ofrece servicios en Outpost como Amazon Elastic Container Service o Amazon Elastic Kubernetes Service. Si estás interesado en saber todas las posibilidades de contenedores que tiene AWS tanto on-promises como en la Nube encuentra más información en “Introducción a los contenedores en AWS“.