VT2019 Microclimate Codewind: Difference between revisions
Loic.Schanen (talk | contribs) |
Loic.Schanen (talk | contribs) |
||
Line 40: | Line 40: | ||
Pour créer un nouveau projet sur la page d'accueil de Microclimate il suffit de cliquer sur le bouton "New Project". Il faut ensuite sélectionner le langage du projet. Il est également possible de créer ce projet dans le même temps sous GitHub. |
Pour créer un nouveau projet sur la page d'accueil de Microclimate il suffit de cliquer sur le bouton "New Project". Il faut ensuite sélectionner le langage du projet. Il est également possible de créer ce projet dans le même temps sous GitHub. |
||
[[File:Microclimate_create.png|500px|thumb|center|Fenêtre de création ou d'importation d'un projet sous Microclimate]] |
|||
Revision as of 12:16, 9 December 2019
Microclimate (https://microclimate.dev/) est un environnement de développement dockerisé permettant la conception et le déploiement d'application de divers types en Java, Node.js et Swift.
L'évolution de Microclimate se nomme Codewind, fourni via le projet open source Eclipse Codewind (https://www.eclipse.org/codewind/).
Codewind regroupe les mêmes fonctionnalités que Microclimate mais au lieu d'utiliser un IDE web, Codewind se matérialise sous la forme d'une extension pour des IDE classiques (Eclipse, VSCode).
Abstract
Synthèse
Description
Microclimate
Microclimate est un outil de développement gratuit fourni par IBM facilitant la création, le déploiement, et le test d'applications de divers types.
Plusieurs fonctionnalités fournies par Microclimate font la spécificité de cet outil :
- Complètement intégré dans un conteneur Docker
- Support de plusieurs langages de programmation et leurs combinaisons
- Choix de l'IDE
- Dès la création de l'application, cette dernière tourne dans Docker
- Rapide boucle de développement interne
- Pipeline de déploiement intégré
- Métriques de performances intégrées
Codewind
Codewind correspond à l'évolution de Microclimate fourni par le projet open source Eclipse Codewind.
Codewind intègre toutes les fonctionnalités précédemment citées pour Microclimate, la différence fondamentale se trouve dans le fait que Codewind se matérialise sous la forme d'une extension pour les IDE standards comme VSCode et Eclipse.
L'outil pour Visual Studio Code est open source (license EPL-2.0)
Utilisation
Microclimate
Pour créer un nouveau projet sur la page d'accueil de Microclimate il suffit de cliquer sur le bouton "New Project". Il faut ensuite sélectionner le langage du projet. Il est également possible de créer ce projet dans le même temps sous GitHub.
Cet outil est ensuite très bien documenté et propose de nombreux tutoriels pour démarrer un projet en utilisant toutes les fonctionnalités détaillées par la suite :
https://microclimate.dev/usingmicroclimate#doc
Codewind
De même que pour Microclimate, Codewind est très bien documenté et propose un tutoriel complet pour l'utilisation de Codewind pour Eclipse, VSCode ainsi que Eclipse Che :
https://www.eclipse.org/codewind/gettingstarted.html
Avantages, Inconvénients et limites
Avantages
Support et combinaison de plusieurs langages
Microclimate permet l'écriture de plusieurs micro services dans des langages différents en vue de les assembler pour former une seule application par la suite. Cela permet d'être très flexible et de choisir à chaque fois le langage adapté au micro service que l'on veut développer.
De plus, l'interface intègre une gestion des différents langages gérés (Java, Node, Swift, Go et Python) ainsi que des templates de codes pour chacun de ses langages, afin de fournir toutes les informations et l'assistance nécessaire au codage avec ces langages. La gestion simultanée des différents langages utilisés est gérée par LSP (Language Server Protocol), permettant l'auto-completion, l'accès aux définitions et références, etc... pour chaque langage.
Complètement intégré dans un conteneur Docker
Microclimate existe entièrement à l'intérieure d'une image Docker. Cela permet un développement polyglotte décris par la suite. En effet, lorsqu'un langage est sélectionné, il est directement téléchargé avec les paquets spécifiques à ce langage (Java JDK, Maven, par exemple). Cette fonctionnalité est supportée pour tous les langages précisés précédemment.
Choix de l'IDE
Microclimate fourni un IDE web basé sur le projet open-source Eclipse Theia, cet éditeur de code permet de directement modifier le code sur l'environnement web de Microclimate en intégrant toutes les fonctionnalités classiques d'un éditeur de code. Néanmoins, le code généré ou importé dans Microclimate est également accessible en dehors de Microclimate et peut être facilement importé dans l'éditeur de code voulu (Eclipse, VSCode, autre...), tout en bénéficiant tout de même des autres spécificités de Microclimate.
Application tournant dans Docker dès sa création
Lors de la création ou l'important d'un projet, un Dockerfile est automatiquement créée et configuré pour ce projet en vue de gérer le cycle de vie de cette application. Cela permet de rendre la construction, l'exécution, et le déploiement de l'application le plus rapide possible.
Rapide boucle de développement interne
La boucle de développement interne (code, build, déploiement, exécution) est imagée ci-dessous. Plus cette dernière est rapide, plus le développement d'une application sera productive. Sous Microclimate, cette dernière a été pensée pour être le plus rapide possible et éviter les temps d'attente importants que représentent généralement les étapes du build et du déploiement.
Pipeline de déploiement intégré
Microclimate intègre un pipeline de déploiement entre un micro service créée et le serveur Kubernetes IBM Cloud choisi, ce pipeline se base sur Jenkins (https://jenkins.io/doc/book/pipeline/). Cela permet de facilement déployer notre application sur IBM Cloud ou IBM Kubernetes Service. Une fois ce déploiement réalisé, tous les commits réalisés sur le projet déclencheront un build qui sera ensuite conditionné dans une image Docker qui sera téléchargé sur le registre d'image Docker voulu. Il est possible de voir l'évolution de ces différentes étapes sur les interfaces utilisateurs d'IBM Cloud Private ou d'IBM Kubernetes Service comme nous pouvons voir ci-dessous.
Métriques de performances intégrées
Chaque application créée avec Microclimate dispose d'un suivi de performances qui inclut l'utilisation CPU, les informations sur les requêtes HTTP (nombre d'entrées, débit,...) ainsi que divers informations concernant la mémoire. Il y a également un détail pour chaque point de terminaison, et la possibilité de lancer des tests de performance personnalisés.
Inconvénients et limites
Démonstration
Sources
- [1] : Description des spécificités de Microclimate.
- [2] : Site web officiel de Microclimate regroupant une rapide description ainsi que des tutoriels.
- [3] : Site web officiel de Codewind regroupant une rapide description ainsi que des tutoriels.
- [4] : Description d'un cycle de développement interne classique avec Docker.
- [5] : Description LSP
Veille Technologique 2019
- Année : VT2019
- Sujet : Microclimate, Codewind
- Slides :
- Démonstration :
- Auteurs : Loic Schanen, Antoine Pelisson