Il y a 2 mois · 6 minutes · Back, Cloud, DevOps

Écho des TOs n°1 : From the clouds

photo
L’Echo des TOs #1

From the Clouds

 

Chers lecteurs, bienvenue sur ce nouveau format, l’écho des TOs.

Les Technical Officers chez Xebia font partie, aux côté des CTOs, d’une direction technique élargie. À ce titre, ils défrichent les nouvelles tendances technologiques, creusent les méthodologies associées et orientent Xebia dans la bonne direction. Régulièrement, ils communiquent en interne sur l’avancée de leur travaux. Le mois dernier, un Xebian a innocemment posé la question : “Pourquoi ne rendrions nous pas cette communication publique ?”. C’est pourquoi, nous vous la livrerons ici tous les 15 jours, expurgée des références client et des détails trop “internes”, l’écho des TOs de la semaine.

Bienvenue sur ce premier écho des TOs, où nous parlons Cloud Native

Pour lire cet écho en musique

Why

Chez Xebia, nous sommes capables de penser et de mettre sur pied des applications aux petits oignons et respectant toutes les règles de l’art pour nos clients. Mais sont-ils vraiment en mesure de les exploiter à leur plein potentiel ? Quelques exemples :

  • C’est génial d’avoir des applications 12factor-compliant, scalables horizontalement, exposant des jolis endpoints de healthcheck etc; mais nos clients sur du on-premise sont-ils en mesure d’en tirer profit afin d’avoir des applications vraiment résilientes et scalables chez eux ?
  • C’est super d’exposer un joli /metrics mais si rien ne vient le scrapper pour agréger ces métriques, ça ne sert pas à grand chose (et c’est Ivan Beauvais avec son slot Prometheus à Devoxx qui serait déçu.)
  • C’est cool de logguer proprement, à des niveaux pertinents, dans des formats que l’on peut facilement parser, mais si l’on doit passer par une armée d’Ops de notre client pour y avoir accès, le bénéfice n’est au final que moindre

Je pense que nous pouvons, et même que nous nous devons, d’accompagner nos clients afin qu’ils puissent exploiter au mieux la qualité que nous sommes capables de produire ; certains projets tels que Ingenico y sont parvenus, mais d’autres clients moins ouverts, avec des contextes plus complexes, peinent à se laisser guider.

What

Mettons un mot sur tout ça : “Cloud Native” (oui bon d’accord, ça fait 2 mots…). On l’entend partout mais ça reste vague, et pour cause : il s’agit du regroupement d’une foule de petites choses qui, une fois mises ensemble, donnent un tout cohérent. L’aspect Cloud Native concerne à la fois la construction d’application, leur gestion, ainsi que la manière dont on doit s’organiser pour gérer ces deux points.

  • Sur la partie construction des applications, on retrouvera les points évoqués plus haut : 12factor, patterns de développement pour du Cloud, CI, Craft, etc.
  • Sur l’aspect gestion/hébergement et opération de ces applications, on parlera d’orchestration, d’infrastructure-as-code, de monitoring moderne (logging, métriques, tracing), et de bien d’autres choses encore.
  • Enfin, pour ce qui est de s’organiser pour gérer un produit Cloud Natif, on reviendra sur des bases sur lesquelles nous sommes déjà leaders telles que l’agilité, l’itérativité, l’orientation DevOps, mais aussi sur des choses plus nouvelles comme la notion de SRE, d’ ”anti-fragile”, etc.

Cela vous semble très large ? Ca l’est, et c’est bien pour cette raison que c’est intéressant et un réel challenge pour nos clients !

How

Notre pari est donc que nous soyons capables de pousser nos clients vers des manières modernes de travailler sur ces aspects. Pousser à son paroxysme l’utilisation des bénéfices du Cloud pour nos clients ayant la chance d’être chez AWS ou GCP, y éduquer les clients hébergeant leur propre infrastructure, et apporter notre vision et notre savoir faire sur un scope encore plus large. Nous avons déjà su le faire naturellement sur la partie Intégration Continue (quel client ressort d’un projet Xebia sans une batterie de tests et la CI qui va avec ?), allons désormais plus loin en aidant nos clients à rendre des choses telles que le Déploiement Continu possibles même on-premise. Des projets tels que Jobteaser avec Thomas Auffredou et Olivier Cloirec ou encore Early Birds avec Jonathan Norblin sont en plein dans ce sujet, et nous en reparlerons bientôt lors du Paris Container Day et dans un prochain article.

Tracing

Un thème revient de plus en plus fréquemment et s’inclut dans toute cette partie Cloud Native : le Tracing, et de manière plus générale l’observabilité moderne. Pour rappel, l’observabilité est actuellement souvent définie sur 3 axes :

  • Logging
  • Métriques
  • Tracing

Les 2 premiers points sont probablement clairs pour tout le monde, mais le Tracing n’est pas encore une évidence. L’idée est pourtant simple : avec l’avènement des microservices et l’utilisation de nombreux services managés, il devient de plus en plus ardu de remonter à la source d’une défaillance en cascade et d’avoir une vision d’ensemble. Comment y parvenir ? En apposant par exemple un identifiant unique à l’entrée d’une requête dans le système, et en “baladant” cet identifiant le long du traitement de cette requête.

En tant que client soucieux, je veux savoir qu’un utilisateur a fait une requête dans son browser, qui a appelé une de mes API REST, qui a elle-même contacté un service en graphQL qui a à son tour requêté 3 autres services, déposé un message dans Kafka et fait 2 appels à une base de données. Je veux également savoir combien de temps chacune de ces étapes a pris, menant souvent le Tracing à être appelé APM pour Application Performance {Monitoring,Management}.

Et bien en 2018, tout ceci est déjà possible grâce à des projets open-sources tels que Jaeger, OpenTracing ou encore OpenCensus, des services managés tels AWS X-Ray ou Google Stackdriver Trace, mais aussi de nombreuses solutions en SaaS comme AppDynamics, New Relic, Datadog, Instana, Zipkin et consors.

Dans cette liste de solutions en SaaS, le produit le plus sympa d’un point de vue technique (et personnel) est sans doute Datadog. Les retours sont systématiquement les mêmes : “leur produit est excellent, mais c’est cher lorsque l’on passe à l’échelle”.

Pour avoir longuement étudié la question, nous gagnerions probablement à présenter ce genre de services à nos clients n’ayant pas la maturité nécessaire pour les gérer eux-même.

Paris Container Day

Les conteneurs et l’orchestration étant deux éléments en plein coeur de ce sujet Cloud Native, profitons-en pour parler un peu du Paris Container Day 2018 ! Nous vous donnons rendez-vous le 26 juin prochain, au New Cap Event, pour échanger avec les 400 participants et speakers autour du thème “Vivre avec l’orchestration”. Le programme complet est disponible sur le site de l’événement.

 

Ils sont cités dans l’article (et vous les avez peut-être déjà rencontrés) : 

Ils

Alexis Horgix Chotard (l’auteur) Olivier Cloirec Thomas Auffredou Jonathan Norblin Ivan Beauvais

sont cités dans l’article (et vous les avez peut-être déjà rencontrés) :

 

Xebia France
Xebia est un cabinet de conseil international spécialisé dans les technologies Big Data, Web, les architectures Java et la mobilité dans des environnements agiles. Depuis plus de 11 ans nous avons la volonté de partager notre expertise et nos actualités à travers notre blog technique.
Alexis "Horgix" Chotard
Alexis "Horgix" Chotard est DevOps chez Xebia et s'intéresse particulièrement à tout ce qui est infrastructure moderne et dynamique (infra-as-code, containérisation, automatisation, self-healing, déploiement continu, ...). Alexis est également formateur au sein de Xebia Training .

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *