Kubernetes est une plateforme pour construire des plateformes. Cependant, les initiatives d'ingénierie de plateforme Kubernetes ne sont pas toujours une garantie de succès. De plus, il y a de fortes chances que les budgets initiaux soient dépassés. Pourquoi? Parce que construire des plateformes basées sur Kubernetes n'est pas une tâche facile !
L'ingénierie des plateformes fait appel à un large éventail d'outils et de technologies dont la mise en place et la maintenance peuvent s'avérer fastidieuses et chronophages. Il en résulte souvent que les équipes chargées des plateformes se concentrent principalement sur les aspects technologiques de la plateforme, perdant de vue la valeur que la plateforme est censée apporter (réduire la charge cognitive des développeurs et empêcher le "shadow platforming").
Et si vous pouviez sauter la phase de conception (jour 0), la phase de construction (jour 1), et même réduire le temps consacré à la maintenance (jour 2) d'une plateforme basée sur Kubernetes - et livrer à la place une plateforme prête à l'emploi en 20 minutes ? La rupture est là. Avec Akamai App Platform dans GA, vous pouvez provisionner un cluster LKE avec Akamai App Platform et commencer à construire, déployer, sécuriser, observer et gérer des applications conteneurisées en 20 minutes. Aucun coût supplémentaire n'est à prévoir !
Qu'est-ce que la plate-forme d'applications d'Akamai ?
Akamai App Platform est une pile hautement intégrée et préconfigurée de projets Kubernetes open source qui peut être activée d'un simple clic, associée à un libre-service facile pour les développeurs pour les tâches les plus courantes lors de l'utilisation de Kubernetes.
Approfondissons ces deux aspects.
Une pile intégrée et préconfigurée de projets Kubernetes open source.
Kubernetes seul est comme un centre de données vide. Si seulement il était aussi simple de démarrer un cluster Kubernetes et d'exécuter une commande kubectl apply pour déployer toutes vos applications. Non, toute une série de fonctionnalités supplémentaires sont nécessaires : observabilité, chiffrement du réseau, application des politiques, stockage, politiques de réseau, passerelles de réseau, gestion des secrets, GitOps, automatisation, et peut-être même construction de vos propres opérateurs.
Sélectionner les bons outils pour le travail, apprendre ces outils et les configurer pour qu'ils fassent leur travail est une activité qui prend du temps. Et cela devient encore plus compliqué lorsque ces outils ont des dépendances et doivent fonctionner ensemble. C'est pourquoi les entreprises consacrent au moins six mois à la mise en place d'une configuration initiale.
Pour Akamai App Platform, nous avons sélectionné des outils (logiciels libres) pour la quasi-totalité des capacités requises d'une plateforme Kubernetes et les avons combinés à l'aide d'un cadre d'intégration. Les outils ajoutés au cadre peuvent être combinés avec d'autres outils. Les outils combinés fournissent un pipeline de livraison continue, un moteur d'exécution K8s adapté et un modèle de déploiement GitOps. Chaque outil est préconfiguré pour prendre en charge les cas d'utilisation les plus courants et offrir une expérience utilisateur fluide. Les outils utilisés sont presque tous des projets gradués et en incubation de la CNCF qui sont considérés comme stables et sont utilisés avec succès dans des environnements de production. Les outils les plus connus utilisés dans Akamai App Platform sont Harbor (pour fournir un service de registre de conteneurs), Argo CD et Gitea (pour GitOps), Prometheus (pour les mesures) et Kyverno (pour les stratégies de sécurité).
Libre-service pour les développeurs
Une fois toutes les capacités requises configurées, l'administrateur de la plate-forme peut créer ce que nous appelons une " équipe " dans Akamai App Platform. Une équipe est un locataire isolé sur la plate-forme. Les membres d'une équipe ont accès au portail en libre-service qui leur permet d'enregistrer leurs référentiels de code source, de créer des images de conteneurs, de déployer ces images, de créer des secrets, d'exposer publiquement des applications, de créer des stratégies de réseau et d'accéder aux fonctionnalités partagées de la plate-forme pour consulter les journaux, les mesures et les traces. Les formulaires en libre-service offrent un niveau d'entrée bas pour commencer à utiliser Kubernetes, même pour les développeurs moins expérimentés dans l'ingénierie de plateforme.
Mais l'une des fonctionnalités les plus puissantes du portail en libre-service est peut-être le catalogue. Le catalogue est une collection de modèles Golden Path que les développeurs peuvent utiliser pour déployer leur application. Lors de l'installation initiale de l'App Platform, le catalogue est pré-rempli avec un ensemble de modèles de démarrage pour créer un déploiement. Vous pouvez déployer un cluster Redis, un cluster PostgreSQL et un cluster RabbitMQ. Les modèles pré-remplis peuvent également être personnalisés ou même remplacés par des modèles spécifiques à l'organisation. Cela permet de partager les meilleures pratiques et de standardiser la manière dont les applications sont déployées.
L'architecture
La plate-forme App d'Akamai est basée sur une combinaison des principes GitOps et configuration en tant que code (CaC). GitOps utilise des référentiels Git comme source unique de vérité pour les déploiements d'infrastructures et d'applications, permettant ainsi une diffusion et un déploiement continus. Le CaC, quant à lui, est une pratique dans laquelle les configurations des applications et de l'environnement sont définies en tant que code et stockées dans un système de contrôle des versions. Le cœur de la plateforme est l'API de la plateforme. L'API gère le CaC stocké dans un référentiel Git. Un opérateur Kubernetes récupère périodiquement les modifications du dépôt Git, compile tous les fichiers dans un blob de données, rend les manifestes de l'application Argo CD, puis les déploie dans le cluster Kubernetes. L'application Argo CD mise à jour est récupérée par le contrôleur Argo CD et déploie le graphique Helm demandé avec les valeurs correspondantes.
Le dépôt Git Configuration as Code contient la configuration de l'infrastructure (déployée sur le cluster) et des configurations spécifiques des applications de la plateforme. Les changements dans la configuration des applications de plateforme comme Keycloak (pour la gestion des identités et des accès), Harbor (le service de registre de conteneurs auto-hébergé), et Gitea (le service Git auto-hébergé) sont déployés par des opérateurs Kubernetes personnalisés qui tirent parti des API de l'application.
Prenons un exemple : L'administrateur de la plateforme utilise le portail en libre-service pour activer Harbor car les équipes de la plateforme souhaitent utiliser des registres de conteneurs privés. L'API de la plateforme effectuera d'abord les changements nécessaires dans le référentiel Git de CaC. Parce que Harbor est activé, de nouveaux manifestes d'application Argo CD sont rendus et déployés pour installer Harbor, les bases de données PostgreSQL (CloudNativePG) et l'opérateur Harbor de la plateforme. Lorsque l'opérateur de la plateforme Harbor est en cours d'exécution, il reçoit les instructions de configuration pour configurer Harbor. Dans ce cas, l'opérateur créera des projets pour toutes les équipes de la plateforme, configurera OIDC, créera des comptes robots et créera des secrets push et pull dans les espaces de noms des équipes. Après quelques minutes, toutes les équipes auront accès à leurs projets dans Harbor et pourront utiliser le portail en libre-service pour créer des images de conteneurs qui seront automatiquement stockées dans Harbor.
À qui s'adresse la plate-forme d'applications d'Akamai ?
Soyons honnêtes. L'exemple ci-dessus montre comment Akamai App Platform vous permet d'obtenir un service de registre de conteneurs entièrement automatisé en quelques minutes seulement. Le faire manuellement serait une entreprise colossale. Si votre entreprise se concentre davantage sur la création de valeur pour le client que sur la mise en place d'une plate-forme interne, la plate-forme Akamai App Platform est faite pour vous. Pour être plus concret, nous pensons que la plate-forme Akamai App Platform est plus intéressante pour les entreprises de logiciels à évolution rapide, comme les petites et moyennes entreprises SaaS.
Pourquoi utiliser la plate-forme d'applications d'Akamai ?
La plateforme App d'Akamai offre toutes les capacités dont une plateforme Kubernetes aurait besoin. Et tout est proposé de manière préconfigurée et entièrement automatisée. Cela fait de l'App Platform une plateforme idéale pour construire, déployer, surveiller et sécuriser des architectures de microservices conteneurisées en production.
Mais la plate-forme d'applications d'Akamai peut être utilisée pour bien plus que cela. Comme la plate-forme peut être installée automatiquement sur LKE, vous pouvez commencer à l'utiliser en 10 minutes environ. Et comme la plate-forme est livrée avec une suite complète de projets CNCF gradués et en incubation, la plate-forme applicative d'Akamai est idéale à des fins éducatives.
Un sujet sous-exposé dont nous n'avons pas parlé est celui de la multi-location. Utilisez la fonction Teams de la plateforme pour embarquer un nombre illimité de locataires sur le même cluster (sans tenir compte des ressources cluster requises). Chaque équipe dispose de son propre espace isolé sur la plateforme et est automatiquement intégrée aux applications partagées (comme Harbor dans l'exemple que j'ai donné plus haut).
Si vos développeurs sont impatients de commencer à utiliser Kubernetes, mais que vous ne savez pas par où commencer, il vous suffit d'essayer Akamai App Platform. Activez les fonctionnalités qui vous intéressent et créez des équipes pour des développeurs individuels, des projets ou des équipes complètes de développeurs. Dans certains cas, la plate-forme Akamai App Platform n'est peut-être pas la plate-forme idéale. Mais dans ce cas, elle peut tout à fait être utilisée comme architecture de référence.
Quelle est la prochaine étape ?
Maintenant qu'Akamai App Platform est GA, cela ne signifie pas que nous avons terminé. Non seulement la technologie autour de Kubernetes évolue à la vitesse de l'éclair, mais nous avons encore beaucoup d'améliorations à apporter pour une expérience utilisateur encore meilleure. Dans les prochains sprints, nous publierons quelques mises à jour pour montrer que nous sommes sérieux, en commençant par des mises à jour du portail en libre-service. Si vous disposez déjà d'Akamai App Platform, les mises à jour seront automatiquement annoncées dans le tableau de bord de la plate-forme sur le portail.
Une autre chose passionnante sur laquelle nous travaillons est l'intégration de certaines capacités d'IA de base comme l'inférence d'IA et la génération améliorée de recherche (RAG). Ces capacités seront également utilisées pour alimenter les fonctions d'IA en libre-service comme l'exécution de grands modèles de langage (LLM), fournir un accès aux équipes pour consommer les LLM déployés sur la plateforme, déployer une base de données vectorielle et créer des bases de connaissances (RAG) en créant des embeddings dans la base de données vectorielle sur la base d'une collection de documents, de données et d'autres informations qui peuvent ensuite être utilisées par un grand modèle de langage (LLM) afin d'améliorer ses réponses.
Prêt à démarrer avec App Platform ? Lisez notre documentation.

Commentaires