Contribución al código abierto de AWS - El significado estratégico de Bottlerocket, Firecracker, Cedar y OpenSearch

Explicamos las características técnicas de los proyectos de código abierto liderados por AWS como Bottlerocket, Firecracker, Cedar y OpenSearch, y la singularidad de la estrategia OSS de AWS.

Visión general de la estrategia OSS de AWS

AWS despliega una estrategia de código abierto única entre los proveedores de nube. Mientras Google crea OSS que se convierten en estándares de la industria como Kubernetes y TensorFlow, y Microsoft fortalece su relación con la comunidad mediante la adquisición de GitHub y la apertura de .NET, AWS adopta el enfoque de publicar como código abierto las tecnologías base de sus propios servicios. Firecracker (base de Lambda y Fargate), Bottlerocket (SO dedicado a contenedores), Cedar (lenguaje de políticas de autorización) y OpenSearch (motor de búsqueda y análisis) son todos tecnologías que sustentan los servicios de AWS, publicadas bajo licencias de código abierto.

Firecracker - La VM ligera que sustenta serverless

Firecracker es un monitor de máquinas virtuales (VMM) ligero desarrollado por AWS, utilizado como plataforma de ejecución de Lambda y Fargate. Comparado con VMs tradicionales, su tiempo de arranque es extremadamente rápido (menos de 125 milisegundos) y el overhead de memoria se minimiza. Opera sobre KVM (Kernel-based Virtual Machine), logrando la ligereza de un contenedor con el aislamiento de seguridad de una VM. Está implementado en Rust, con seguridad de memoria garantizada a nivel de lenguaje. La publicación de Firecracker como código abierto permite utilizar la misma tecnología fuera de los entornos de AWS.

Bottlerocket - La filosofía de diseño de un SO dedicado a contenedores

Bottlerocket es un SO basado en Linux dedicado a cargas de trabajo en contenedores, desarrollado por AWS. A diferencia de un SO de propósito general, elimina paquetes y herramientas innecesarios para la ejecución de contenedores, minimizando la superficie de ataque. No tiene gestor de paquetes, y las actualizaciones del SO se realizan reemplazando la imagen completa con un diseño inmutable. Durante las actualizaciones, el cambio A/B de particiones permite un rollback inmediato si surge un problema. El mecanismo de gestión de configuración vía API elimina la operación de login SSH y configuración manual, aumentando la afinidad con Infrastructure as Code.

Cedar - Lenguaje declarativo de políticas de autorización

Cedar es un lenguaje de políticas de autorización desarrollado por AWS, y es la tecnología base de Amazon Verified Permissions. Tradicionalmente, la lógica de autorización tendía a dispersarse dentro del código de la aplicación, pero Cedar permite separar las políticas del código y describirlas de forma declarativa. La sintaxis de las políticas está diseñada para ser legible por humanos, expresando claramente quién, sobre qué, qué acción, bajo qué condiciones se permite o deniega. El motor de políticas de Cedar está implementado en Rust, con evaluación rápida y verificación formal (detección de contradicciones y redundancias en políticas).

OpenSearch - De fork a evolución independiente

OpenSearch es un proyecto que AWS lanzó en 2021 como fork de Elasticsearch y Kibana. Tras el cambio de licencia de Elastic a SSPL, AWS publicó OpenSearch bajo licencia Apache 2.0. Inicialmente mantenía compatibilidad con Elasticsearch 7.10, pero posteriormente ha avanzado con adiciones de funcionalidades propias, evolucionando de forma independiente en áreas como análisis de seguridad, observabilidad e inferencia de machine learning. OpenSearch Dashboards es un fork de Kibana que proporciona funcionalidades de visualización y dashboards.

El significado de la estrategia OSS de AWS

La estrategia OSS de AWS es un enfoque que aumenta la transparencia y confiabilidad publicando las tecnologías base de sus propios servicios. La publicación como código abierto de tecnologías base como Firecracker y Bottlerocket permite a los usuarios comprender el funcionamiento interno de los servicios de AWS y proporciona la opción de utilizar la misma tecnología en sus propios entornos. Por otro lado, AWS también ha generado debate con la comunidad OSS, como se ve en el fork de Elasticsearch (OpenSearch). Google tiene una estrategia OSS de crear estándares de la industria como Kubernetes e Istio, Microsoft tiene una estrategia de integración con la comunidad con VS Code y TypeScript. Cada proveedor tiene un enfoque diferente hacia el código abierto, y la estrategia de AWS se caracteriza por publicar las tecnologías que sustentan sus propios servicios.