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

Post on 18-Oct-2020

0 views 0 download

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

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

Buzzword Bingo: Cloud + Microservices

Buzzwords vs. Reality

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?

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

Buzzword-compliant ecommerce

• 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

• 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

Buzzword-compliant Architektur

Discovery

Authentication

Tracing

Metrics

Scaling

Monitoring

Reliability LatencyPerformance

Microservices in Realität ?

OnPremise zu Cloud – Nutzwert?

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

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

ebusiness in Realität

Beispiel: SAP CX

Cloud in Realität ?

• Verschiedene Tech Stacks

• Tiefes Customizing

• Unterschiedliche Anpassbarkeit

• Unterschiedliche Releasezyklen

• Änderungen betreffen verschiedene Systeme

Frische Ideen gesucht!

Systems of Records Systems of EngagementEfficiency, Reliability Speed, Innovation

Idee: 2 Speeds of IT

VS.

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

Idee: Strangler Pattern

„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

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

Idee: Container

Kyma als Plattform

Deployment, scaling and management of containerized applications

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

Tools: Kubernetes

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

Tools: Kubeless

„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

„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

„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

Tools: Service Mesh

Tools: Service Mesh

“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

Kyma: Architektur

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

Kyma: Integration

Kyma: Commerce

Kyma Szenarien

Szenario: Bestehende Shoplösung erweitern

Beispiel: Dynamische Preise nach Lagerbestand

Bestehende Shoplösung erweitern: Painpoints

Preisfindung im commerce-System

• Releasezyklus

• Abhängigkeiten mit anderen Entwicklungen

• Aufwändige Anpassung

Riskanter Eingriff in komplexe Logik

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

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

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

The future is unevenly distributed

@elmarschraml

elmarschraml.com

elmar.schraml@arithnea.de

www.arithnea.de

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

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