VT2020-Microclimate-Fiche

= Microclimate & Codewind =

Abstract
«''Microclimate is a Dockerized, end-to-end development environment that enables agile development and delivery of microservices, hybrid, and Docker containerized apps in Java, Node.js, and Swift. Microclimate offers services and tools to help you create and modernize applications in one seamless experience. You can use Microclimate for every step of the process, from writing and testing code locally to building and deployment with a pipeline.''» - Documentation officielle de Microclimate

«Codewind simplifies and enhances development in containers by extending industry standard IDEs with features to write, debug, and deploy cloud-native applications.» - Documentation officielle de Codewind

Origine
Microclimate a été créé en Février 2018 par IBM pour être un outil de développement en ligne pouvant supporter différents langages et basé sur des conteneurs. Les projets microservices peuvent être hébergés, construits et déployés dans les conteneurs Docker. Quelques mois plus tard, IBM s’est rendu compte que même si certaines propositions clés de Microclimate étaient pertinentes, ils ont estimé que cette solution n’était pas la plus adaptée pour les développeurs. En effet, ces derniers préfèrent ajouter des extensions à leurs outils quotidiens plutôt qu’utiliser un IDE web englobant tout, c’est pourquoi IBM a tout simplement arrêté de développer Microclimate, et l’a laissé en l’état pour concentrer ses efforts sur Codewind, qui rassemble des extensions à des IDE standards déjà très développés dans la communauté de développeurs, permettant du déploiement via des conteneurs.

Présentation des Fonctionnalités
Microclimate est un environnement de développement web qui permet de créer, éditer et déployer rapidement des applications, car il englobe plusieurs langages et est en ligne. Les applications sont ainsi lancées sur des conteuneurs Docker. Avec Microclimate, il est possible générer des applications avec cinq langages différents : Java, Node.js, Python, Go et Swift. Il offre des services et outils pour aider à créer et moderniser des applications. Microclimate peut être utilisé pour chacune des étapes du processus, d’écrire et tester du code localement à construire et déployer avec un pipeline. Une architecture microservices est utilisée.

CodeWind a donc été créé en Mai 2019 par la Fondation Eclipse. C’est un projet open-source qui simplifie et améliore le développement logiciel via des conteneurs en aidant à construire des applications, natives ou adaptées pour le cloud, de haute qualité pour Kubernetes, quelque soit l’IDE ou le langage de programmation utilisé. Il s’agit d’une extension pour trois IDE standards : Eclipse, VSCode et Intellij. Codewind apporte des fonctionnalités pour créer rapidement une application en se basant sur un modèle ou un échantillon, le support pour le lancement, la mise à jour, le test et le débogage dans les conteneurs Docker sur le bureau. Les outils fournissent de l’aide pour déplacer une application existante vers Docker et Kuberenetes, et la validation pour s’assurer que les applications suivent les meilleures pratiques.

Avantages
Microclimate :
 * Développement via des conteneurs légers facilement reproductibles afin de correspondre au mieux à votre environnement local
 * Éditer, créer et exécuter rapidement des applications en obtenant simultanément des informations sur leurs performances
 * Accélération de la production de l’application grâce aux pipelines pré-configurés
 * Multiple options d’IDE

Codewind :
 * Création d’applications via des conteneurs avec des langages qui vous sont familiers
 * Possibilité de voir les changements réalisés sur votre application conteneurisée presque instantanément dans votre IDE
 * Permet de développer sur un container sans avoir l’impression d’être sur un container. Permet de coder avec les outils et langages utilisés tous les jours.

Limites

 * Microclimate est devenu obsolète depuis Décembre 2019, ce qui signifie qu'il n'y a plus de support de la part d'IBM lorsque vous rencontrez un problème en utilisant Microclimate.

Microclimate & Codewind
 * Seulement 5 langages sont supportés par Microclimate et Codewind (Go, Java, Node.js, Python et Swift), si jamais une application venait à être développée en utilisant d'autres langages, cela risquerait fort de ne pas fonctionner, puisque ces outils n'ont pas été conçus pour générer des applications avec d'autres langages que les cinq cités précédemment.

= Démonstration =

Une démonstration est disponible.

= Sources =
 * Documentation officielle de Microclimate
 * Documentation officielle de Codewind
 * Informations supplémentaires sur Codewind
 * Informations sur les metrics de Codewind

= Veille Technologique 2020 =
 * Année : VT2020
 * Sujet : Microclimate
 * Slides : [[Media:VT2020-Microclimate-Presentation.pdf|Slides]]
 * Auteur : Myriam Lombard