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

Facing the Challenges of Microservice Development in the Cloud

Facing the Challenges of Microservice Development in the Cloud

Sebastian Daschner

December 05, 2018

More Decks by Sebastian Daschner

Other Decks in Programming


  1. 1
    Facing the Challenges of Microservice
    Development in the Cloud
    Sebastian Daschner
    Lead Java Developer Advocate

    View Slide

  2. 2
    Sebastian Daschner
    • Lead Java Developer Advocate @ IBM
    • Consultant, trainer, book author
    • JCP Expert Group member & Jakarta EE Committer
    • Java Champion
    • Oracle Developer Champion (Alumni)
    • JavaOne Rockstar speaker

    View Slide

  3. 3
    Cloud-native microservices
    Why should we care?

    View Slide

  4. 4
    Java Enterprise today

    Still widely used in enterprises

    Known APIs & great developer experience

    Missing parts in a cloud-native, microservice world

    View Slide

  5. 5
    Java Enterprise: What’s missing



    Distributed tracing

    Injectable configuration

    View Slide

  6. 6
    An alternative?

    View Slide

  7. 7
    MicroProfile: An alternative?

    Java Enterprise developer experience

    Addresses missing parts

    Enough for more complex applications?

    View Slide

  8. 8
    MicroProfile: What’s missing

    Persistence, JPA, JTA

    Concurrency Utils

    EJB (Timers, Asynchronous)

    View Slide

  9. 9
    Java Enterprise: Options

    Java EE 8 / Jakarta EE only

    MicroProfile 2.0 only

    Java EE plus MicroProfile additions

    View Slide

  10. 10
    Java EE plus MicroProfile

    Proven technology, known APIs

    MicroProfile projects fills the gaps

    E.g. Java EE plus MP Config, Fault Tolerance, Metrics,

    View Slide

  11. 11
    Example: Enterprise coffee

    View Slide

  12. 12
    What else is missing?

    Observability (technical, infrastructure)

    Service discovery

    Traffic routing

    View Slide

  13. 13
    Kubernetes & Istio
    Let’s go cloud native

    View Slide

  14. 14
    Customizing the runtime

    Only including the required standards & runtime features


    Trade-off between time & material spent on either development or

    Optimize the moving parts (deployment artifacts) first

    View Slide

  15. 15
    Servers supporting MicroProfile

    Open Liberty

    Payara 5.184

    Tom EE 8.0

    Wildfly 14.0.1.Final

    View Slide

  16. 16
    Key takeaways

    Use known APIs

    Think of MicroProfile as extensions for Java EE

    Development model that fits your need on application side

    Optimize deployment artifacts before runtime

    View Slide

  17. 17
    Future: MicroProfile as Incubator?

    Crafting vendor-independent soon-to-be standards

    Providing what's missing from future Jakarta EE

    Sharing design principles with Jakarta EE

    Defining a reasonable process

    View Slide

  18. 18
    Cloud native Java
    What about startup times & resource consumption?

    View Slide

  19. 19
    Eclipse OpenJ9
    An alternative runtime?

    View Slide

  20. 20

    OSS under Eclipse Foundation

    Performance optimizations (Start-up time, ramp-up, footprint)

    Free usage & security updates

    Commercial support (optional)

    View Slide

  21. 21
    Thank You For Your Attention!



    Book: Architecting Modern Java EE Applications


    View Slide