Le Touilleur Express

  • Accueil
  • A propos de l’auteur
  • A propos du Touilleur Express

Formation et certification Lightbend Reactive Architecte

15 décembre, 2020

Je profite ce matin d’un peu de temps pour partager avec vous mon expérience sur la certification « Lightbend Reactive Architecte ». Comment se préparer ? A quoi sert une certification ? Que contiennent les cours ? Pourquoi suivre une formation et la certification ? Vous en saurez plus à la fin de la lecture de cet article.

Lightbend propose sur le site Lightbend Academy le parcours et la formation pour préparer la certification « Reactive Architecte« . Lightbend c’est l’entreprise qui offre un support professionnel pour des produits comme Akka, le langage Scala, ou le logiciel Lagom. Un jeu vidéo comme Fortnite génère environ 54 milliards d’événements de jeux par jour et utilise entre autre Akka, l’une des technologies de Lightbend. Vous imaginez bien qu’il faut des serveurs, mais aussi des logiciels à même de répondre aux fortes demandes des joueurs. Il faut des machines, des logiciels, et enfin surtout une architecture pour construire ces solutions.

En 2014 plusieurs acteurs de notre métier se sont regroupés pour écrire le « Reactive Manifesto« . Partant du constat que les applications sont de plus en plus amenées à gérer de fort volumes, à devoir rester résiliente en cas de panne, le Manifeste Réactif pose 4 caractéristiques des systèmes dit « réactifs ». C’est la base de la formation et de la certification proposée par Lightbend, dont nous allons parler un petit peu ensemble. Au passage, programmation réactive et système réactif sont 2 sujets différents.

Introduction

Lundi 14 décembre : panne chez Google en Europe. En quelques minutes, une partie des services de Google ne fonctionnent plus, mais vous avez constaté qu’une grande partie continuait à fonctionner sans problèmes. C’est la composante « Résilience » d’une architecture Réactive. En cas d’erreurs, le système continuera à fonctionner de façon dégradé, en isolant les erreurs, et en dupliquant les données pour que le système global continue à répondre. Une fois la panne corrigée, il a fallut gérer l’immense afflux d’utilisateurs Google, inquiet de savoir que « YouTube ne fonctionnait plus« . En fait YouTube marchait toujours. L’authentification pour mettre en ligne une vidéo de ta voiture de sport ne fonctionnait pas pendant 47 mn. Cela veut dire que ce service de Google a une disponibilité de 99,99% par année (soit une interruption d’au plus 52,56 minutes). Sur une année entière, le service a été disponible 99,99% du temps… c’est fou non ?

Ces systèmes dit « réactifs » suivent un ensemble de pratiques et d’architecture logiciel : l’élasticité, la résilience, les messages asynchrones, pour rester disponible, même en cas de panne partiel. C’est le développeur(.se) qui, en suivant des recettes de cuisines, pourra rendre « réactif » son logiciel. Les formations et la certification qualifient votre aptitude à construire une solution informatique réactive.

Si le sujet vous intéresse, je vous proposerai un article sur le sujet de l’architecture logicielle réactive. Mettez un pouce bleu et un commentaire en dessous…

La certification et le passage de l’examen

Avant de parler des formations, je vais expliquer comment se déroule la certification elle-même. Elle dure 120 minutes (et pas 90mn comme indiqué sur le site), vous avez 150 questions sur 3 grands thèmes :

  • Domain Driven Design avec 30 questions
  • Reactive Microservices avec 108 questions
  • Software Architecture avec 12 questions

La certification dure donc 2h, sous la forme d’un QCM via une plate-forme. Une fois la session lancée, vous ne devez pas basculer dans un autre onglet, ou ouvrir un document sur votre ordinateur pour tricher, au risque sinon d’arrêter la session. Vous avez donc moins d’une minute par question, ce qui ne laisse pas le temps de tergiverser. Il faut vraiment aller vite. Certaines questions sont ardues ou ambigues et je recommande de ne pas perdre trop de temps dessus. Vous pouvez aussi marquer une question pour y revenir plus tard. Mais sincérement, ne perdez pas 5mn à comprendre, vous n’aurez pas le temps de terminer.

La certification elle-même est payante (comptez 250 USD), mais les modules de formation sont gratuits et disponibles sur le site Academy de Lightbend. Cette certification est valable 3 ans. Enfin, vous devez obtenir 80% de bonnes réponses pour être certifié, et vous avez le droit de retenter une fois l’examen.

J’ajoute que Lunatech dans le cadre de son partenariat avec Lightbend, permet à ses employés de passer la certification gratuitement. Merci à Lunatech donc pour cette possibilité.

Les formations du cycle Reactive Architecte

C’est la 4ème révision de la formation, et de la certification. Il y a eu des mises à jour et la prise en compte de retours, ce qui rend cette certification très d’actualité. Concernant la partie Event Sourcing/CQRS, la formation insiste sur les anti-patterns et vous sensibilise correctement sur les cas où il ne faut pas utiliser cette approche. De même, la partie micro-service est assez balancée, et ne se transforme pas en « mettez des micro-services partout« . Loin de là.

Que faut-il faire donc pour être prêt pour la certification ?

Tout d’abord je recommande de suivre chacun des 6 modules de la formation « Reactive Architecte ». Formations qui sont toutes gratuites, en ligne et à votre rythme.

Sur le contenu, vous allez apprendre des pratiques et des patterns. Un petit aperçu de ce que couvre les formations :

  1. Introduction to Reactive Systems : les 4 principes, différence avec la programmation réactive. durée 3h, c’est une bonne intro indispensable pour poser le vocabulaire
  2. Domain Driven Design : DDD ? Domain, Commands, Events, Queries, Value Object, Entities, Aggregate Roots, Services, Repositories, Architecture Ports and Adapters. Très intéressant. Demande au moins 10h de travail
  3. Reactive Microservices : c’est quoi un micro-service ? Avantage/inconvénient par rapport à un monolithe. Principe d’isolation (state, space, time and failure). Techniques d’isolations (bulkhead, circuit breaker, message driven, gateway service). Permet de comprendre réellement l’approche micro-service. Comptez 5h à 7h.
  4. Building Scalable System : Consistency, Availability et Scalability. Performance vs Scalability. Comprendre Eventual consistency vs Strong Consistency. CAP theorem. Partition. Sharding pour la Consistency. CRDTs pour l’Availability. Choix de l’un ou l’autre. Amdahl et Gunther’s laws. Permet de connaître la théorie derrière une architecture réactive. Comptez 10h car celle-ci est musclée.
  5. Distributed Messaging System : le problème des 2 Généraux et comprendre qu’est-ce qu’une architecture orientée messages. Synchrone/asynchrone. Le pattern Saga pour couvrir l’approche transactionnelle sur un système distribué. Architecture Point à Point ou Publish-Subscribe. Cette partie est moins intéressante, mais indispensable pour la certification. Comptez 5h pour la traiter.
  6. CQRS et Event-Sourcing : présentation, utilité et cas pratiques. Explication de l’approche classique dite « state-based persistence » et approche « event sourcing ». Présentation aussi de « command sourcing ». Ensuite CQRS : lorsque le modèle pour écrire et le modèle pour lire ont intérêt à être traité différemment. L’impact de CQRS avec les micro-services. Impact de CQRS sur Consistency, Availability, Scalability de votre système. Le coût d’une architecture CQRS/ES et les inconvénients que cela peut représenter. Comptez 7 à 8h pour celle-ci, qui est assez complète, et pas trop biaisé. On peut faire du CQRS sans faire nécessairement de l’Event Sourcing.

Au final donc, environ 40h de formations, sans compter différents articles que vous pourrez lire pour aller plus loin. Chaque cours propose en effet des liens à découvrir, lorsqu’un sujet vous intéresse particulièrement. Le contenu académique est très sérieux, et cite les sources.

Organisation et temps

A raison d’1h chaque matin et quelques heures le week-end, comptez 3 semaines pour suivre chacune des formations. C’est très intéressant. J’ai beaucoup aimé la formation DDD et la formation 4 « Building Scalable System ». Chaque formation comprend une partie théorique avec des vidéos présentées par Wade Waldron. Le ton est clair, l’anglais est facile à suivre car la transcription accompagne la présentation de l’orateur. Vous pouvez simplement lire, quoique personnellement je mémorise plus en écoutant.

Après la partie théorique, vous aurez des études de cas, avec le fameux « Reactive BBQ », un restaurant qui voit son activité bouleversée, pour répondre aux nouvelles demandes d’une clientèle en forte croissance. Les études se terminent par des QCM de tests. Parfois des questions à choix multiples, parfois des questions à choix simple. Vous avez une 2ème chance pour répondre lorsque vous vous êtes trompé. L’intérêt étant de vous amener à relire/ré-écouter un passage pour répondre correctement. A la fin de chaque formation, vous aurez un examen d’1 heure. Ce petit examen vous demandera plus d’efforts car il faudra saisir des mots dans des champs de texte. Là encore vous avez le droit de relire les cours pour trouver la bonne réponse. L’intérêt de cette partie étant de vous faire acquérir les connaissances.

Après 3 semaines donc, j’ai complété tous les modules. Certains étaient plus intéressants que d’autres. La formation globlalement parle assez peu des solutions de Lightbend. Oui, on vous rappelera que le framework Akka, ou que la solution Lagom permettent de répondre à ces soucis. Mais cela reste léger. Pour une formation qui est gratuite, je trouve que le niveau est très correct.

Est-ce que cette formation s’adresse à des débutants ? Selon moi, vous apprecierez plus cette formation avec une expérience de développement. Les cas présentés seront plus parlant si vous avez été confronté aux exemples présentés. Pour avoir déjà suivi la formation DDD d’Eric Evans, j’ai trouvé que le module DDD de Lightbend était plutôt bien fait. Lors de l’examen, j’ai eu plus de mal sur les tournures de phrases, et certaines parties cependant sont restées un peu cryptique. Il faut bien comprendre la notion de Bounded Context.

Par exemple,

Which of the following should be considered when selecting an Aggregate Root?

  1. Is it identified by a single identity ?
  2. Does it have more than three sub-elements?
  3. Is it involved in most of the operations in the bounded context?
  4. Can you delete the entity?

Vous pouvez sélectionner de 0 à 4 réponses à la question. Je ne vous dirai pas quelle(s) est(sont) la(les) bonne(s) réponse(s). Si vous voulez creuser le sujet, la formation DDD répondra à cette question.

Bilan personnel

En conclusion, j’ai apprecié cette formation, et je la recommande les yeux fermés. Elle vous permettra de comprendre l’intérêt de l’architecture réactive. Elle répondra à vos questions sur les micro-services, en s’appuyant sur des exemples simples à comprendre. J’ai passé et obtenu ensuite la Certification « Reactive Architecte » le 9 décembre 2020.

Voilà, j’espère que cet article vous aidera à vous lancer, tout se fait sur le site Academy de Lightbend.

 

 

Articles similaires:

Default ThumbnailFormation sur la Clause de Dédit Formation Default ThumbnailJ-1 avant la formation Scrum Master Default ThumbnailFormation Domain Driven Design avec Eric Evans – jour 1 Default ThumbnailFormation DDD Domain Driven Design suite et fin

Chercher

Derniers articles

  • Vis ma vie de Staff/Principal Engineer
  • Devenir Staff Engineer : comment et pourquoi ?
  • WeAreDevelopers 2022, conférence à Berlin – jour 1
  • Le chiffrement de bout en bout et la signature d’enveloppe
  • L’entretien de recrutement « System Design »

Commentaires récents

  • Nicolas Martignole dans Vis ma vie de Staff/Principal Engineer
  • Matt dans Vis ma vie de Staff/Principal Engineer
  • Sébastien dans Vis ma vie de Staff/Principal Engineer
  • BLA dans Devenir Staff Engineer : comment et pourquoi ?
  • Sébastien dans Devenir Staff Engineer : comment et pourquoi ?

Les plus lus

  • Les revenus d’un informaticien indépendant en EURL - 88 996 affichage(s)
  • Optional en Java 8 - 68 650 affichage(s)
  • Changer la batterie d’un MacBook Pro de 2011 - 64 877 affichage(s)
  • Retour sur la soirée du lundi 12 juillet chez Doctolib - 61 746 affichage(s)
  • Quelle est la différence entre volatile et synchronized ? - 60 728 affichage(s)
  • Un modèle de Product Backlog et de Sprint Backlog avec Excel - 56 046 affichage(s)
  • Redis, découverte d’un moteur clé-valeur simple et puissant - 50 225 affichage(s)
  • Comment simuler le navigateur de l'iphone avec Firefox ou Safari ? - 44 969 affichage(s)
  • serialVersionUID mythes et légendes - 41 175 affichage(s)
  • Développeur après 31 ans ? Ridé et chauve tu seras - 38 851 affichage(s)

Mots clés

agile ajax Apple architecture barcamp BarCampJavaParis ddd devoxx esb exo flex geek google grails groovy humeur humour independant iphone Java javascript jazoon jboss jboss seam jsf jug Linux mac mule paris jug parisjug pjug play playframework portlet recrutement ria Scala scrum spring Startup usi usi2010 web xebia

Derniers articles

  • Vis ma vie de Staff/Principal Engineer

    Suite de l’article précédent sur le Staff Engineer. Aujourd’hui, voyons un peu

    20 juillet, 2022
  • Inari

    Devenir Staff Engineer : comment et pourquoi ?

    Après une dizaine d’années en tant que développeur, vous serez un jour

    17 juillet, 2022
  • WeAreDevelopers 2022, conférence à Berlin – jour 1

    Il est 8h40, 19 degrés, vous êtes à Berlin. La queue dehors

    24 juin, 2022

Tweets @nmartignole

  •  @fanf42  Excellent 👌

    6 hours ago
  • RT  @iambdxoul :  @TheHackersNews  Lmao

    1 day ago
  • RT  @PR0GRAMMERHUM0R : Finally a GPT feature useful for work https://t.co/8U9FSUwKg5 https://t.co/GkUIJi7qtW

    1 day ago

Mots clés

Apple (32) Architecture (13) Big Data (5) Conference (8) Devoxx (55) Dev Web (37) Doctolib (2) geekevent (1) groovy (2) Innoteria (11) Java (517) Linux (10) Non classé (14) Perso (266) Recrutement (3) Scala (30) scrum (43) Société (3) Startup (20) Web 2.0 (67)

Le Touilleur Express

Blog par Nicolas Martignole

Contactez-moi : nicolas@touilleur-express.fr

Suivez-moi sur Twitter : @nmartignole

Copyright© 2008 - 2020 Nicolas Martignole | Tous droits réservés
  • A propos de l’auteur
  • A propos du Touilleur Express
  • Log In
  • My Account
  • My Profile
  • Reset Password

Le Touilleur Express