Kubernetes es una plataforma para construir plataformas. Sin embargo, las iniciativas de ingeniería de plataformas Kubernetes no siempre son garantía de éxito. Además, es muy probable que se superen los presupuestos iniciales. ¿Por qué? Porque construir plataformas basadas en Kubernetes no es una tarea fácil.
La ingeniería de plataformas implica una amplia gama de herramientas y tecnologías cuya configuración y mantenimiento pueden resultar abrumadores y requerir mucho tiempo. A menudo, esto hace que los equipos de plataforma se centren principalmente en los aspectos tecnológicos de la plataforma y pierdan de vista el valor que se supone que debe aportar la plataforma (reducir la carga cognitiva de los desarrolladores y evitar la plataforma en la sombra).
¿Y si pudiera saltarse la fase de diseño (día 0), la fase de construcción (día 1) e incluso reducir el tiempo dedicado al mantenimiento (día 2) de una plataforma basada en Kubernetes y, en su lugar, entregar una plataforma lista para usar en 20 minutos? La disrupción está aquí. Con Akamai App Platform en GA, puede aprovisionar un clúster LKE con Akamai App Platform y empezar a construir, desplegar, asegurar, observar y gestionar aplicaciones en contenedores en 20 minutos. ¡Sin costes adicionales!
¿Qué es Akamai App Platform?
Akamai App Platform es una pila altamente integrada y preconfigurada de proyectos Kubernetes de código abierto que puede activarse con solo pulsar un botón, combinada con una sencilla capacidad de autoservicio del desarrollador para las tareas más comunes al utilizar Kubernetes.
Profundicemos un poco más en estos dos aspectos.
Una pila integrada y preconfigurada de proyectos Kubernetes de código abierto
Kubernetes por sí solo es como un centro de datos vacío. Ojalá fuera tan sencillo como crear un clúster de Kubernetes y ejecutar un comando kubectl apply para desplegar todas las aplicaciones. No, se necesita un montón de capacidades adicionales: observabilidad, cifrado de red, aplicación de políticas, almacenamiento, políticas de red, puertas de enlace de red, gestión secreta, GitOps, automatización e incluso la creación de sus propios operadores.
Seleccionar las herramientas adecuadas para el trabajo, aprender a utilizarlas y configurarlas para que cumplan su función es una tarea que lleva mucho tiempo. Y se complica aún más cuando estas herramientas tienen dependencias y necesitan trabajar juntas. Por eso vemos que las empresas invierten al menos 6 meses en crear una configuración inicial.
Para Akamai App Platform, seleccionamos herramientas (software de código abierto) para casi todas las capacidades necesarias de una plataforma Kubernetes y las combinamos utilizando un marco de integración. Las herramientas añadidas al marco pueden combinarse con otras herramientas. Las herramientas encadenadas proporcionan una canalización de entrega continua, un tiempo de ejecución K8s adaptado y un patrón de despliegue GitOps. Cada herramienta está preconfigurada para soportar los casos de uso más comunes y ofrecer una experiencia de usuario fluida. Las herramientas utilizadas son casi todas CNCF Graduated and Incubating Projects que se consideran estables y se utilizan con éxito en entornos de producción. Las herramientas más conocidas utilizadas en Akamai App Platform son Harbor (para proporcionar un servicio de registro de contenedores), Argo CD y Gitea (para GitOps), Prometheus (para métricas) y Kyverno (para políticas de seguridad).
Autoservicio sencillo para desarrolladores
Con todas las capacidades requeridas configuradas, el administrador de la plataforma puede crear lo que llamamos un "Equipo" en Akamai App Platform. Un Equipo es un inquilino aislado en la plataforma. Los miembros de un Equipo obtendrán acceso al portal de autoservicio que les permite registrar sus repositorios de código fuente, construir imágenes de contenedores, desplegar estas imágenes, crear secretos, exponer aplicaciones públicamente, crear políticas de red y obtener acceso a las capacidades compartidas de la plataforma para ver registros, métricas y trazas. Los formularios de autoservicio ofrecen un nivel de entrada bajo para empezar a utilizar Kubernetes, incluso para los desarrolladores menos experimentados en ingeniería de plataformas.
Pero quizá una de las características más potentes del portal de autoservicio sea el catálogo. El catálogo es una colección de plantillas Golden Path que los desarrolladores pueden utilizar para desplegar su aplicación. Durante la instalación inicial de la plataforma de aplicaciones, el catálogo se rellena previamente con un conjunto de plantillas de inicio para crear una implantación. Puede desplegar un clúster Redis, un clúster PostgreSQL y un clúster RabbitMQ. Las plantillas preconfiguradas también pueden personalizarse o incluso sustituirse por plantillas específicas de la organización. Esto permite compartir las mejores prácticas y estandariza la forma en que se despliegan las aplicaciones.
Arquitectura
La Plataforma de Aplicaciones de Akamai se basa en una combinación de principios GitOps y de configuración como código (CaC). GitOps utiliza repositorios Git como única fuente de verdad tanto para la infraestructura como para los despliegues de aplicaciones, lo que permite la entrega y el despliegue continuos. CaC, por su parte, es una práctica en la que las configuraciones de aplicaciones y entornos se definen como código y se almacenan en el control de versiones. El corazón de la plataforma es la API de la plataforma. La API gestiona el CaC almacenado en un repositorio Git. Un operador de Kubernetes obtiene periódicamente los cambios del repositorio Git, compila todos los archivos en un blob de datos, genera manifiestos de la Aplicación Argo CD y, a continuación, los despliega en el clúster Kubernetes. La Aplicación Argo CD actualizada es recogida por el controlador Argo CD y despliega el gráfico Helm solicitado con los valores correspondientes.
El repositorio Git Configuration as Code contiene la configuración tanto para la infraestructura (desplegada en el clúster) como para configuraciones específicas de aplicaciones de plataforma. Los cambios en la configuración de aplicaciones de plataforma como Keycloak (para la gestión de identidades y accesos), Harbor (el servicio de registro de contenedores autoalojado) y Gitea (el servicio Git autoalojado) se despliegan mediante operadores de Kubernetes personalizados que aprovechan las API de las aplicaciones.
Veamos un ejemplo: El administrador de la plataforma utiliza el portal de autoservicio para habilitar Harbor porque a los equipos de la plataforma les gustaría utilizar registros de contenedores privados. La API de la plataforma realizará primero los cambios necesarios en el repositorio Git de CaC. Dado que Harbor está habilitado, se renderizan y despliegan nuevos manifiestos de aplicación de CD Argo para instalar Harbor, las bases de datos PostgreSQL (CloudNativePG) y el operador Harbor de la plataforma. Cuando se ejecute el operador Harbor de plataforma, obtendrá las instrucciones de configuración para configurar Harbor. En este caso, el operador creará proyectos para todos los equipos de la plataforma, configurará OIDC, creará cuentas robot y creará secretos push y pull en los espacios de nombres de los equipos. Al cabo de un par de minutos, todos los equipos tendrán acceso a sus proyectos en Harbor y podrán utilizar el portal de autoservicio para crear imágenes de contenedores que se almacenarán automáticamente en Harbor.
¿Para quién es la Plataforma de Aplicaciones de Akamai?
Seamos sinceros. El ejemplo anterior sobre cómo Akamai App Platform le permite obtener un servicio de registro de contenedores totalmente automatizado en tan sólo unos minutos. Hacer esto manualmente sería una empresa enorme. Si su organización está más centrada en ofrecer valor al cliente que en construir una plataforma interna, entonces la Plataforma de Aplicaciones de Akamai es definitivamente para usted. Para ser más concretos, creemos que Akamai App Platform es más interesante para las empresas de software de rápida evolución, como las pequeñas y medianas empresas de SaaS.
¿Por qué utilizar la Plataforma de Aplicaciones de Akamai?
Akamai App Platform ofrece todas las capacidades que requeriría una plataforma Kubernetes. Y todo se ofrece de forma preconfigurada y totalmente automatizada. Esto convierte a la App Platform en una plataforma ideal para construir, desplegar, monitorizar y asegurar arquitecturas de microservicios en contenedores en producción.
Pero la Akamai App Platform puede utilizarse para mucho más que eso. Dado que la plataforma puede instalarse automáticamente en LKE, puede empezar a utilizarla en unos 10 minutos. Y como la plataforma viene con un conjunto completo de Proyectos Graduados e Incubados CNCF, la Plataforma de Aplicaciones Akamai es ideal para fines educativos.
Un tema poco tratado del que no hemos hablado es el multi-tenancy. Utiliza la función Equipos de la plataforma para integrar un número ilimitado de inquilinos (sin tener en cuenta los recursos de clúster necesarios) en el mismo clúster. Cada equipo obtiene su propio espacio aislado en la plataforma y se incorpora automáticamente a las aplicaciones compartidas (como Harbor en el ejemplo que he dado antes).
Si sus desarrolladores están deseando empezar a utilizar Kubernetes, pero no sabe por dónde empezar, dele una vuelta a Akamai App Platform. Habilite las capacidades que desee probar y cree equipos para desarrolladores individuales, proyectos o equipos completos de desarrolladores. Puede que en algunos casos, la Akamai App Platform no sea su plataforma ideal. Pero en ese caso, podría utilizarse definitivamente como arquitectura de referencia.
¿Y ahora qué?
Ahora que Akamai App Platform es GA, no significa que hayamos terminado. No sólo la tecnología en torno a Kubernetes se mueve a la velocidad del rayo, sino que también todavía vemos un montón de mejoras que nos gustaría ofrecer para una experiencia de usuario aún mejor. En los próximos sprints, lanzaremos un par de actualizaciones para demostrar que vamos en serio, empezando con algunas actualizaciones en el portal de autoservicio. Si ya tiene la Plataforma de Aplicaciones Akamai en funcionamiento, las actualizaciones se anunciarán automáticamente en el panel de la plataforma en el portal.
Otro aspecto interesante en el que estamos trabajando es la integración de algunas funciones básicas de IA, como la inferencia de IA y la generación mejorada de recuperación (RAG). Estas capacidades también se utilizarán para potenciar funciones de autoservicio de IA como la ejecución de grandes modelos lingüísticos (LLM), proporcionar acceso a los equipos para consumir los LLM desplegados en la plataforma, desplegar una base de datos vectorial y crear bases de conocimiento (RAG) mediante la creación de incrustaciones en la base de datos vectorial basada en una colección de documentos, datos y otra información que luego puede ser utilizada por un gran modelo lingüístico (LLM) para mejorar sus respuestas.
¿Listo para empezar a utilizar la Plataforma de Aplicaciones? Lea nuestra documentación.

Comentarios