Integration von eBusiness-Monolithen mit Kyma · Microservices-Hype, aber bitte mit Nutzwert –...

41
Microservices-Hype, aber bitte mit Nutzwert – Integration von eBusiness-Monolithen mit Kyma Elmar Schraml, CODE DAYS 2019

Transcript of Integration von eBusiness-Monolithen mit Kyma · Microservices-Hype, aber bitte mit Nutzwert –...

Page 1: Integration von eBusiness-Monolithen mit Kyma · Microservices-Hype, aber bitte mit Nutzwert – Integration von eBusiness-Monolithen mit Kyma Elmar Schraml, CODE DAYS 2019

Microservices-Hype, aber bitte mit Nutzwert –Integration von eBusiness-Monolithen mit Kyma

Elmar Schraml, CODE DAYS 2019

Page 2: Integration von eBusiness-Monolithen mit Kyma · Microservices-Hype, aber bitte mit Nutzwert – Integration von eBusiness-Monolithen mit Kyma Elmar Schraml, CODE DAYS 2019

Entwickler || Consultant || Architekt

Java && hybris && ecommerce

$ > who am i

Page 3: Integration von eBusiness-Monolithen mit Kyma · Microservices-Hype, aber bitte mit Nutzwert – Integration von eBusiness-Monolithen mit Kyma Elmar Schraml, CODE DAYS 2019

Buzzword Bingo: Cloud + Microservices

Page 4: Integration von eBusiness-Monolithen mit Kyma · Microservices-Hype, aber bitte mit Nutzwert – Integration von eBusiness-Monolithen mit Kyma Elmar Schraml, CODE DAYS 2019

Buzzwords vs. Reality

Page 5: Integration von eBusiness-Monolithen mit Kyma · Microservices-Hype, aber bitte mit Nutzwert – Integration von eBusiness-Monolithen mit Kyma Elmar Schraml, CODE DAYS 2019

Releasezyklus -> Continuous DeploymentTech Stack -> Freie Wahl der ProgrammierspracheLimit Teamgröße -> Unabhängige TeamsKoordination -> Unabhängige ProjekteWer war‘s? - Debugging -> Unabhängige Skalierung

Monolith to Microservices – Nutzwert?

Page 6: Integration von eBusiness-Monolithen mit Kyma · Microservices-Hype, aber bitte mit Nutzwert – Integration von eBusiness-Monolithen mit Kyma Elmar Schraml, CODE DAYS 2019

• Amazon und Alibaba•Millionen Produkte• Abertausend gleichzeitige User• Tausende von Entwicklern

Buzzword-compliant ecommerce

Page 7: Integration von eBusiness-Monolithen mit Kyma · Microservices-Hype, aber bitte mit Nutzwert – Integration von eBusiness-Monolithen mit Kyma Elmar Schraml, CODE DAYS 2019

• Hidden champions• In Familienbesitz und am Standort seit

100 Jahren• Tausende Mitarbeiter• Vertriebsgesellschaften in zig Ländern• Weltmarktführer für Industrienähnadeln,

Bauchemie, Hydrauliksensoren,…

Unsere Auftraggeber

Page 8: Integration von eBusiness-Monolithen mit Kyma · Microservices-Hype, aber bitte mit Nutzwert – Integration von eBusiness-Monolithen mit Kyma Elmar Schraml, CODE DAYS 2019

• Team von 4-40 Entwicklern• Wartung dann inhouse• Tausende bis Dutzende Kunden (B2B!)• Trotzdem: Komplexitäten in der Entwicklung und Integration• Trotzdem: Änderungsgeschwindigkeit

ecommerce in Realität

Page 9: Integration von eBusiness-Monolithen mit Kyma · Microservices-Hype, aber bitte mit Nutzwert – Integration von eBusiness-Monolithen mit Kyma Elmar Schraml, CODE DAYS 2019

Buzzword-compliant Architektur

Page 10: Integration von eBusiness-Monolithen mit Kyma · Microservices-Hype, aber bitte mit Nutzwert – Integration von eBusiness-Monolithen mit Kyma Elmar Schraml, CODE DAYS 2019

Discovery

Authentication

Tracing

Metrics

Scaling

Monitoring

Reliability LatencyPerformance

Microservices in Realität ?

Page 11: Integration von eBusiness-Monolithen mit Kyma · Microservices-Hype, aber bitte mit Nutzwert – Integration von eBusiness-Monolithen mit Kyma Elmar Schraml, CODE DAYS 2019

OnPremise zu Cloud – Nutzwert?

Selbst hosten -> X as a ServiceKundenspezifische Installation -> Multi-TenantWelt kreist um mich -> API-FirstPager Duty -> Autoscale / Self-healing

Page 12: Integration von eBusiness-Monolithen mit Kyma · Microservices-Hype, aber bitte mit Nutzwert – Integration von eBusiness-Monolithen mit Kyma Elmar Schraml, CODE DAYS 2019

• CRM, Marketing Automation, commerce, ERP,…• Monolithen• Tiefe Integration und Customizing• Anpassbar mit eigenem Code• “Cloud“ = Hosting

ebusiness in Realität

Page 13: Integration von eBusiness-Monolithen mit Kyma · Microservices-Hype, aber bitte mit Nutzwert – Integration von eBusiness-Monolithen mit Kyma Elmar Schraml, CODE DAYS 2019

Beispiel: SAP CX

Page 14: Integration von eBusiness-Monolithen mit Kyma · Microservices-Hype, aber bitte mit Nutzwert – Integration von eBusiness-Monolithen mit Kyma Elmar Schraml, CODE DAYS 2019

Cloud in Realität ?

• Verschiedene Tech Stacks

• Tiefes Customizing

• Unterschiedliche Anpassbarkeit

• Unterschiedliche Releasezyklen

• Änderungen betreffen verschiedene Systeme

Page 15: Integration von eBusiness-Monolithen mit Kyma · Microservices-Hype, aber bitte mit Nutzwert – Integration von eBusiness-Monolithen mit Kyma Elmar Schraml, CODE DAYS 2019

Frische Ideen gesucht!

Page 16: Integration von eBusiness-Monolithen mit Kyma · Microservices-Hype, aber bitte mit Nutzwert – Integration von eBusiness-Monolithen mit Kyma Elmar Schraml, CODE DAYS 2019

Systems of Records Systems of EngagementEfficiency, Reliability Speed, Innovation

Idee: 2 Speeds of IT

VS.

Page 17: Integration von eBusiness-Monolithen mit Kyma · Microservices-Hype, aber bitte mit Nutzwert – Integration von eBusiness-Monolithen mit Kyma Elmar Schraml, CODE DAYS 2019

https://www.michielrook.nl/2016/11/strangler-pattern-practice/

Idee: Strangler Pattern

Page 18: Integration von eBusiness-Monolithen mit Kyma · Microservices-Hype, aber bitte mit Nutzwert – Integration von eBusiness-Monolithen mit Kyma Elmar Schraml, CODE DAYS 2019

„Server-side logic is […] run in stateless compute conatiners that areevent/triggered, ephemeral (may only last for one invocation), and fullymanaged by a 3rd party“ – Mike Roberts

Idee: Serverless

https://martinfowler.com/articles/serverless.html

Page 19: Integration von eBusiness-Monolithen mit Kyma · Microservices-Hype, aber bitte mit Nutzwert – Integration von eBusiness-Monolithen mit Kyma Elmar Schraml, CODE DAYS 2019

• Anwendung packetiert unabhängig von der Laufzeitumgebung• Standardumgebung für Deployment und Skalierung• Cloud-Native• Multi-Cloud

Idee: Container

Page 20: Integration von eBusiness-Monolithen mit Kyma · Microservices-Hype, aber bitte mit Nutzwert – Integration von eBusiness-Monolithen mit Kyma Elmar Schraml, CODE DAYS 2019

Kyma als Plattform

Page 21: Integration von eBusiness-Monolithen mit Kyma · Microservices-Hype, aber bitte mit Nutzwert – Integration von eBusiness-Monolithen mit Kyma Elmar Schraml, CODE DAYS 2019

Deployment, scaling and management of containerized applications

Kyma:• Managed kubernetes cluster• Gardener• Admin GUI• Service Registry

Tools: Kubernetes

Page 22: Integration von eBusiness-Monolithen mit Kyma · Microservices-Hype, aber bitte mit Nutzwert – Integration von eBusiness-Monolithen mit Kyma Elmar Schraml, CODE DAYS 2019

• Kubernetes-native FaaS - Implementierung• Runtimes: node, python, Go, Java, Ballerina• HTTP und Event Triggers• Prometheus-Integration

Tools: Kubeless

Page 23: Integration von eBusiness-Monolithen mit Kyma · Microservices-Hype, aber bitte mit Nutzwert – Integration von eBusiness-Monolithen mit Kyma Elmar Schraml, CODE DAYS 2019

„a simple, high performance open source messaging system for cloud native applications”

Pub/Sub, Request/Response, Scatter/Gather

Routing von Events auf Kubeless functions

Tools: NATS

Page 24: Integration von eBusiness-Monolithen mit Kyma · Microservices-Hype, aber bitte mit Nutzwert – Integration von eBusiness-Monolithen mit Kyma Elmar Schraml, CODE DAYS 2019

„Kubernetes-based platform to build, deploy, and manage modern serverless workloads.”

• Bring Kubernetes closer to CloudFoundry (IaaS++ / PaaS--)

• building blocks for developers to build and deploy container-based serverless applications anywhere on Kubernetes• Build: source-to-container• Events• Serving:scale-to-zero

Tools: KNative

Page 25: Integration von eBusiness-Monolithen mit Kyma · Microservices-Hype, aber bitte mit Nutzwert – Integration von eBusiness-Monolithen mit Kyma Elmar Schraml, CODE DAYS 2019

„networking stack auf service-Ebene“

„imagine if we could transparently inject a layer of infrastructure between a service and the network that gives operators the controls they ned while freeingdevelopers from having to bake solutions to distributed system problems intotheir code“ --Istio blog

Tools: Service Mesh

Page 26: Integration von eBusiness-Monolithen mit Kyma · Microservices-Hype, aber bitte mit Nutzwert – Integration von eBusiness-Monolithen mit Kyma Elmar Schraml, CODE DAYS 2019

Tools: Service Mesh

Page 27: Integration von eBusiness-Monolithen mit Kyma · Microservices-Hype, aber bitte mit Nutzwert – Integration von eBusiness-Monolithen mit Kyma Elmar Schraml, CODE DAYS 2019

Tools: Service Mesh

Page 28: Integration von eBusiness-Monolithen mit Kyma · Microservices-Hype, aber bitte mit Nutzwert – Integration von eBusiness-Monolithen mit Kyma Elmar Schraml, CODE DAYS 2019

“provides a uniform way to connect, secure, manage and monitormicroservices“

• Traffic management – circuit breaking, retry, fault injection, canarydeployments, version-based routing• Policy management – quotas, white/blacklisting,…• Security – Authentication, Authorization• Metrics – Logging, tracing (Jaeger), Observeability (Prometheus,

Grafana)

Tools: Istio Service Mesh

Page 29: Integration von eBusiness-Monolithen mit Kyma · Microservices-Hype, aber bitte mit Nutzwert – Integration von eBusiness-Monolithen mit Kyma Elmar Schraml, CODE DAYS 2019

Kyma: Architektur

Page 30: Integration von eBusiness-Monolithen mit Kyma · Microservices-Hype, aber bitte mit Nutzwert – Integration von eBusiness-Monolithen mit Kyma Elmar Schraml, CODE DAYS 2019

Open Source kyma-project.ioOpen Service BrokerEnvironment: GKE, AKS,…Current Release 0.6

Kyma ist Kern+ produktspezifische Integrationen+ Integrationen in SAP Cloud Platform+ Hosting+ Support

Kyma: OSS Core

Extension FactoryProject Kyma

Page 31: Integration von eBusiness-Monolithen mit Kyma · Microservices-Hype, aber bitte mit Nutzwert – Integration von eBusiness-Monolithen mit Kyma Elmar Schraml, CODE DAYS 2019

Kyma: Integration

Page 32: Integration von eBusiness-Monolithen mit Kyma · Microservices-Hype, aber bitte mit Nutzwert – Integration von eBusiness-Monolithen mit Kyma Elmar Schraml, CODE DAYS 2019

Kyma: Commerce

Page 33: Integration von eBusiness-Monolithen mit Kyma · Microservices-Hype, aber bitte mit Nutzwert – Integration von eBusiness-Monolithen mit Kyma Elmar Schraml, CODE DAYS 2019

Kyma Szenarien

Page 34: Integration von eBusiness-Monolithen mit Kyma · Microservices-Hype, aber bitte mit Nutzwert – Integration von eBusiness-Monolithen mit Kyma Elmar Schraml, CODE DAYS 2019

Szenario: Bestehende Shoplösung erweitern

Beispiel: Dynamische Preise nach Lagerbestand

Page 35: Integration von eBusiness-Monolithen mit Kyma · Microservices-Hype, aber bitte mit Nutzwert – Integration von eBusiness-Monolithen mit Kyma Elmar Schraml, CODE DAYS 2019

Bestehende Shoplösung erweitern: Painpoints

Preisfindung im commerce-System

• Releasezyklus

• Abhängigkeiten mit anderen Entwicklungen

• Aufwändige Anpassung

Riskanter Eingriff in komplexe Logik

Page 36: Integration von eBusiness-Monolithen mit Kyma · Microservices-Hype, aber bitte mit Nutzwert – Integration von eBusiness-Monolithen mit Kyma Elmar Schraml, CODE DAYS 2019

Bestehende Shoplösung erweitern mit Kyma

Preisfindungs-Event in Kyma registrieren

Neue Logik als eigener Microservice

Änderung des Warenkorbs per Commerce-API

Test als Function, Deployed als Docker container

Page 37: Integration von eBusiness-Monolithen mit Kyma · Microservices-Hype, aber bitte mit Nutzwert – Integration von eBusiness-Monolithen mit Kyma Elmar Schraml, CODE DAYS 2019

Einstieg:

Neue Services für schnelle Reaktion

Ausblick:

Trennung von Standardsoftware und custom development

Basisprodukt: Cattle, not pets

Individualentwicklung: microservices

Zukunft:

Multitenant-SaaS-API?

Synchrone Calls?

Datenmodell-Erweiterungen?

Commerce mit Kyma

Page 38: Integration von eBusiness-Monolithen mit Kyma · Microservices-Hype, aber bitte mit Nutzwert – Integration von eBusiness-Monolithen mit Kyma Elmar Schraml, CODE DAYS 2019

Bestehende Anwendungen laufen weiter

Microservices nutzbar wo sinnvollJede Sprache, unabhängig vom Tech StackSeparate SkalierungEntkopplung der Entwicklerteams

Bei Bedarf auch herkömmliche Erweiterung

Kyma als „PaaS für Microservice-basierte Integration“

Kyma: Monolith + Microservices

Page 39: Integration von eBusiness-Monolithen mit Kyma · Microservices-Hype, aber bitte mit Nutzwert – Integration von eBusiness-Monolithen mit Kyma Elmar Schraml, CODE DAYS 2019

The future is unevenly distributed

@elmarschraml

elmarschraml.com

[email protected]

www.arithnea.de

Page 40: Integration von eBusiness-Monolithen mit Kyma · Microservices-Hype, aber bitte mit Nutzwert – Integration von eBusiness-Monolithen mit Kyma Elmar Schraml, CODE DAYS 2019

Unless otherwise noted, this presentation is ©2019 Elmar Schraml,published under Creative Commons CC BY-NC-SA 2.0

Slide Title Author License

8, 16 Boron Ore Truck on the way to Zzyzx mammal tracking class

Mike Baird CC BY 2.0

3 Lego People Joe Shlabotnikhttps://www.flickr.com/photos/joeshlabotnik/305410323/

CC BY 2.0

3 Cloud Sergio Russohttps://www.flickr.com/photos/xcbiker/2665149334/

CC BY-SA 2.0

1 Monolith Raffi Asdourianhttps://www.flickr.com/photos/zaffi/24739549489/

CC BY 2.0

1 Piles of stones Oatsy40https://www.flickr.com/photos/oatsy40/14477286044/

CC BY 2.0

39 Marina bay construction site Jordanflickr.com/photos/jordan_tan/3343256965

CC BY-NC-SA 2.0

22 We are the borg. Enjoy yourHolidays.

Orin Zebesthttps://www.flickr.com/photos/orinrobertjohn/4269362909/

CC-BY 2.0

25-28 Mesh Live4Soccer68https://www.flickr.com/photos/33459161@N06/8223679963/

CC BY-ND 2.0

Page 41: Integration von eBusiness-Monolithen mit Kyma · Microservices-Hype, aber bitte mit Nutzwert – Integration von eBusiness-Monolithen mit Kyma Elmar Schraml, CODE DAYS 2019

Unless otherwise noted, this presentation is ©2019 Elmar Schraml,published under Creative Commons CC BY-NC-SA 2.0

Slide Title Author License

14 Dark Clouds Alias 0591https://www.flickr.com/photos/renemensen/6952885654/

CC BY 2.0

16 Longboard Peter Pearsonhttps://www.flickr.com/photos/peterpearson/7284755362/

CC BY-SA 2.0

19 Container Terminal. Port ofMelbourne.

Barnard Spragg. NZhttps://www.flickr.com/photos/volvob12b/21891290959/

Public Domain

20,33 Surfer j.lau88https://www.flickr.com/photos/33915239@N02/15013971411/

CC BY 2.0

5 Monolith Raffi Asdourianhttps://www.flickr.com/photos/zaffi/24739549489/

CC BY 2.0

5 Piles of stones Oatsy40https://www.flickr.com/photos/oatsy40/14477286044/

CC BY 2.0

12 Franz Gsellmann Ars Electronicaflickr.com/photos/arselectronica/5494143478

CC BY-ND 2.0

16 Speed! Cas_kshttps://www.flickr.com/photos/cas_ks/8399362092/

CC BY-SA 2.0

21 Helmsman‘s Grave Tim Greenhttps://www.flickr.com/photos/atoach/3191479019/

CC BY 2.0