VMworld europe 2018 – Pivotal (partie 2)

VMworldeurope2018 – Pivotal – Pivotal Cloud Foundry


Jusqu’à maintenant je n’avais pas trop parlé des méthodes de développement logiciel. Mais à VMworld 2018, j’ai rencontré Mr Alexandre VASSEUR, Leader technique pour l’Europe du Sud, qui m’a présenté la société Pivotal et sa méthode de travail.

Pivotal travaille avec des outils et des méthodes qui changent par rapport au modèle classique de ‘cycle en V’. Pour rappel, le ‘cycle en V’ est le fait de développer un logiciel en suivant un schéma du style: cahier des charges, spécifications, codage, tests techniques, tests de recette. Je simplifie volontairement. Avec Pivotal, on entre dans le cadre des méthodes ‘agile’ et ‘extreme programming’ et Pivotal propose une plateforme applicative et container multi cloud pour étayer la démarche dans son passage à l’échelle.

Pivotal dispose de 18 bureaux à l’international et emploie 2800 personnes. Les clients sont par exemple des groupes comme Ford, Thales, AirFrance KLM etc.

Pivotal fut le premier fournisseur externe de services pour Google, c’est dire tout l’intérêt de cette grande entreprise pour ce type de méthode, mais pas seulement. En effet, Pivotal c’est aussi une plateforme basée sur les containers et incluant Kubernetes, que Pivotal a développé en mode open source: Pivotal Cloud Foundry.

L’originalité du service fourni est cette association entre une méthode de développement et ce lien étroit avec cette plateforme, cet outil de développement logiciel.

La méthode de Pivotal est donc basée sur la méthode ‘agile’, mais pas seulement. Un des concepts originaux mis en place lors d’une intervention avec les équipes client est le ‘peering’, ou travail en binôme. C’est un mode de travail collaboratif – processus conçus autour de l’humain. Le principe est «une unité centrale pour deux claviers». C’est-à-dire que lors d’un projet Pivotal Labs pour une entreprise, l’ingénieur ou UX designer Pivotal se retrouve à travailler en duo avec un développeur du client pour montrer et démontrer la façon de travailler et pour participer pleinement au projet en co-réalisation. Un autre terme utilisé pour définir ce mode de travail est ‘Extreme Programming’, et il est associé ici à une approche DevOps via une chaîne de déploiement continue tirant partie de Pivotal Cloud Foundry,


Cette façon d’intervenir en mode pairing et agile permet donc de tenir pleinement compte des besoins du client: pendant que les paires d’ingénieurs codent, la paire de Product Owner ou UX designer peut réaliser des interviews d’utilisateurs et affiner les besoins. Il y a prise en compte à tout moment des besoins du client. Cela permet de faciliter la communication et de livrer du code chaque jour si besoin. Cette construction au cours du temps permet de réaliser une fonction quand le client en fait la demande. Les tests sont réalisés de manière itérative. Autre avantage, cela permet d’éviter la perte d’information consécutive à un départ de l’équipe. Le fait de travailler ensemble permet d’éviter aussi la ‘dette technique’. Ce terme désigne le fait qu’une connaissance technique nécessaire au développement et à l’évolution du logiciel ne soit pas connue ou perdue. Cela constitue un manque, donc a été nommé ‘dette’.


Un des enjeux de Pivotal pour les applications existantes est la migration du code, ‘legacy’, vers la containérisation. L’idée étant de migrer petit à petit les fonctions et les parties d’applications vers des containers. Cela peut se faire en prenant des parties de l’application et en les passant en mode container, sur un PaaS (Plateforme as a Service).

Autre enjeu: Créer des applications cloud natives. C’est à dire qui doivent être capables d’exploiter tous les avantages du Cloud quel qu’il soit. Elles sont développées selon un mode propre au travail de DevOps en développement continu en utilisant des microservices ou des containers notamment avec le framework Java Spring Boot et Spring Cloud.

Parmi les expériences qui ont appris à Pivotal, il y a la problématique des niveaux d’abstraction. Il n’est pas toujours facile de trouver le bon niveau d’abstraction pour une application. Faut-il mettre en micro-service, en container, en machine virtuelle ? Cette décision est absolument différente pour chaque client et chaque application. De plus, dans le monde du cloud, on ne trouve pas d’API commune, pas de standard.

En pratique, la containérisation ou la mise en micro-service de code n’est pas triviale, elle dépend beaucoup de l’environnement et du codage de l’application elle-même, ce qui revient souvent à se poser la question : avons-nous le code pour l’analyser et aussi pour déterminer les points critiques ?

La plateforme: Pivotal Cloud Foundry est développé par Pivotal et écrit en Java, Go (grâce à la proximité avec Google), Python etc. c’est un outil polyglotte.
Pivotal s’appuye aussi sur d’autres outils:
Pivotal Container Services (PKS).
Pivotal Lab
Pivotal web service
Pivotal Application Service
Pivotal Function Service
Pivotal service market place
Pivotal Tracker

Pivotal ayant été créé par VMware et EMC, cela a facilité la prise en compte de vSphere comme sous-jacent mais l’écosystème Cloud Foundry est très large et bénéficie de contribution de Google ou Azure ou Amazon. La plateforme Pivotal est multi cloud, et s’opère aussi en datacentre privée. Une version d’essai en mode hébergé est disponible aussi mais la plupart des clients de Pivotal opèrent leur propre(s) plateforme(s) sur ces clouds.

La documentation est disponible en anglais. Voici un lien vers le site web de Pivotal.

  • LinkedIn
  • MySpace
  • Viadeo
  • Yahoo Bookmarks
  • Facebook
  • Ping
  • Twitter
  • Blogger Post
  • Windows Live Favorites
  • Jamespot
  • Technorati Favorites
  • Yoolink
  • Google Bookmarks
  • Share/Save/Bookmark
This entry was posted in Développement and tagged , , , , , , , , , , . Bookmark the permalink.

Comments are closed.