Eclipse MicroProfile
Your Cloud-Native Companion
Rudy De Busscher
Microservices Architecture
• Focused on a business domain
• Loosely couples services
• Maintenance
• Configuration
• Routing
• Observability
• Where is that request stuck?
• What service is overloaded?
Microservices
Rudy De Busscher
• Payara
• Service team
• Developer Advocate
• Involved in
• Committer of MicroProfile
• Committer of Jakarta EE
• Java EE Security API Expert group member
@rdebusscher
https://blog.payara.fish/
https://www.atbash.be
Topics
•Config
• Uniform values across all services!
• Interfacing etcd
•Tracing
• What is wrong with my request?
• Interfacing Jaeger
•Metrics
• What is my system doing?
• Interfacing Prometheus
Eclipse MicroProfile
• Optimizing Enterprise Java for a Microservices Architecture
• Innovating, Breaking backwards compatibility
• Based on Jakarta REST (JAX-RS), CDI and JSON-P/B
• Goodies for your microservice - distributed environment
• Metrics, Fault Tolerance, OpenTracing, Health, OpenApi, JWT token
support, Reactive messaging, ….
• Multiple implementations
MicroProfile Config
• Configuration outside application
• 12-factor application item
• Different sources and/or formats
• system properties, system environment variables, .properties,
.xml, datasource, …
MicroProfile Config
• ConfigSource
• Possible source of configuration data
• Ordered
• Dynamic
• New values picked up
Etcd
• Distributed key value store
• Safe storage for configuration
• gRPC interface
• MicroProfile config extension
Demo
MicroProfile OpenTracing
• Distributed tracing
• Trace the flow of a request across service boundaries
• Scenarios
• Performance (bottleneck detection)
• Debugging
MicroProfile OpenTracing
• Span
• Info about the request
• Correlation id
• Flow history
• Custom data (baggage items)
• Integration
• Collector independent
Jaeger
• Based upon Dapper and OpenZipkin
• Based on OpenTracing API specification.
• Multiple backends
• GUI
Demo
MicroProfile Metrics
• Monitor essential system parameters
• Observability
• System ‘Health’
• Specific MicroProfile Health specification
• values, not just Yes/No
MicroProfile Metrics
• Required basic set of values
• Vendor specific additions
• Data exposed by endpoint
• Also in Prometheus format
• Examples
• CPU
• Memory
• Request Load
Prometheus - Grafana
• Prometheus
• Database for Time series.
• Collect from ‘endpoints’
• Limited graphical capabilities
• Grafana
• Open-Source tool for visualisation of Time Series data
Demo
Conclusion
• Eclipse MicroProfile, specific Java Enterprise toolbox for
distributed environments
• Many CNCF projects can be used with it
• Easy, out-of-the-box integration
Download the open source software:
payara.fish/downloads
Get Started:
payara.fish/get-started
Q & A
We’ll Support You With:
Let us help you spread the word about our open source software. Join the Reef!
• Event, JUG, conference sponsorship
• Freebies, swag, handouts, speakers
• Promotion and advertising of events and articles
• Community forum
Learn More:
www.payara.fish/reef
Payara Reef: Community Growth Program

JakartaOne Livestream CN4J: Eclipse MicroProfile - Your Cloud-Native Companion

  • 1.
    Eclipse MicroProfile Your Cloud-NativeCompanion Rudy De Busscher
  • 2.
    Microservices Architecture • Focusedon a business domain • Loosely couples services • Maintenance • Configuration • Routing • Observability • Where is that request stuck? • What service is overloaded?
  • 3.
  • 4.
    Rudy De Busscher •Payara • Service team • Developer Advocate • Involved in • Committer of MicroProfile • Committer of Jakarta EE • Java EE Security API Expert group member @rdebusscher https://blog.payara.fish/ https://www.atbash.be
  • 5.
    Topics •Config • Uniform valuesacross all services! • Interfacing etcd •Tracing • What is wrong with my request? • Interfacing Jaeger •Metrics • What is my system doing? • Interfacing Prometheus
  • 6.
    Eclipse MicroProfile • OptimizingEnterprise Java for a Microservices Architecture • Innovating, Breaking backwards compatibility • Based on Jakarta REST (JAX-RS), CDI and JSON-P/B • Goodies for your microservice - distributed environment • Metrics, Fault Tolerance, OpenTracing, Health, OpenApi, JWT token support, Reactive messaging, …. • Multiple implementations
  • 7.
    MicroProfile Config • Configurationoutside application • 12-factor application item • Different sources and/or formats • system properties, system environment variables, .properties, .xml, datasource, …
  • 8.
    MicroProfile Config • ConfigSource •Possible source of configuration data • Ordered • Dynamic • New values picked up
  • 9.
    Etcd • Distributed keyvalue store • Safe storage for configuration • gRPC interface • MicroProfile config extension
  • 10.
  • 11.
    MicroProfile OpenTracing • Distributedtracing • Trace the flow of a request across service boundaries • Scenarios • Performance (bottleneck detection) • Debugging
  • 12.
    MicroProfile OpenTracing • Span •Info about the request • Correlation id • Flow history • Custom data (baggage items) • Integration • Collector independent
  • 13.
    Jaeger • Based uponDapper and OpenZipkin • Based on OpenTracing API specification. • Multiple backends • GUI
  • 14.
  • 15.
    MicroProfile Metrics • Monitoressential system parameters • Observability • System ‘Health’ • Specific MicroProfile Health specification • values, not just Yes/No
  • 16.
    MicroProfile Metrics • Requiredbasic set of values • Vendor specific additions • Data exposed by endpoint • Also in Prometheus format • Examples • CPU • Memory • Request Load
  • 17.
    Prometheus - Grafana •Prometheus • Database for Time series. • Collect from ‘endpoints’ • Limited graphical capabilities • Grafana • Open-Source tool for visualisation of Time Series data
  • 18.
  • 19.
    Conclusion • Eclipse MicroProfile,specific Java Enterprise toolbox for distributed environments • Many CNCF projects can be used with it • Easy, out-of-the-box integration
  • 20.
    Download the opensource software: payara.fish/downloads Get Started: payara.fish/get-started
  • 21.
  • 22.
    We’ll Support YouWith: Let us help you spread the word about our open source software. Join the Reef! • Event, JUG, conference sponsorship • Freebies, swag, handouts, speakers • Promotion and advertising of events and articles • Community forum Learn More: www.payara.fish/reef Payara Reef: Community Growth Program

Editor's Notes

  • #4 Cloud Native Compute Foundation