5 outils open source pour développer sur le cloud

Lorsque vous développez des logiciels sur le cloud, votre environnement est fondamentalement différent de ce qui se trouve sur votre ordinateur portable. C’est un avantage pour le processus de développement car votre code s’adapte à l’environnement dans lequel il s’exécute. Cet article passera en revue cinq différents environnements de développement intégrés (IDE) qui peuvent améliorer votre expérience de programmation.
Che
Bien qu’il soit parfaitement acceptable de développer sur un IDE local avec une intégration minimale à une plate-forme locale comme OKD ou minikube, il existe une meilleure option. Che est un IDE conçu pour et qui s’exécute sur Kubernetes. Pour un développeur, un IDE conscient des particularités du cloud peut être utile.
Certains développeurs n’aiment pas utiliser un IDE, car ils pensent qu’un IDE peut gérer trop de leur code pour eux, ce qui les fait se sentir éloignés de la base de code. Mais lorsque votre code est développé sur le cloud, il y a beaucoup d’avantages à laisser le cloud rester abstrait. Vous n’avez pas besoin de connaître la plate-forme sur laquelle vous codez, car vous codez pour un conteneur éphémère, mais totalement prévisible. Si vous laissez votre IDE être votre interface principale, vous n’avez pas à vous soucier du système de fichiers que vous utilisez ou de la disposition du système. Vous pouvez vous concentrer sur votre code, pendant que votre IDE gère votre environnement.
Espaces de travail CodeReady
Une extension naturelle de l’exécution d’un IDE sur Kubernetes est la possibilité d’exécuter votre choix de plusieurs IDE sur Kubernetes. CodeReady Workspaces est une fonctionnalité OpenShift qui lance des IDE populaires dans un conteneur.
Que votre langage de prédilection soit Python, Java, Go, Rust, C ou C++, JavaScript, .Net ou autre chose, vous pouvez probablement bénéficier d’un bon IDE. CodeReady Workspaces a accès à VS Code, JetBrains, Che, Theia, etc. Il y a plein de bons arguments pour standardiser une équipe de développement sur le même IDE, et c’est précisément ce que CodeReady Workspaces peut rendre possible.
CodeReady Workspaces s’exécute sur OpenShift, il peut donc être utilisé avec plusieurs fournisseurs de cloud différents, y compris Service Red Hat OpenShift sur AWS plateforme, mais aussi Azure, Google Cloud, ainsi que votre propre cloud OpenStack privé.
Hubs de conteneurs
Il existe des bibliothèques que vous pouvez utiliser dans le monde du développement de logiciels afin que vous n’ayez pas à réinventer une technologie que quelqu’un d’autre a déjà travaillé dur pour comprendre. De même, le cloud dispose de conteneurs qui offrent aux développeurs et aux administrateurs système le même luxe.
Lorsque vous développez une application cloud native et réalisez que vous avez besoin d’un composant standardisé (par exemple, une base de données), vous pouvez importer un conteneur qui fournit ce composant. Tout ce que vous avez à faire est de regarder les entrées et les sorties du conteneur, comme s’il s’agissait d’une fonction dans le code, et d’écrire votre logiciel en conséquence.
Il existe de nombreux hubs de conteneurs populaires et fiables.
Comme les bibliothèques de logiciels, les composants conteneurisés bien pris en charge ont l’avantage d’être maintenus par quelqu’un d’autre. Bien que vous puissiez apprendre à créer vos propres conteneurs et à exécuter vos propres applications de support personnalisées, votre premier arrêt devrait être un hub de conteneurs.
Buildah
Lorsque vient le temps de créer votre propre conteneur, que ce soit parce qu’un hub de conteneurs n’a pas de conteneur bien entretenu pour ce dont vous avez besoin, ou parce que le conteneur dont vous avez besoin est le vôtre, il existe des outils pour faciliter le processus. .
Même si vous développez des applications dans un isolement relatif, lorsque vous développez pour le cloud, votre application à un moment donné est sûre d’être déployée en tant que conteneur. Il existe différentes manières de construire un conteneur. Vous pouvez baser votre travail sur des conteneurs existants ou, si vous avez vraiment besoin de repartir à neuf, vous pouvez créer un conteneur à partir de zéro.
Quelle que soit la tactique que vous utilisez, vous voulez que votre solution devienne finalement automatisée afin que vous puissiez l’intégrer à votre CI/CD ou à votre processus de construction. Buildah est un outil flexible et facile à apprendre qui vaut la peine d’être utilisé.
Kubect
Selon le fournisseur de cloud avec lequel vous faites affaire, le kubectl
la commande peut ou non être disponible pour vous, mais il y a une différence entre en utilisant une commande et connaissance une commande.
J’ai trouvé cet apprentissage kubectl
a joué un rôle important dans ma compréhension des composants sous-jacents de la technologie cloud. En tant que développeur, vous n’aurez peut-être jamais besoin de savoir quels nœuds sont présents dans un cluster, mais il peut être agréable de comprendre qu’ils existent, pourquoi et ce qu’ils font. Vous n’aurez peut-être pas non plus à vous soucier de l’espace de noms dans lequel votre conteneur s’exécute ou du pod dont il est membre, mais il peut être utile de comprendre ce qui est disponible et ce qui n’est pas disponible à l’intérieur et à l’extérieur d’un espace de noms ou d’un pod.
[ Download now: Kubectl cheat sheet ]
Que votre fournisseur de cloud vous donne accès ou non à kubectl
ou vous devez l’exécuter pour un projet, si vous êtes le type de développeur qui veut comprendre l’ensemble de la pile, alors vous devriez apprendre kubectl
.
Une histoire en développement
Le développement d’applications cloud natives est une histoire en constante évolution. De nouveaux outils continuent d’apparaître et la tâche de développement dans le cloud devient plus facile et plus accessible. Une chose est sûre : vous devez absolument saisir l’occasion de vous familiariser avec l’utilisation de différents environnements lors de l’informatique dans le cloud. Avec autant d’outils open source pour que la vie dans le cloud ressemble à votre environnement natif, vous avez le choix entre de nombreuses options.
[ Take the free online course: Deploying containerized applications ]