Open source populaire - deuxième partie: 5 outils de gestion du cloud

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



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.


Pulumi



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 .


Directeur GLB



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



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



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:

Source: https://habr.com/ru/post/fr438032/


All Articles