La dernière fois,
nous avons parlé des outils et services les plus populaires et les plus discutés pour travailler avec les journaux et les bases de données. Le sujet d'aujourd'hui est la
gestion des conteneurs et l'équilibrage de charge dans le cloud .
/ photo Nicolas Henderson CC BY
Apache OpenWhisk est une plateforme cloud ouverte pour l'informatique sans serveur. Ce concept suppose que les ressources informatiques du cloud sont utilisées comme services. Ainsi, les développeurs et les administrateurs n'ont pas à se soucier de l'infrastructure et de la maintenance du serveur. Il s'avère qu'OpenWhisk s'occupe de l'évolutivité, de la prise en charge du code et des problèmes de sécurité.
Les travaux sur OpenWhisk ont été lancés par les employés d'IBM Research en 2015. Et en 2016, le code source du projet
est apparu sur GitHub . La plate-forme a rapidement gagné en popularité en raison de la tendance qui se développe rapidement pour l'informatique sans serveur. Markets & Markets
prévoit qu'en 2021, la valeur de ce marché sera de 7,7 milliards de dollars (contre 2 milliards de dollars en 2016). Déjà aujourd'hui, en plus d'IBM, des
sociétés comme Adobe et Naver (le moteur de recherche le plus populaire en Corée du Sud)
utilisent la plateforme dans leurs solutions.
Les avantages de la plateforme ont également été appréciés dans Red Hat. Les représentants de l'entreprise
estiment que d'autres projets ouverts - Fission, Kubeless, IronFunctions - sont inférieurs à OpenWhisk en termes de base de code, de qualité des fonctions et de nombre de contributeurs. Par conséquent, Red Hat travaille lui-même avec OpenWhisk et aide le projet à se développer.
La plateforme présente également des inconvénients. Les utilisateurs notent qu'OpenWhisk a trop d'outils. Il comprend: CouchDB, Kafka, Nginx, Redis et Zookeeper. La simple présence de fonctionnalités supplémentaires n'est pas quelque chose de mauvais, c'est juste qu'il est difficile de comprendre toute cette variété.
De plus, en 2018, la réputation d'OpenWhisk a été «
gâchée » par des vulnérabilités qui permettaient à un attaquant de modifier les fonctions de l'utilisateur dans certaines conditions. Ils ont été
rapidement fermés , mais les développeurs
devaient mettre à jour les balises Docker ou Git vers la dernière version. Par conséquent, le nombre exact de systèmes restant vulnérables n'est pas connu. Vous pouvez en savoir plus sur la sécurité d'OpenWhisk dans un
article sur Medium . Ceux qui veulent mieux connaître la plate-forme et l'essayer devraient prêter attention au
guide du blog de James Thomas, le développeur d'IBM Cloud.
Il s'agit d'une nouvelle plateforme cloud pour développer des programmes en JavaScript, Python, Go
, etc. Les applications prêtes à l'emploi peuvent être exécutées dans n'importe quel cloud, y compris à l'aide de conteneurs Kubernetes. Parallèlement, Pulumi est basé sur le concept d'infrastructure programmable (infrastructure-as-code). Les utilisateurs ont la possibilité de travailler avec du matériel en tant que code (gérer les paramètres matériels par programmation).
Il est encore difficile d'évaluer l'efficacité de l'outil sur des projets réels. Un certain nombre de résidents de Hacker News dans le fil thématique ont
noté que Pulumi n'est pas adapté pour travailler sur du métal nu. De plus, l'outil n'a aucun avantage sérieux sur des outils similaires comme
Terraform , qui est sur le marché depuis quatre ans et a réussi à gagner une communauté.
Si vous êtes toujours intéressé à évaluer les capacités de Pulumi, un guide de démarrage rapide peut être trouvé dans le référentiel
sur GitHub .
GLB Director est un équilibreur de charge GitHub auquel les développeurs ont ouvert l'accès à la fin de l'été dernier. Nous avons
parlé de cet événement
dans l'un des documents de notre blog .
L'outil lui-même était la réponse au problème rencontré par l'entreprise. La solution précédente - haproxy -
ne pouvait pas gérer la charge sur GitHub. Lorsque vous utilisez haproxy, vous ne pouvez faire évoluer les services que verticalement - ajoutez du processeur, de la mémoire et des ressources de disque, ce qui n'a pas amélioré les performances de manière tangible. Par conséquent, les développeurs ont créé leur propre solution, adaptée à la charge du service Web.
GLB Director ne dirige pas les paquets vers un seul nœud, mais les répartit entre les proxys principaux et secondaires à l'aide d'un système basé sur le hachage de rendez-vous ( HRW ). Si un serveur tombe en panne, les paquets sont redirigés vers le second. Pour cette raison, l'équilibreur prend en charge la tolérance aux pannes des connexions TCP.
Les utilisateurs de Hacker News
pensent qu'il est difficile de comprendre immédiatement comment travailler avec l'équilibreur. Cependant, il est efficace pour l'équilibrage de charge dans les grands centres de données. Dans le même temps, GLB Director peut être gênant lors de l'équilibrage de la charge entre les serveurs principaux. Pour cette tâche, il est logique de se tourner vers une autre solution ouverte - Facebook
Katran balancer.
/ photo Christopher A. Dominic CC PAR
Crossplane est une plateforme ouverte de gestion de charge multi-cloud. Il vous permet de transférer des applications entre plusieurs environnements cloud et est indépendant des types de clusters et de bibliothèques utilisés. La plateforme permet de différencier les responsabilités des développeurs et des administrateurs, tout en surveillant la stabilité des services.
L'architecture de la plateforme est basée sur le modèle d'allocation des ressources utilisé par Kubernetes. En général, Crossplane est un hybride de Kubernetes et du Terraform susmentionné.
La différence de Crossplane est que dans cette plate-forme tous les fichiers de configuration sont collectés en un seul endroit. Cependant, on
pense que le nouvel outil devra être utilisé avec Terraform, et non à la place.
Pour se familiariser avec la plateforme en pratique, les auteurs proposent de lancer une application Wordpress en utilisant le
guide sur le blog de la communauté.
Titus est la plate-forme de gestion de conteneurs de Netflix, qui a été publiée en open source l'année dernière. Il permet à l'entreprise de travailler quotidiennement avec 200 000 clusters informatiques. La solution est basée sur le système de gestion
Apache Mesos , qui combine des machines virtuelles en un seul cluster. Une approche similaire est utilisée dans le noyau Linux lorsqu'il est nécessaire de partager des ressources matérielles entre des processus locaux.
On
pense que la découverte de code est la tentative de Netflix de maintenir le projet à flot. Netflix avait besoin d'une solution de gestion de conteneurs avant l'arrivée de Kubernetes. Par conséquent, leur système n'a presque aucun avantage sur l'outil Google (seules les entreprises qui travaillent déjà avec Apache Mesos peuvent en bénéficier). Il a été développé plus tard et destiné aux environnements multi-cloud, donc une grande communauté s'est déjà formée autour de lui.
À cet égard, il est possible qu'à l'avenir, les développeurs de Netflix abandonnent eux-mêmes Titus et passent à Kubernetes.
La prochaine fois, nous continuerons à parler des outils open source populaires. Parlons de solutions qui simplifient les tâches des développeurs de logiciels.
Documents de notre blog d'entreprise:
Lecture supplémentaire dans notre chaîne Telegram: