Designing Microservices avec/with Sam Newman

Formateur(s)

Description

Please scroll further down to see english version

Description du cours

Il y a beaucoup de formations théoriques sur l'architecture de microservices, mais il y a très peu de formations pratiques qui vont vous permettre de mettre vos nouvelles connaissances à l'essai. Il n'est généralement pas possible de modifier l'architecture complète de vrais systèmes très fréquemment, et certainement pas en un seul jour. Mais si c'était possible? Ce tout nouvel atelier de l'auteur de "Building Microservices" vous offre un environnement sans danger pour explorer les idées et concepts sous-jacents aux architectures microservices avec vos pairs.

Dans cet atelier, nous discuterons de cadres architecturaux qui permettent d'explorer les différentes forces qui pilotent la conception et l'évolution des microservices. Ensuite, vous participerez à une série d'exercices, des katas architecturaux interactifs qui vous permettront de tester vos nouvelles connaissances. À la fin de l'atelier, vous aurez acquis une gamme d'outils que vous pourrez partager et mettre en pratique dans vos organisations.

À propos de Sam Newman

Sam Newman est un auteur, conférencier et consultant indépendant intéressé par l'infonuagique, la livraison continue et les microservices. En plus d'avoir présenté à de nombreuses conférences, il a écrit les livres Building Microservices et Monolith to Microservices pour O'Reilly.

| ----------- | ----------- | | Designing Microservices | Monolith to Microservices | | | |

Objectifs

À la fin de la formation, le participant sera en mesure de:

  • Comprendre ce qu'est un bon microservice
  • Utiliser les concepts du 'Domain Driven Design' pour définir les frontières des services
  • Explorer comment planifier et organiser une migration d'un monolithe vers une architecture microservice
  • Comprendre l'impact des choix techniques sur l'architecture elle-même
  • Gérer le changement et la gouvernance dans un environnement de microservice

Public visé

Cet atelier s'adresse à toutes les équipes qui s'intéressent aux microservices, qui devront passer vers une architecture de microservices, ou qui ont commencé à le faire. Il s'adresse principalement à des leaders techniques, développeurs en chef ou architectes, mais sera d'une grande utilité pour tout développeur ou membre des opérations intéressés à savoir comment mettre en place les microservices.

Préalables

Une connaissance des architectures orientées services peut être utile, mais n'est pas essentielle. Il s'agit d'un atelier participatif. Vous ne pourrez pas simplement rester passif et n'être qu'un spectateur - plus vous allez participer, plus vous allez en tirer de la valeur!

La classe elle-même sera livrée via Zoom. Pour participer, vous aurez besoin d'un microphone et, idéalement, d'une caméra vidéo.

Formule

Le cours sera livré en direct en ligne sur une période de 3 jours. Chaque session durera 5 heures, pauses comprises, de 9h00 à 14h00 HNE chaque jour.

La classe sera un mélange de présentation et de discussion, avec beaucoup de temps pour poser des questions. Toutes les ressources seront partagées avec les participants après le cours. La session ne sera pas enregistrée, pour s'assurer que les gens se sentent plus détendus et heureux de partager leurs propres expériences.

ATTENTION : Le cours est dispensé en anglais exclusivement!!!

Contenu de la formation

Le contenu exact variera, car les participants eux-mêmes aideront à façonner le contenu couvert pendant le cours. Voici un aperçu indicatif de ce à quoi vous pouvez vous attendre:

Introduction aux microservices

  • Que sont les microservices
  • Quelle technologie devriez-vous utiliser?
  • Et SOA?
  • Avantages des microservices
  • Désavantages des microservices
  • Quand les utiliser, ou quand ne pas les utiliser?

Modélisation de service

  • Caractéristiques de “bons” services
  • Introduction au "domain driven design"
  • Utilité des "Bounded Contexts" pour trouver
  • les limites des services
  • Comment faire la modélisation de contexte

Diviser vos services

  • Par où commencer
  • Diviser des services "stateless"
  • Patrons de réusinage de bases de données
  • Utiliser les patrons "strangler" et
  • "branch by abstraction"
  • Discussion de la théorie CAP
  • Transactions distribuées
  • "Eventual consistency"

Collaboration des services

  • Pièges au niveau de la collaboration des services
  • Synchrone vs asynchrone
  • "Event-based collab" vs "Request/Response"
  • Discussion des options technologiques :
  • HTTP vs REST
  • RPC
  • "Actor frameworks"
  • "Message Brokers" inc Kafka
  • Chorégraphie vs Orchestration

Tester

  • Types de tests automatisés
  • Tests bouts en bouts dans un monde de microservices
  • Types de tests et feedback
  • "Consumer-driven contracts"
  • Tester en production?

Développer & Déployer

  • Bases du "Build/CI"
  • Microservices & "repo/CI mapping"
  • "Containerisation vs virtualisation"
  • Plateformes de déploiement (Kubernetes et autres)

Observabilité

  • Agrégation des logs
  • IDs de corrélation
  • Prise de métriques
  • Surveillance sémantique
  • Surveillance des utilisateurs
  • Transactions synthétiques

Designing Microservices with Sam Newman

Course description

There is lots of theory out there about microservice architecture, but how often do you get to put that knowledge into practice? It's not feasible to re-architect your real system often, and certainly not in a single day, or is it? This brand new workshop from the author of Building Microservices gives you a safe space to explore ideas behind microservice architectures with peers from other organisations.

In this workshop, we'll share some framing for micro service architectures that explore the various forces that can drive the design and evolution of microservices, and then you'll participate in a series of interactive architectural kata exercises to put your new found knowledge to the test. Afterwards, you'll have a series of tools to take back to your own organisations to put into practice.

About Sam Newman

Sam Newman is an author, speaker, and independent consultant interested in cloud, continuous delivery and microservices. Aside from other things he has spoken at more than a few conferences, and wrote some things including the book Building Microservices for O'Reilly.

| ----------- | ----------- | | Designing Microservices | Monolith to Microservices | | | |

Course objectives

By the end of this course, you will know how to:

  • What makes a good microservice
  • How to use concepts from domain driven design to define service boundaries
  • Explore how to plan and manage a migration from a monolith to the microservice architecture
  • Understand how technical choices can impact the architecture itself
  • How to manage change and governance in a microservice environment

Who should attend?

People who are in the process of moving to micro services, or are already on the path should get a lot out of the event. It's primarily aimed at people in technical leadership positions like tech leads and architects, but will be of use to any developer or operations person interested in how to move to microservices.

Prerequisites

Prior knowledge of service oriented architectures generally or microservices specifically is useful, but by no means essential. This is a participatory workshop. You won’t get to just sit there and watch - the more you participate in the workshop, the more you’ll get out!

The class itself will be delivered via Zoom. In order to participate you will need a microphone and ideally a video camera as well.

Format

The class will be delivered live online over the course of 3 days. Each session will be 5 hours in length including breaks, running from 9.00 to 14.00 EST each day.

The class will be a mix of presentation and discussion, with plenty of time for you to ask questions. All resources will be shared with participants after the class. The session will not be recorded, to ensure that people feel more relaxed and happy to share their own experiences.

WARNING : The course is taught in English exclusively!!!

Course content

The exact content will vary, as the participants themselves will help shape what content gets covered during the class. This is an indicative outline of what you can expect:

Introducing Microservices

  • What microservices are
  • What technology should you use?
  • And SOA?
  • Advantages of microservices
  • Disadvantages of microservices
  • When should you use them, or when shouldn’t you use them?

Service Modelling

  • Characteristics of “good” services
  • Introduction of domain driven design
  • Usefulness of Bounded Contexts when finding service boundaries
  • How to do context modelling

Splitting Out Services

  • Working out where to start
  • Splitting stateless services
  • Database refactoring patterns
  • Use of strangler and branch by abstraction patterns
  • Discussion of CAP theory
  • Distributed transactions
  • Eventual consistency

Service Collaboration

  • Pitfalls of service collaboration
  • Synchronous vs async
  • Event-based collab vs Request/Response
  • Coverage of technology options including:
  • HTTP over REST
  • RPC
  • Actor frameworks
  • Message Brokers inc Kafka
  • Choreography vs Orchestration

Testing

  • Types of automated testing
  • End-to-end testing in a microservice world
  • Test types and feedback
  • Consumer-driven contracts
  • Testing in production?

Build & Deployment

  • Build/CI basics
  • Microservices & repo/CI mapping
  • Containerisation vs virtualisation
  • Deployment platforms (Kubernetes et al)

Observability

  • Log aggregation
  • Correlation IDs
  • Metrics collection
  • Semantic monitoring
  • Real-user monitoring
  • Synthetic Transactions