Accueil Nos publications Blog Pivotal Day / Spring Paris

Pivotal Day / Spring Paris

Le mardi 21 novembre, nous étions présents pour le Spring Paris. Durant ces quelques heures, 111 participants de grandes entreprises et intégrateurs reconnus du marché ont échangé sur les technologies de Pivotal. Cette journée fut pour quelques consultants de SOAT l’occasion d’approfondir ou de découvrir tout ce que l’entreprise Pivotal peut offrir aux équipes de développement afin de simplifier la construction, le déploiement et le runtime de nos applications.

Au sein de SOAT, nous connaissions déjà bien certains des produits que Pivotal propose à la communauté. Pour rappel, le Framework Spring et le dernier né Spring-Boot font partie des produits édités par la société Pivotal. Tout ce qui fonctionne sur la JVM est l’un des centres d’intérêts de SOAT. Toutefois, comme Pivotal, SOAT ne se limite pas uniquement au développement d’applications, puisque le déploiement et l’infrastructure de nos clients reste des sujets qui nous sont chers. Comme nous avons pu le voir au cours de cette journée, Pivotal s’inscrit à travers ce qu’il propose, comme l’un des leaders à tous les niveaux pour la création et le déploiement d’applications Cloud-Native.

Au cours de ce billet, nous allons tenter de résumer cette journée riche en présentations et en échanges avec les personnes de Pivotal, en reprenant les conférences auxquelles nous avons pu assister. Nous tacherons de résumer comment Pivotal s’intègre aux différents niveaux du cycle de vie d’une application.

Cloud-Native

Ce néologisme pourrait paraitre, pour nos lecteurs, bien obscur. Toutefois, le principe et les intérêts d’une démarche Cloud-Native nous ont d’abord été expliqués à travers la première conférence intitulée : Pourquoi Adopter une Démarche Cloud-Native ?

Comme nous avons ainsi pu le découvrir, la démarche Cloud-Native offre la flexibilité et la rapidité de développement et de déploiement de nos applications actuelles. Ainsi, au cours de cette première conférence, nous ont été présentés les “12 factors” de la démarche Cloud-Native. Ces 12 factors ont été initialement rédigés par Adam Wiggins, le créateur de la société Heroku. Les principes qu’il expose à travers ce manifeste permettent ainsi de développer des applications qui seront faciles à déployer au sein d’un PaaS.

La seconde conférence de la journée “Applications “12 Factors” avec Spring Boot” fut la parfaite illustration des concepts précédemment présentés.

Introduction sur la manière de bien démarrer une application Spring-Boot dans sa version 1, cette présentation prend rapidement la forme d’un live-coding accompagné d’explications. Démonstration convaincante de la rapidité de développement apportée par Spring-Boot, nous voyons devant nos yeux se construire une petite application contenant une base de données et exposant une API Rest. Stéphane Nicoll et Brian Clozel nous démontrent que l’application, construite en quelques minutes, est déjà production ready (grâce à l’intégration H2, Flyway & Actuator, un module de Spring-Boot permettant de fournir des métriques). À l’issue de la démonstration, un déploiement de cette application est réalisé sur la plateforme Cloud Foundry utilisant une base de données MySQL.

Bien évidemment, Cloud Foundry, solution développée par Pivotal, intègre parfaitement l’écosystème de Spring-Boot en fournissant des métriques aux utilisateurs, ainsi qu’une intégration très simple de la configuration. Par exemple, au sein de la petite application de démonstration, nous voyons que l’ajout d’un service de base de données permet ainsi de définir automatiquement la bonne configuration pour l’application.

Cloud-Foundry

Après ce premier aperçu rapide de Cloud Foundry, nous revenons après une courte pause pour une conférence d’Alexandre Vasseur, pour faire un peu d’histoire de la containerisation et voir comment on est arrivé à Cloud-Foundry. Avant de continuer la présentation, on commence par nous rappeler le positionnement de Pivotal par rapport à diverses initiatives, comme par exemple l’open container initiative, initiative dont Pivotal est membre.

Au travers de cette présentation très théorique au départ, on nous replace le positionnement et l’intérêt de Cloud-Foundry à travers l’histoire de la containerisation. À cette occasion, nous apprenons que Docker ne gère plus le lancement et l’exécution de ses containers lui-même. À la place, il le délègue à un autre démon : containerd à travers runc.

Après quelques rappels sur l’orchestrator Kubernetes, on nous présente l’utilité de bosh comme la solution entre nos machines physiques et notre cluster. Bien que cela soit passé rapidement, nous comprenons finalement que bosh est la pierre angulaire pour le déploiement de Cloud-Foundry.

Pour finir dans les temps avant le REX d’Orange, nous passons à une présentation des différentes fonctionnalités de cette plateforme PaaS. Malgré la densité de la présentation et la diversité des sujets abordés, nous retenons que, grâce à Bosh, Cloud-Foundry peut s’installer (facilement) n’importe où.

Juste avant d’entamer la pause du midi, nous passons au REX de la mise en place de Cloud-Foundry au sein d’Orange.

Dynatrace

En tout début d’après-midi, Dynatrace, sponsor de l’événement, nous présente sa solution : un outil de monitoring des performances de nos applications.

Concurrent direct de solutions comme AppDynamics, New Relic ou encore Datadog, il s’intègre sur la JVM comme ses concurrents : à travers un agent qu’il faut déclarer au sein de sa ligne de commande.

Toutefois, de cette présentation, nous retenons que Dynatrace se prétend moins cher que ses concurrents, grâce à un modèle de pricing basé sur la consommation à la machine et non pas à l’agent. Modèle compatible avec un écosystème de microservices dans Docker, tous les concurrents du marché aujourd’hui doivent en effet s’adapter à cette transition déjà amorcée. Toutefois, nous n’aurons pas d’informations plus factuelles quant à cette facturation.

De Spring-Cloud à Concourse

Dans l’après-midi, Stéphane Nicoll et Brian Clozel continuent la démonstration du matin sur Spring-Boot en nous introduisant Spring Cloud. Configuration externalisée sur un repository github, nous faisons un tour rapide sur les fonctionnalités et la mise en oeuvre de celles-ci au sein de Spring-Boot. L’intégration cloud propose de nombreux services, comme l’introduction des outils de Netflix (comme Eureka, Feign, Hystrix, Ribbon…).

Enfin, dans les dernières présentations de la journée, Erwan Bornier est venu nous parler de l’outil de CI/CD de Pivotal : Concourse. Une IHM simple et claire, nous avons pu assister à un pipeline de déploiement continu grâce à l’outil sur Cloud-Foundry.

Nous aurions aimé en voir un peu plus, mais la densité de la journée ne le permettait pas toujours.

Enlight the Future with Reactor !!

Pour finir cette journée, nous avons eu une conférence sur l’un des projets de Pivotal déjà en release, et qui fera partie intégrante de la prochaine mouture de Spring-Boot : Reactor.

Cette présentation, fort théorique, fut une excellente introduction aux principes des reactive streams. De l’explication des reactives streams (la spécification), jusqu’à son implémentation à travers Reactor, Simon Baslé nous explique l’intérêt de cette API que l’on retrouve d’ailleurs au sein du JDK 9.

Cette dernière démonstration de la journée aura permis d’introduire le dernier né des labos de Pivotal. Chez Soat, nous croyons beaucoup à ce projet et nous avons hâte de découvrir la prochaine version de Spring-Boot.

En ce sens, et afin de favoriser au mieux les retours d’expériences, n’hésitez pas à commencer à migrer dès aujourd’hui sur cette nouvelle mouture afin de profiter pleinement de toutes les fonctionnalités que cette version peut offrir.

© SOAT
Toute reproduction interdite sans autorisation de l’auteur