
Cloud-native Java microservices with MicroProfile 1 Good morning! Guten Morgen! 2 Setting Context • Building Cloud Native Microservices • A Cloud Native App Server • A Better JVM for Cloud • Time to Code! 3 Building Microservices 4 Why are you here? “Be like NetFlix” -- ¯\_()_/¯ ? 5 Why are you here? • Benefits of Microservices o Scalability o Independent Deploy-ability o Agile o DevOps o etc 6 Transformation 7 Cloud Native? • 12 Factor Apps o Benefits o Concerns o Complications 8 Microservices? • Secure, fault tolerant, configurable, monitorable, etc o Benefits o Concerns o Complications 9 Transformation = Culture! • Tools & Practices • Processes & Procedures • Remember the Agile Manifesto? :) 10 An Evolution 11 12 How MicroProfile Helps You • Industry standard, vendor agonostic • Best practice patterns & solutions • Multi-vendor support 13 Eclipse MicroProfile Open Tracing Health Metrics 1.1 1.1 Check 1.0 JWT Fault Open API 1.0 Propagation Config 1.3 Tolerance 1.1 1.1 Rest Client 1.1 CDI 2.0 JSON-P 1.1 JSON-B 1.0 JAX-RS 2.1 microprofile.io 14 A Cloud Native App Server 15 openliberty.io 16 Design Goals • Efficient • Simple to use • Consistency • Just enough Application Server • Very good for virtualized environments • End of migration • Agile Ready 17 8 18 A Better JVM For Cloud 19 Cloud Costs • In The Cloud… More Resources = More $$$ • Small Footprint & Faster Start-up = Less $$$ • More Throughput = Less $$$ • OpenJDK with Eclipse OpenJ9 – perfect for cloud 20 Adopt Eclipse OpenJ9 Startup time is 30% faster with OpenJ9 –Xshareclasses -Xquickstart Footprint is 60% smaller with OpenJ9 Hotspot OpenJ9 OpenJ9 -Xshareclasses - Hotspot OpenJ9 OpenJ9 -Xshareclasses - Xquickstart Xquickstart Hotspot OpenJ9 OpenJ9 -Xshareclasses -Xquickstart Hotspot OpenJ9 OpenJ9 -Xshareclasses -Xquickstart Achieve peak throughput 70% faster with OpenJ9 OpenJDK9 with HotSpot OpenJDK9 with OpenJ9 OpenJDK9 with OpenJ9 w/AOT -Xtune:virtualized Throughput (transactions/sec) 0 200 400 600 800 1000 1200 1400 1600 Time (sec) http://www.eclipse.org/openj9 https://adoptopenjdk.net/?variant=openjdk8-openj9 21 Summary • MicroProfile - Java APIs for cloud-native applications o Produce and consume REST services o Handle faults, security, configuration, APIs o Monitor health, metrics and trace request flows • Open Liberty - Java platform for cloud-native applications o Open Source, Simple, Lightweight, Fast o Supports latest MicroProfile and Java EE API o Flexible package to suit your Microservices • Eclopse OpenJ9 Liberty – Java virtual machine for OpenJDK o Smallest memory footprint, fastest startup & highest throughput 22 Time to Code! 23 MicroProfile Guides 24 Useful links • The tutorial - https://github.com/OpenLiberty/tutorial-microprofile • Home - https://microprofile.io/ • Eclipse Home - https://eclipse.org/microprofile • Forum - https://groups.google.com/forum/#!forum/microprofile • Guides - https://openliberty.io/guides/?search=MicroProfile • Java - http://www.eclipse.org/openj9/ 25 Thank You! & Enjoy the lab! https://github.com/OpenLiberty/tutorial-microprofile 26.
Details
-
File Typepdf
-
Upload Time-
-
Content LanguagesEnglish
-
Upload UserAnonymous/Not logged-in
-
File Pages26 Page
-
File Size-