Slide 1

Slide 1 text

No content

Slide 2

Slide 2 text

Agenda • Part 1: The Monolithics Era • Part 2: Coding the monolith • Part 3: Microservices Era • Part 4: Applying DDD to the code • Part 5: Mee@ng & Implemen@ng the µservices concerns and paDerns • Part 6: Building the standalone µservices • Part 7: Packaging µservices in containers • Part 8: Falling in ❤ with container orchestrator: KUBERNETES ” • Part 9: Applying the Kubernetes Style • Part 10: Mee@ng Azure ☁ • Part X: What ’s next ?

Slide 3

Slide 3 text

Nebrass? • Senior Software Engineer at Microsoft • Groundbreaker Awards 2019 Winner • Former de la NetBeans Dream Team • OWASP Project Leader depuis 2013 • Two Books author

Slide 4

Slide 4 text

Part 1: The Monolithcs Era • Introduc)on to an actual situa)on • Presen)ng the context • How to solve these issues?

Slide 5

Slide 5 text

Part 2: Coding the monolith • Presenting our domain • Coding the application: Spring Boot & Java 8 • Building & Deployment • Limitations

Slide 6

Slide 6 text

Part 3: Microservices Era • Why μservices? Really ? • Making the switch • SpliIng the Monolith: Bombarding the domain • Mee)ng the Domain Driven Design: • Context Domain • Model • Ubiquitous Language • Bounded contexts • Bombarding the codebase • Dependencies and Commons • En))es ! • Refactoring Databases ! • Transac)onal Boundaries !

Slide 7

Slide 7 text

Part 4: Applying DDD to the code • Applying BoundedContexts to Java Packages • The birth of the commons package • The birth of the configuration package • Locating & breaking the BC Relationships • Locating the BC Relationships • Breaking the BC Relationships

Slide 8

Slide 8 text

Part 5: Meeting & Implementing the µservices concerns and patterns • Service discovery and registra)on • Externalized configura)on • Circuit Breaker • Database per service • API gateway • CQRS & Eventsourcing • Log aggrega)on • Distributed tracing • Audit logging • Applica)on metrics • Health checks

Slide 9

Slide 9 text

Part 6: Building the standalone µservices • Global Architecture Big Picture • Implementing the μServices

Slide 10

Slide 10 text

Part 7: Packaging µservices in containers • Docker • Packaging a µservice in a Docker Container • Docker orchestra)on ? • Limita)ons

Slide 11

Slide 11 text

Part 8: Falling in ❤ with KUBERNETES • Kubernetes Architecture • Kubernetes Core Concepts

Slide 12

Slide 12 text

Part 9: Applying the Kubernetes Style • Discovering the Kubernetes style • Revisi)ng our Cloud PaYerns aZer mee)ng Kubernetes • Service Discovery and Registra)on • Load Balancing • Externalized Configura)on • Log aggrega)on • Health check API • API Gateway • Distributed Tracing

Slide 13

Slide 13 text

Part 10: Applying the Kubernetes Style • Discovering the Kubernetes style • Revisiting our Cloud Patterns after meeting Kubernetes • Service Discovery and Registration • Load Balancing • Externalized Configuration • Log aggregation • Health check API • API Gateway • Distributed Tracing

Slide 14

Slide 14 text

Part 11: What’s next ? • RedHat OpenShift ? • Google Kubernetes Engine • Azure Kubernetes Service • Amazon Elastic Kubernetes Service • IBM BlueMix Cloud