Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Playing with Java Microservices on Kubernetes - ENSI 2020

Playing with Java Microservices on Kubernetes - ENSI 2020

1e5d98c20b91a596de032a532ea0d686?s=128

Nebrass Lamouchi

January 04, 2020
Tweet

More Decks by Nebrass Lamouchi

Other Decks in Education

Transcript

  1. None
  2. 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 ?
  3. Nebrass? • Senior Software Engineer at Microsoft • Groundbreaker Awards

    2019 Winner • Former de la NetBeans Dream Team • OWASP Project Leader depuis 2013 • Two Books author
  4. Part 1: The Monolithcs Era • Introduc)on to an actual

    situa)on • Presen)ng the context • How to solve these issues?
  5. Part 2: Coding the monolith • Presenting our domain •

    Coding the application: Spring Boot & Java 8 • Building & Deployment • Limitations
  6. 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 !
  7. 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
  8. 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
  9. Part 6: Building the standalone µservices • Global Architecture Big

    Picture • Implementing the μServices
  10. Part 7: Packaging µservices in containers • Docker • Packaging

    a µservice in a Docker Container • Docker orchestra)on ? • Limita)ons
  11. Part 8: Falling in ❤ with KUBERNETES • Kubernetes Architecture

    • Kubernetes Core Concepts
  12. 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
  13. 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
  14. Part 11: What’s next ? • RedHat OpenShift ? •

    Google Kubernetes Engine • Azure Kubernetes Service • Amazon Elastic Kubernetes Service • IBM BlueMix Cloud