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
Tweet

More Decks by Sebastian Daschner

Other Decks in Programming

Transcript

  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
    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

    Resiliency

    Monitoring

    Distributed tracing

    Injectable configuration

    View Slide

  6. 6
    6
    MicroProfile
    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,
    OpenTracing

    View Slide

  11. 11
    11
    Example: Enterprise coffee

    View Slide

  12. 12
    What else is missing?

    Observability (technical, infrastructure)

    Service discovery

    Traffic routing

    View Slide

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

    View Slide

  14. 14
    Customizing the runtime

    Only including the required standards & runtime features

    Required?

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

    Optimize the moving parts (deployment artifacts) first

    View Slide

  15. 15
    Servers supporting MicroProfile

    Open Liberty 18.0.0.3

    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
    18
    Cloud native Java
    What about startup times & resource consumption?

    View Slide

  19. 19
    19
    Eclipse OpenJ9
    An alternative runtime?

    View Slide

  20. 20
    OpenJ9

    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!

    sebastian-daschner.com

    @DaschnerS

    Book: Architecting Modern Java EE Applications

    https://github.com/sdaschner/coffee/tree/microservice-cloud-
    webinar

    View Slide