Diese Präsentation wurde erfolgreich gemeldet.
Wir verwenden Ihre LinkedIn Profilangaben und Informationen zu Ihren Aktivitäten, um Anzeigen zu personalisieren und Ihnen relevantere Inhalte anzuzeigen. Sie können Ihre Anzeigeneinstellungen jederzeit ändern.

How to develop your first cloud-native Applications with Java - 30 Minutes

Cloud Native Starter for Java EE based Microservices on Kubernetes and Istio

Code: https://github.com/nheidloff/cloud-native-starter

Documentation: https://github.com/nheidloff/cloud-native-starter#documentation

  • Als Erste(r) kommentieren

  • Gehören Sie zu den Ersten, denen das gefällt!

How to develop your first cloud-native Applications with Java - 30 Minutes

  1. 1. How to develop your first cloud-native Applications with Java— Niklas Heidloff Developer Advocate, IBM @nheidloff Harald Uebele Developer Advocate, IBM @Harald_U
  2. 2. Once upon a time ...
  3. 3. “Never not be afraid” @nheidloff @Harald_U #IBMDeveloper github.com/nheidloff/cloud-native-starter Grug Crood Beginning of ‘The Croods’
  4. 4. “Microservices are a software development technique [...] that structures an application as a collection of loosely coupled services.” Wikipedia @nheidloff @Harald_U #IBMDeveloper github.com/nheidloff/cloud-native-starter
  5. 5. Continuous delivery → DevOps Elasticity → Responsive apps What are cloud-native Applications? @nheidloff @Harald_U #IBMDeveloper github.com/nheidloff/cloud-native-starter
  6. 6. New Options → New Challenges
  7. 7. “A container image is a lightweight, standalone, executable package of software that includes everything needed to run an application.” docker.com #IBMDeveloper github.com/nheidloff/cloud-native-starter Infrastructure Host Operating System Container Runtime AppA AppB AppC AppD AppE
  8. 8. “I’m a caveman. Can you explain containers so that I understand it?” @nheidloff @Harald_U Grug Crood Caveman learning microservices
  9. 9. Portable Containers
  10. 10. Java Image @nheidloff @Harald_U Open source stack OpenJ9 0.12.1 OpenJDK 8u202-b08 from AdoptOpenJDK Open Liberty 18.0.0.4 MicroProfile 2.1 Dockerfile #IBMDeveloper github.com/nheidloff/cloud-native-starter
  11. 11. “Kubernetes (K8s) is an open- source system for automating deployment, scaling, and management of containerized applications.” kubernetes.io @nheidloff @Harald_U #IBMDeveloper github.com/nheidloff/cloud-native-starter
  12. 12. “When a container contains everything to run a microservice, why do I need Kubernetes?” @nheidloff @Harald_U Grug Crood Caveman learning microservices
  13. 13. Example Application
  14. 14. Example Application – REST APIs Web-App Web-API Articles Authors Browser Kubernetes with Istio
  15. 15. Consuming REST APIs @nheidloff @Harald_U MicroProfile Rest Client Type-safe approach to invoke RESTful services AuthorsService.java AuthorsServiceDataAccess.java
  16. 16. “Istio is an open platform for providing a uniform way to integrate microservices, manage traffic flow across microservices, enforce policies and aggregate telemetry data.” github.com/istio/istio @nheidloff @Harald_U
  17. 17. “Why do I need a service mesh? Can’t I just use Kubernetes?” @nheidloff @Harald_U Grug Crood Caveman learning microservices
  18. 18. Example Application – Traffic Management Web-App Web-API v1 Articles Web-API v2 Authors Browser Kubernetes with Istio
  19. 19. Traffic Management – Web API Version 1
  20. 20. Traffic Management – Web API Version 2
  21. 21. Traffic Management @nheidloff @Harald_U Example: 80% / 20% splitting ingress.yaml
  22. 22. Traffic Management Demo
  23. 23. “Optimizing Enterprise Java for a Microservices Architecture. [...] by innovating [...] with a goal of standardization.” microprofile.io @nheidloff @Harald_U #IBMDeveloper github.com/nheidloff/cloud-native-starter
  24. 24. “Dude, I just learned Istio and Kubernetes. Can you show me a simple MicroProfile example?” @nheidloff @Harald_U Grug Crood Caveman learning microservices
  25. 25. Example Application – Resiliency Web-App Web-API Articles Authors Browser Kubernetes with Istio
  26. 26. Resiliency @nheidloff @Harald_U Authors service not available Usage of default values Service.java
  27. 27. Resiliency @nheidloff @Harald_U Articles service not available MicroProfile Fallback annotation Service.java
  28. 28. Resiliency Demo
  29. 29. Resiliency Demo – No Authors and Articles Service
  30. 30. “Microservices sound great, but where is the log file?” @nheidloff @Harald_U Grug Crood Caveman learning microservices
  31. 31. Monitoring MetricsTracingLogging Observability @nheidloff @Harald_U #IBMDeveloper github.com/nheidloff/cloud-native-starter
  32. 32. Example Application – Distributed Logging Web-App Web-API Articles Authors Browser Kubernetes with Istio
  33. 33. Distributed Logging
  34. 34. Example Application – Distributed Logging Web-App Web-API Articles Authors Browser Kubernetes with Istio
  35. 35. Distributed Logging
  36. 36. Try out the end-to-end microservices example cloud-native-starter! @nheidloff @Harald_U #IBMDeveloper github.com/nheidloff/cloud-native-starter
  37. 37. Architecture: End-to-End Example ‘cloud-native-starter’ Web-App NoSQL / Cloudant Web-API v1 Articles Web-API v2 Authors Web-App SQL / Db2 OpenID / App ID LogDNASysdig Authentication @nheidloff @Harald_U Browser Kubernetes with Istio Optional Cloud Services Ingress
  38. 38. IBM Cloud Kubernetes Service including Istio and Knative
  39. 39. “Never not be afraid” @nheidloff @Harald_U #IBMDeveloper github.com/nheidloff/cloud-native-starter Grug Crood Beginning of ‘The Croods’
  40. 40. “Never be afraid” @nheidloff @Harald_U #IBMDeveloper github.com/nheidloff/cloud-native-starter Grug Crood End of ‘The Croods’
  41. 41. IBM Developer developer.ibm.com IBM Cloud Lite account ibm.biz/nheidloff IBM loves open source Kubernetes and Istio OpenJ9 & AdoptOpenJDK MicroProfile Open Liberty Get familiar with cloud- native applications and microservices Thank you ! Get the code à @nheidloff @Harald_U #IBMDeveloper github.com/nheidloff/cloud-native-starter

    Als Erste(r) kommentieren

    Loggen Sie sich ein, um Kommentare anzuzeigen.

Cloud Native Starter for Java EE based Microservices on Kubernetes and Istio Code: https://github.com/nheidloff/cloud-native-starter Documentation: https://github.com/nheidloff/cloud-native-starter#documentation

Aufrufe

Aufrufe insgesamt

517

Auf Slideshare

0

Aus Einbettungen

0

Anzahl der Einbettungen

321

Befehle

Downloads

3

Geteilt

0

Kommentare

0

Likes

0

×