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

Playing with Java Microservices on Kubernetes - ENSI 2018

Playing with Java Microservices on Kubernetes - ENSI 2018

Nebrass Lamouchi

November 24, 2018
Tweet

More Decks by Nebrass Lamouchi

Other Decks in Programming

Transcript

  1. 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 X: What’s next ?
  2. Nebrass? Ø Technical Leader chez ONEPOINT Ø Membre de la

    NetBeans Dream Team Ø OWASP Project Leader depuis 2013 Ø Two Books author J Ø@NebrassLamouchi Øgithub.com/nebrass
  3. Part 1: The Monolithcs Era • Introduction to an actual

    situation • Presenting the context • How to solve these issues?
  4. Part 2: Coding the monolith • Presenting our domain •

    Coding the application: Spring Boot & Java 8 J • Building & Deployment • Limitations ? L
  5. Part 3: Microservices Era • Why µservices? Really ? •

    Making the switch • Spli8ng 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 !
  6. 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
  7. Part 5: Meeting & Implementing the µservices concerns and patterns

    • Service discovery and registration • Externalized configuration • Circuit Breaker • Database per service • API gateway • CQRS & Eventsourcing • Log aggregation • Distributed tracing • Audit logging • Application metrics • Health checks
  8. Part 7: Packaging µservices in containers • Docker • Packaging

    a µservice in a Docker Container • Docker orchestra3on ? • Limita3ons L
  9. Part 8: Falling in ❤ with container orchestrator: KUBERNETES "

    • Kubernetes Architecture • Kubernetes Core Concepts
  10. Part 9: 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
  11. Part X: What’s next ? • RedHat OpenShift ? •

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