SlideShare ist ein Scribd-Unternehmen logo
qaware.de
Per Anhalter zu Cloud-nativen API
Gateways
Sonja Wegner, QAware GmbH
Sonja Wegner
Lead Software Architect @ QAware GmbH
Monolithic
Vintage System
Users
system.example.com
Users
Monolithic
Vintage System
A Cluster
A Namespace
Service A
system.example.com
service-a.default.example.com
Route
Monolithic
Vintage System
A Cluster
A Namespace
Service A
system.example.com
service-a.default.example.com
Route
Service B
Route
service-b…
Users
Monolithic
Vintage System
A Cluster
A Namespace
Service A
system.example.com
service-a.default.example.com
Route
Service B
Route
service-b…
Service C
Route
service-c…
Users
Monolithic
Vintage System
A Cluster
A Namespace
Service A’
system.example.com
service-a.default.example.com
Route
Service B
Route
service-b…
Service C'
Route
service-c…
Users
3rd Party Apps
Monolithic
Vintage System
A Cluster
A Namespace
Service A’
system.example.com
service-a.default.example.com
Route
Service B
Route
service-b…
Service C'
Route
service-c…
B Namespace
Service X
Service Y
Service Z’
Unreliable
Legacy
Systems
SOAP
gRPC
3rd Party Apps Users
Monolithic
Vintage System
A Cluster
A Namespace
Service A’
system.example.com
service-a.default.example.com
Route
Service B
Route
service-b…
Service C'
Route
service-c…
B Namespace
Service X
Service Y
Service Z’
SOAP
gRPC
Route
Internal
Systems
3rd Party Apps Users
Unreliable
Legacy
Systems
Höchste Zeit für API Maintenance!
APIs sind das Herzstück erfolgreicher,
digitaler Produkte.
Das richtige Management der APIs
von Beginn an ist essentiell, um den
Big Ball of Mud zu vermeiden.
https://thenewstack.io/history-service-mesh/
Monolithic
Vintage System
A Cluster
A Namespace
Service A
Service B
Service C
B Namespace
Service X
Service Y
Service Z
Unreliable
Legacy
Systems
SOAP
API
Gateway
BFF
Internal
Systems
API
Gateway
API
Proxy
Users
3rd Party Apps
Mit dem Einsatz von API Gateways wenden wir etablierte
Design Patterns auf Microservice Architekturen an:
■ Facade
– Komplexe Aufrufwege, Interna über die Service Architektur etc. werden hinter dem
Gateway versteckt
– Umbenennungen, Refactorings, … sind problemlos möglich, weil Abnehmer nur mit dem
Gateway als Facade interagieren
■ DRY
– Querschnittliche Funktionalität wird direkt im Gateway abgebildet
■ Decoupling
– Reine Fachlogik in den Microservices
– BFF, Routing, Auth, … im Gateway
Querschnittsfunktionalität - im API Gateway?
■ Traffic Management: Path, Header, Host based Routing, Path Rewrite
■ Rollout and Deployment: A/B Deployment, Canary Release, et.al.
■ QoS and Resiliency: Circuit Breaker, Retry, Timeouts, Rate Limiting
■ Security: AAA, Terminate TLS, Support for JWT and JWKS, Open ID, …
■ Protocol Translation: XML to JSON, gRPC to JSON, …
■ Transformation: Fan Out / Collect, B4F, Versioning, GraphQL, …
■ Observability: Logging Integration, Monitoring, Distributed Tracing
Vor- und Nachteile von API Gateways
Möglicher Nutzen und Vorteile
■ Abstraktion der internen
Anwendungsarchitektur, ermöglicht lose
Kopplung
■ Vereinfachter Client Code, konsistentes
Interface für Abnehmer
■ Einfaches Rollout und Deployment,
Versionierung, …
■ BFFs reduzieren die Anzahl benötigter
Client-Server Calls
■ Positiver Performance Impact durch Caching,
einfachere Aufrufwege, …
■ Monitoring und Troubleshooting
■ Reduzierte Angriffsfläche
Mögliche Nachteile
■ Weiterer hoch-verfügbarer
Infrastruktur-Baustein, Single Point of Failure
■ Wird schnell zum DevOps-Flaschenhals im Fall
vom zentralem Betrieb
■ Ggf. redundant: falls Load Balancing,
Observability, Rate Limiting etc. schon von
anderen, bereits bestehenden Bausteinen
übernommen werden
■ Business-Logik im API Gateway führt
versehentlich zu einem ESB
■ Schlechte Performance bei falscher
Konfiguration
API Gateway vs. Service Mesh
■ API Gateways für “Nord-Süd”
Kommunikation /
Kommunikation mit der
Außenwelt
■ Service Meshes für “Ost-West”
Kommunikation / interne
Kommunikation zwischen
Services
https://landscape.cncf.io/
https://landscape.cncf.io/
Vergleichs- und Bewertungskritierien
■ Maturity: Gute und aktive Community, keine Issues, häufige Releases
■ License and Cost: Open Source oder Commercial
■ Supported Features: Traffic Management, Deployment, Security, Translation, Transformation,
QoS, Resiliency, …
■ DevOps Friendly: Einfaches Setup und Betreibbarkeit, Verfügbarkeit als Managed Service,
CI/CD und GitOps Support, Documentation, Erweiterbarkeit, Integrierbarkeit in den DevOps
Workflow, einfache Konfigurierbarkeit, …
■ Performance: Kleiner Overhead, hoher Durchsatz, Skalierbarkeit, Verfügbarkeit, Features zur
Performanceverbesserung
API Gateway = API Gateway?
Der Versuch einer Kategorisierung:
A.
API Management
Solutions /
Platforms
B.
Build your own
API Gateway
C.
Service Proxies
D.
Cloud Native API
Gateways
A. API Management Solutions / Platforms
■ Beispiele: Apigee, Amazon API Gateway, Mulesoft UAPIM, Kong Enterprise, …
■ Lizenzen und Kosten: Häufig kostenpflichtig, manchmal aber auch mit Open Source Varianten
mit eingeschränktem Feature Umfang
■ Besonderheiten: Features wie API Kataloge, Developer Portale, API Key Management,
Lösungen oder Integrationen für Bezahlung, …
■ DevOps: Üblicherweise zentral deployed und betrieben für alle Applikationen und Produkte im
Unternehmen
B. Build your own API Gateway
■ Beispiele: Spring Cloud Gateway, Netflix Zuul, Node, Apache Camel, … und zahlreiche weitere
Frameworks
■ Lizenzen und Kosten: Oft Open Source, muss individuell bewertet werden
■ Besonderheiten: Extrem flexibel, da sehr einfache Integration von eigenem Code…
■ DevOps: Liegt komplett in der Hand des Teams. Entwicklung, Wartung, Betrieb müssen
individuell erbracht werden, verursacht Aufwand und birgt Risiken.
C. Service Proxies
■ Beispiele: Nginx, Envoy, HA Proxy, Traefik, …
■ Lizenzen und Kosten: Oft Open Source, muss individuell bewertet werden
■ Besonderheiten: Leichtgewichtig, oft einfach in der Konfiguration und Nutzung.
■ DevOps: Unterstützte Funktionen unterscheiden sich teilweise signifikant
D. Cloud Native API Gateways
■ Beispiele: KrakenD, Gloo, Kusk, Emissary Ingress, APISIX, …
■ Lizenzen und Kosten: Sehr unterschiedlich, sowohl Open Source als auch kommerzielle
Varianten
■ Besonderheiten: Basieren häufig auf Envoy mit zusätzlichen Erweiterungen und Plugins
■ DevOps: bieten tiefe Integration in K8s und Platformen der Cloud Provider. DevOps Workflow
ist teilweise sehr unterschiedlich. Erweiterbarkeit und dafür unterstützte Programmiersprachen
sowie unterstützte Features unterscheiden sich
API Gateway Composition
The Enterprise
API
Management
Solution
On-Premise Servers
Service
Proxy
Some Public Cloud
Managed K8s
Cloud
Gateway
Gateway
Shared PaaS
Namespace
Custom
Gateway
Service Proxy
Legacy Backend
Demo
Conclusion
qaware.de
QAware GmbH
Aschauer Straße 32
81549 München
Tel. +49 89 232315-0
info@qaware.de
twitter.com/qaware
linkedin.com/company/qaware-gmbh
xing.com/companies/qawaregmbh
slideshare.net/qaware
github.com/qaware

Weitere ähnliche Inhalte

Ähnlich wie Per Anhalter zu Cloud Nativen API Gateways

Creasoft-Akademie - Mobile Multiplattform Apps
Creasoft-Akademie - Mobile Multiplattform AppsCreasoft-Akademie - Mobile Multiplattform Apps
Creasoft-Akademie - Mobile Multiplattform Apps
Creasoft AG
 
ANEO | Automatisierung mit RedHat Ansible
ANEO | Automatisierung mit RedHat AnsibleANEO | Automatisierung mit RedHat Ansible
ANEO | Automatisierung mit RedHat Ansible
CarolineAuerMarcher
 
B1 Acocon Lotus Day 08.09.2009
B1 Acocon Lotus Day 08.09.2009B1 Acocon Lotus Day 08.09.2009
B1 Acocon Lotus Day 08.09.2009
Andreas Schulte
 
Architektur und Automation als Enabler für DevOps
Architektur und Automation als Enabler für DevOpsArchitektur und Automation als Enabler für DevOps
Architektur und Automation als Enabler für DevOps
matfsw
 
Ajax, Comet & Co.
Ajax, Comet & Co.Ajax, Comet & Co.
Ajax, Comet & Co.
Roman Roelofsen
 
Agile Softwareentwicklung mit Rails
Agile Softwareentwicklung mit RailsAgile Softwareentwicklung mit Rails
Agile Softwareentwicklung mit Rails
Hussein Morsy
 
Ruby on Rails in a metro session
Ruby on Rails in a metro sessionRuby on Rails in a metro session
Ruby on Rails in a metro session
Virttoo org
 
Steinzeit war gestern! Wege der Cloud-nativen Evolution.
Steinzeit war gestern! Wege der Cloud-nativen Evolution.Steinzeit war gestern! Wege der Cloud-nativen Evolution.
Steinzeit war gestern! Wege der Cloud-nativen Evolution.
QAware GmbH
 
Webservice API - Webportale mit Force.com verbinden
Webservice API - Webportale mit Force.com verbindenWebservice API - Webportale mit Force.com verbinden
Webservice API - Webportale mit Force.com verbinden
Aptly GmbH
 
Serverless Application Framework
Serverless Application FrameworkServerless Application Framework
Serverless Application Framework
BATbern
 
Metaprogrammierung und Reflection
Metaprogrammierung und ReflectionMetaprogrammierung und Reflection
Metaprogrammierung und Reflection
Stefan Marr
 
Wozu Portlets – reichen HTML5 und Rest nicht aus für moderne Portale?
Wozu Portlets – reichen HTML5 und Rest nicht aus für moderne Portale?Wozu Portlets – reichen HTML5 und Rest nicht aus für moderne Portale?
Wozu Portlets – reichen HTML5 und Rest nicht aus für moderne Portale?
adesso AG
 
Apache Kafka
Apache KafkaApache Kafka
Apache Kafka
gedoplan
 
Jug nbg containerplattform dcos
Jug nbg containerplattform dcosJug nbg containerplattform dcos
Jug nbg containerplattform dcos
Ralf Ernst
 
JUG Luzern: Open Source BPM mit BPMN 2.0 und Java
JUG Luzern: Open Source BPM mit BPMN 2.0 und JavaJUG Luzern: Open Source BPM mit BPMN 2.0 und Java
JUG Luzern: Open Source BPM mit BPMN 2.0 und Java
camunda services GmbH
 
AdminCamp2017 - ApplicationInsights
AdminCamp2017 - ApplicationInsightsAdminCamp2017 - ApplicationInsights
AdminCamp2017 - ApplicationInsights
Christoph Adler
 
Cloud Observability mit Loki, Prometheus, Tempo und Grafana
Cloud Observability mit Loki, Prometheus, Tempo und GrafanaCloud Observability mit Loki, Prometheus, Tempo und Grafana
Cloud Observability mit Loki, Prometheus, Tempo und Grafana
QAware GmbH
 
On the Portability of Applications in Platform as a Service
On the Portability of Applications in Platform as a ServiceOn the Portability of Applications in Platform as a Service
On the Portability of Applications in Platform as a Service
Stefan Kolb
 
OSMC 2012 | Performance graphing mit inGraph by Eric Lippmann
OSMC 2012 | Performance graphing mit inGraph by Eric LippmannOSMC 2012 | Performance graphing mit inGraph by Eric Lippmann
OSMC 2012 | Performance graphing mit inGraph by Eric Lippmann
NETWAYS
 

Ähnlich wie Per Anhalter zu Cloud Nativen API Gateways (20)

Creasoft-Akademie - Mobile Multiplattform Apps
Creasoft-Akademie - Mobile Multiplattform AppsCreasoft-Akademie - Mobile Multiplattform Apps
Creasoft-Akademie - Mobile Multiplattform Apps
 
ANEO | Automatisierung mit RedHat Ansible
ANEO | Automatisierung mit RedHat AnsibleANEO | Automatisierung mit RedHat Ansible
ANEO | Automatisierung mit RedHat Ansible
 
B1 Acocon Lotus Day 08.09.2009
B1 Acocon Lotus Day 08.09.2009B1 Acocon Lotus Day 08.09.2009
B1 Acocon Lotus Day 08.09.2009
 
Architektur und Automation als Enabler für DevOps
Architektur und Automation als Enabler für DevOpsArchitektur und Automation als Enabler für DevOps
Architektur und Automation als Enabler für DevOps
 
Ajax, Comet & Co.
Ajax, Comet & Co.Ajax, Comet & Co.
Ajax, Comet & Co.
 
Agile Softwareentwicklung mit Rails
Agile Softwareentwicklung mit RailsAgile Softwareentwicklung mit Rails
Agile Softwareentwicklung mit Rails
 
Ruby on Rails in a metro session
Ruby on Rails in a metro sessionRuby on Rails in a metro session
Ruby on Rails in a metro session
 
Steinzeit war gestern! Wege der Cloud-nativen Evolution.
Steinzeit war gestern! Wege der Cloud-nativen Evolution.Steinzeit war gestern! Wege der Cloud-nativen Evolution.
Steinzeit war gestern! Wege der Cloud-nativen Evolution.
 
Webservice API - Webportale mit Force.com verbinden
Webservice API - Webportale mit Force.com verbindenWebservice API - Webportale mit Force.com verbinden
Webservice API - Webportale mit Force.com verbinden
 
Hsps2014
Hsps2014Hsps2014
Hsps2014
 
Serverless Application Framework
Serverless Application FrameworkServerless Application Framework
Serverless Application Framework
 
Metaprogrammierung und Reflection
Metaprogrammierung und ReflectionMetaprogrammierung und Reflection
Metaprogrammierung und Reflection
 
Wozu Portlets – reichen HTML5 und Rest nicht aus für moderne Portale?
Wozu Portlets – reichen HTML5 und Rest nicht aus für moderne Portale?Wozu Portlets – reichen HTML5 und Rest nicht aus für moderne Portale?
Wozu Portlets – reichen HTML5 und Rest nicht aus für moderne Portale?
 
Apache Kafka
Apache KafkaApache Kafka
Apache Kafka
 
Jug nbg containerplattform dcos
Jug nbg containerplattform dcosJug nbg containerplattform dcos
Jug nbg containerplattform dcos
 
JUG Luzern: Open Source BPM mit BPMN 2.0 und Java
JUG Luzern: Open Source BPM mit BPMN 2.0 und JavaJUG Luzern: Open Source BPM mit BPMN 2.0 und Java
JUG Luzern: Open Source BPM mit BPMN 2.0 und Java
 
AdminCamp2017 - ApplicationInsights
AdminCamp2017 - ApplicationInsightsAdminCamp2017 - ApplicationInsights
AdminCamp2017 - ApplicationInsights
 
Cloud Observability mit Loki, Prometheus, Tempo und Grafana
Cloud Observability mit Loki, Prometheus, Tempo und GrafanaCloud Observability mit Loki, Prometheus, Tempo und Grafana
Cloud Observability mit Loki, Prometheus, Tempo und Grafana
 
On the Portability of Applications in Platform as a Service
On the Portability of Applications in Platform as a ServiceOn the Portability of Applications in Platform as a Service
On the Portability of Applications in Platform as a Service
 
OSMC 2012 | Performance graphing mit inGraph by Eric Lippmann
OSMC 2012 | Performance graphing mit inGraph by Eric LippmannOSMC 2012 | Performance graphing mit inGraph by Eric Lippmann
OSMC 2012 | Performance graphing mit inGraph by Eric Lippmann
 

Mehr von QAware GmbH

Frontends mit Hilfe von KI entwickeln.pdf
Frontends mit Hilfe von KI entwickeln.pdfFrontends mit Hilfe von KI entwickeln.pdf
Frontends mit Hilfe von KI entwickeln.pdf
QAware GmbH
 
Mit ChatGPT Dinosaurier besiegen - Möglichkeiten und Grenzen von LLM für die ...
Mit ChatGPT Dinosaurier besiegen - Möglichkeiten und Grenzen von LLM für die ...Mit ChatGPT Dinosaurier besiegen - Möglichkeiten und Grenzen von LLM für die ...
Mit ChatGPT Dinosaurier besiegen - Möglichkeiten und Grenzen von LLM für die ...
QAware GmbH
 
50 Shades of K8s Autoscaling #JavaLand24.pdf
50 Shades of K8s Autoscaling #JavaLand24.pdf50 Shades of K8s Autoscaling #JavaLand24.pdf
50 Shades of K8s Autoscaling #JavaLand24.pdf
QAware GmbH
 
Make Agile Great - PM-Erfahrungen aus zwei virtuellen internationalen SAFe-Pr...
Make Agile Great - PM-Erfahrungen aus zwei virtuellen internationalen SAFe-Pr...Make Agile Great - PM-Erfahrungen aus zwei virtuellen internationalen SAFe-Pr...
Make Agile Great - PM-Erfahrungen aus zwei virtuellen internationalen SAFe-Pr...
QAware GmbH
 
Fully-managed Cloud-native Databases: The path to indefinite scale @ CNN Mainz
Fully-managed Cloud-native Databases: The path to indefinite scale @ CNN MainzFully-managed Cloud-native Databases: The path to indefinite scale @ CNN Mainz
Fully-managed Cloud-native Databases: The path to indefinite scale @ CNN Mainz
QAware GmbH
 
Down the Ivory Tower towards Agile Architecture
Down the Ivory Tower towards Agile ArchitectureDown the Ivory Tower towards Agile Architecture
Down the Ivory Tower towards Agile Architecture
QAware GmbH
 
"Mixed" Scrum-Teams – Die richtige Mischung macht's!
"Mixed" Scrum-Teams – Die richtige Mischung macht's!"Mixed" Scrum-Teams – Die richtige Mischung macht's!
"Mixed" Scrum-Teams – Die richtige Mischung macht's!
QAware GmbH
 
Der Tod der Testpyramide? – Frontend-Testing mit Playwright
Der Tod der Testpyramide? – Frontend-Testing mit PlaywrightDer Tod der Testpyramide? – Frontend-Testing mit Playwright
Der Tod der Testpyramide? – Frontend-Testing mit Playwright
QAware GmbH
 
Was kommt nach den SPAs
Was kommt nach den SPAsWas kommt nach den SPAs
Was kommt nach den SPAs
QAware GmbH
 
Cloud Migration mit KI: der Turbo
Cloud Migration mit KI: der Turbo Cloud Migration mit KI: der Turbo
Cloud Migration mit KI: der Turbo
QAware GmbH
 
Migration von stark regulierten Anwendungen in die Cloud: Dem Teufel die See...
 Migration von stark regulierten Anwendungen in die Cloud: Dem Teufel die See... Migration von stark regulierten Anwendungen in die Cloud: Dem Teufel die See...
Migration von stark regulierten Anwendungen in die Cloud: Dem Teufel die See...
QAware GmbH
 
Aus blau wird grün! Ansätze und Technologien für nachhaltige Kubernetes-Cluster
Aus blau wird grün! Ansätze und Technologien für nachhaltige Kubernetes-Cluster Aus blau wird grün! Ansätze und Technologien für nachhaltige Kubernetes-Cluster
Aus blau wird grün! Ansätze und Technologien für nachhaltige Kubernetes-Cluster
QAware GmbH
 
Endlich gute API Tests. Boldly Testing APIs Where No One Has Tested Before.
Endlich gute API Tests. Boldly Testing APIs Where No One Has Tested Before.Endlich gute API Tests. Boldly Testing APIs Where No One Has Tested Before.
Endlich gute API Tests. Boldly Testing APIs Where No One Has Tested Before.
QAware GmbH
 
Kubernetes with Cilium in AWS - Experience Report!
Kubernetes with Cilium in AWS - Experience Report!Kubernetes with Cilium in AWS - Experience Report!
Kubernetes with Cilium in AWS - Experience Report!
QAware GmbH
 
50 Shades of K8s Autoscaling
50 Shades of K8s Autoscaling50 Shades of K8s Autoscaling
50 Shades of K8s Autoscaling
QAware GmbH
 
Kontinuierliche Sicherheitstests für APIs mit Testkube und OWASP ZAP
Kontinuierliche Sicherheitstests für APIs mit Testkube und OWASP ZAPKontinuierliche Sicherheitstests für APIs mit Testkube und OWASP ZAP
Kontinuierliche Sicherheitstests für APIs mit Testkube und OWASP ZAP
QAware GmbH
 
Service Mesh Pain & Gain. Experiences from a client project.
Service Mesh Pain & Gain. Experiences from a client project.Service Mesh Pain & Gain. Experiences from a client project.
Service Mesh Pain & Gain. Experiences from a client project.
QAware GmbH
 
50 Shades of K8s Autoscaling
50 Shades of K8s Autoscaling50 Shades of K8s Autoscaling
50 Shades of K8s Autoscaling
QAware GmbH
 
Blue turns green! Approaches and technologies for sustainable K8s clusters.
Blue turns green! Approaches and technologies for sustainable K8s clusters.Blue turns green! Approaches and technologies for sustainable K8s clusters.
Blue turns green! Approaches and technologies for sustainable K8s clusters.
QAware GmbH
 
Aus blau wird grün! Ansätze und Technologien für nachhaltige Kubernetes-Cluster
Aus blau wird grün! Ansätze und Technologien für nachhaltige Kubernetes-Cluster Aus blau wird grün! Ansätze und Technologien für nachhaltige Kubernetes-Cluster
Aus blau wird grün! Ansätze und Technologien für nachhaltige Kubernetes-Cluster
QAware GmbH
 

Mehr von QAware GmbH (20)

Frontends mit Hilfe von KI entwickeln.pdf
Frontends mit Hilfe von KI entwickeln.pdfFrontends mit Hilfe von KI entwickeln.pdf
Frontends mit Hilfe von KI entwickeln.pdf
 
Mit ChatGPT Dinosaurier besiegen - Möglichkeiten und Grenzen von LLM für die ...
Mit ChatGPT Dinosaurier besiegen - Möglichkeiten und Grenzen von LLM für die ...Mit ChatGPT Dinosaurier besiegen - Möglichkeiten und Grenzen von LLM für die ...
Mit ChatGPT Dinosaurier besiegen - Möglichkeiten und Grenzen von LLM für die ...
 
50 Shades of K8s Autoscaling #JavaLand24.pdf
50 Shades of K8s Autoscaling #JavaLand24.pdf50 Shades of K8s Autoscaling #JavaLand24.pdf
50 Shades of K8s Autoscaling #JavaLand24.pdf
 
Make Agile Great - PM-Erfahrungen aus zwei virtuellen internationalen SAFe-Pr...
Make Agile Great - PM-Erfahrungen aus zwei virtuellen internationalen SAFe-Pr...Make Agile Great - PM-Erfahrungen aus zwei virtuellen internationalen SAFe-Pr...
Make Agile Great - PM-Erfahrungen aus zwei virtuellen internationalen SAFe-Pr...
 
Fully-managed Cloud-native Databases: The path to indefinite scale @ CNN Mainz
Fully-managed Cloud-native Databases: The path to indefinite scale @ CNN MainzFully-managed Cloud-native Databases: The path to indefinite scale @ CNN Mainz
Fully-managed Cloud-native Databases: The path to indefinite scale @ CNN Mainz
 
Down the Ivory Tower towards Agile Architecture
Down the Ivory Tower towards Agile ArchitectureDown the Ivory Tower towards Agile Architecture
Down the Ivory Tower towards Agile Architecture
 
"Mixed" Scrum-Teams – Die richtige Mischung macht's!
"Mixed" Scrum-Teams – Die richtige Mischung macht's!"Mixed" Scrum-Teams – Die richtige Mischung macht's!
"Mixed" Scrum-Teams – Die richtige Mischung macht's!
 
Der Tod der Testpyramide? – Frontend-Testing mit Playwright
Der Tod der Testpyramide? – Frontend-Testing mit PlaywrightDer Tod der Testpyramide? – Frontend-Testing mit Playwright
Der Tod der Testpyramide? – Frontend-Testing mit Playwright
 
Was kommt nach den SPAs
Was kommt nach den SPAsWas kommt nach den SPAs
Was kommt nach den SPAs
 
Cloud Migration mit KI: der Turbo
Cloud Migration mit KI: der Turbo Cloud Migration mit KI: der Turbo
Cloud Migration mit KI: der Turbo
 
Migration von stark regulierten Anwendungen in die Cloud: Dem Teufel die See...
 Migration von stark regulierten Anwendungen in die Cloud: Dem Teufel die See... Migration von stark regulierten Anwendungen in die Cloud: Dem Teufel die See...
Migration von stark regulierten Anwendungen in die Cloud: Dem Teufel die See...
 
Aus blau wird grün! Ansätze und Technologien für nachhaltige Kubernetes-Cluster
Aus blau wird grün! Ansätze und Technologien für nachhaltige Kubernetes-Cluster Aus blau wird grün! Ansätze und Technologien für nachhaltige Kubernetes-Cluster
Aus blau wird grün! Ansätze und Technologien für nachhaltige Kubernetes-Cluster
 
Endlich gute API Tests. Boldly Testing APIs Where No One Has Tested Before.
Endlich gute API Tests. Boldly Testing APIs Where No One Has Tested Before.Endlich gute API Tests. Boldly Testing APIs Where No One Has Tested Before.
Endlich gute API Tests. Boldly Testing APIs Where No One Has Tested Before.
 
Kubernetes with Cilium in AWS - Experience Report!
Kubernetes with Cilium in AWS - Experience Report!Kubernetes with Cilium in AWS - Experience Report!
Kubernetes with Cilium in AWS - Experience Report!
 
50 Shades of K8s Autoscaling
50 Shades of K8s Autoscaling50 Shades of K8s Autoscaling
50 Shades of K8s Autoscaling
 
Kontinuierliche Sicherheitstests für APIs mit Testkube und OWASP ZAP
Kontinuierliche Sicherheitstests für APIs mit Testkube und OWASP ZAPKontinuierliche Sicherheitstests für APIs mit Testkube und OWASP ZAP
Kontinuierliche Sicherheitstests für APIs mit Testkube und OWASP ZAP
 
Service Mesh Pain & Gain. Experiences from a client project.
Service Mesh Pain & Gain. Experiences from a client project.Service Mesh Pain & Gain. Experiences from a client project.
Service Mesh Pain & Gain. Experiences from a client project.
 
50 Shades of K8s Autoscaling
50 Shades of K8s Autoscaling50 Shades of K8s Autoscaling
50 Shades of K8s Autoscaling
 
Blue turns green! Approaches and technologies for sustainable K8s clusters.
Blue turns green! Approaches and technologies for sustainable K8s clusters.Blue turns green! Approaches and technologies for sustainable K8s clusters.
Blue turns green! Approaches and technologies for sustainable K8s clusters.
 
Aus blau wird grün! Ansätze und Technologien für nachhaltige Kubernetes-Cluster
Aus blau wird grün! Ansätze und Technologien für nachhaltige Kubernetes-Cluster Aus blau wird grün! Ansätze und Technologien für nachhaltige Kubernetes-Cluster
Aus blau wird grün! Ansätze und Technologien für nachhaltige Kubernetes-Cluster
 

Per Anhalter zu Cloud Nativen API Gateways

  • 1. qaware.de Per Anhalter zu Cloud-nativen API Gateways Sonja Wegner, QAware GmbH
  • 2. Sonja Wegner Lead Software Architect @ QAware GmbH
  • 4. Users Monolithic Vintage System A Cluster A Namespace Service A system.example.com service-a.default.example.com Route
  • 5. Monolithic Vintage System A Cluster A Namespace Service A system.example.com service-a.default.example.com Route Service B Route service-b… Users
  • 6. Monolithic Vintage System A Cluster A Namespace Service A system.example.com service-a.default.example.com Route Service B Route service-b… Service C Route service-c… Users
  • 7. Monolithic Vintage System A Cluster A Namespace Service A’ system.example.com service-a.default.example.com Route Service B Route service-b… Service C' Route service-c… Users 3rd Party Apps
  • 8. Monolithic Vintage System A Cluster A Namespace Service A’ system.example.com service-a.default.example.com Route Service B Route service-b… Service C' Route service-c… B Namespace Service X Service Y Service Z’ Unreliable Legacy Systems SOAP gRPC 3rd Party Apps Users
  • 9. Monolithic Vintage System A Cluster A Namespace Service A’ system.example.com service-a.default.example.com Route Service B Route service-b… Service C' Route service-c… B Namespace Service X Service Y Service Z’ SOAP gRPC Route Internal Systems 3rd Party Apps Users Unreliable Legacy Systems
  • 10. Höchste Zeit für API Maintenance! APIs sind das Herzstück erfolgreicher, digitaler Produkte. Das richtige Management der APIs von Beginn an ist essentiell, um den Big Ball of Mud zu vermeiden. https://thenewstack.io/history-service-mesh/
  • 11. Monolithic Vintage System A Cluster A Namespace Service A Service B Service C B Namespace Service X Service Y Service Z Unreliable Legacy Systems SOAP API Gateway BFF Internal Systems API Gateway API Proxy Users 3rd Party Apps
  • 12. Mit dem Einsatz von API Gateways wenden wir etablierte Design Patterns auf Microservice Architekturen an: ■ Facade – Komplexe Aufrufwege, Interna über die Service Architektur etc. werden hinter dem Gateway versteckt – Umbenennungen, Refactorings, … sind problemlos möglich, weil Abnehmer nur mit dem Gateway als Facade interagieren ■ DRY – Querschnittliche Funktionalität wird direkt im Gateway abgebildet ■ Decoupling – Reine Fachlogik in den Microservices – BFF, Routing, Auth, … im Gateway
  • 13. Querschnittsfunktionalität - im API Gateway? ■ Traffic Management: Path, Header, Host based Routing, Path Rewrite ■ Rollout and Deployment: A/B Deployment, Canary Release, et.al. ■ QoS and Resiliency: Circuit Breaker, Retry, Timeouts, Rate Limiting ■ Security: AAA, Terminate TLS, Support for JWT and JWKS, Open ID, … ■ Protocol Translation: XML to JSON, gRPC to JSON, … ■ Transformation: Fan Out / Collect, B4F, Versioning, GraphQL, … ■ Observability: Logging Integration, Monitoring, Distributed Tracing
  • 14. Vor- und Nachteile von API Gateways Möglicher Nutzen und Vorteile ■ Abstraktion der internen Anwendungsarchitektur, ermöglicht lose Kopplung ■ Vereinfachter Client Code, konsistentes Interface für Abnehmer ■ Einfaches Rollout und Deployment, Versionierung, … ■ BFFs reduzieren die Anzahl benötigter Client-Server Calls ■ Positiver Performance Impact durch Caching, einfachere Aufrufwege, … ■ Monitoring und Troubleshooting ■ Reduzierte Angriffsfläche Mögliche Nachteile ■ Weiterer hoch-verfügbarer Infrastruktur-Baustein, Single Point of Failure ■ Wird schnell zum DevOps-Flaschenhals im Fall vom zentralem Betrieb ■ Ggf. redundant: falls Load Balancing, Observability, Rate Limiting etc. schon von anderen, bereits bestehenden Bausteinen übernommen werden ■ Business-Logik im API Gateway führt versehentlich zu einem ESB ■ Schlechte Performance bei falscher Konfiguration
  • 15. API Gateway vs. Service Mesh ■ API Gateways für “Nord-Süd” Kommunikation / Kommunikation mit der Außenwelt ■ Service Meshes für “Ost-West” Kommunikation / interne Kommunikation zwischen Services
  • 18. Vergleichs- und Bewertungskritierien ■ Maturity: Gute und aktive Community, keine Issues, häufige Releases ■ License and Cost: Open Source oder Commercial ■ Supported Features: Traffic Management, Deployment, Security, Translation, Transformation, QoS, Resiliency, … ■ DevOps Friendly: Einfaches Setup und Betreibbarkeit, Verfügbarkeit als Managed Service, CI/CD und GitOps Support, Documentation, Erweiterbarkeit, Integrierbarkeit in den DevOps Workflow, einfache Konfigurierbarkeit, … ■ Performance: Kleiner Overhead, hoher Durchsatz, Skalierbarkeit, Verfügbarkeit, Features zur Performanceverbesserung
  • 19. API Gateway = API Gateway? Der Versuch einer Kategorisierung: A. API Management Solutions / Platforms B. Build your own API Gateway C. Service Proxies D. Cloud Native API Gateways
  • 20. A. API Management Solutions / Platforms ■ Beispiele: Apigee, Amazon API Gateway, Mulesoft UAPIM, Kong Enterprise, … ■ Lizenzen und Kosten: Häufig kostenpflichtig, manchmal aber auch mit Open Source Varianten mit eingeschränktem Feature Umfang ■ Besonderheiten: Features wie API Kataloge, Developer Portale, API Key Management, Lösungen oder Integrationen für Bezahlung, … ■ DevOps: Üblicherweise zentral deployed und betrieben für alle Applikationen und Produkte im Unternehmen
  • 21. B. Build your own API Gateway ■ Beispiele: Spring Cloud Gateway, Netflix Zuul, Node, Apache Camel, … und zahlreiche weitere Frameworks ■ Lizenzen und Kosten: Oft Open Source, muss individuell bewertet werden ■ Besonderheiten: Extrem flexibel, da sehr einfache Integration von eigenem Code… ■ DevOps: Liegt komplett in der Hand des Teams. Entwicklung, Wartung, Betrieb müssen individuell erbracht werden, verursacht Aufwand und birgt Risiken.
  • 22. C. Service Proxies ■ Beispiele: Nginx, Envoy, HA Proxy, Traefik, … ■ Lizenzen und Kosten: Oft Open Source, muss individuell bewertet werden ■ Besonderheiten: Leichtgewichtig, oft einfach in der Konfiguration und Nutzung. ■ DevOps: Unterstützte Funktionen unterscheiden sich teilweise signifikant
  • 23. D. Cloud Native API Gateways ■ Beispiele: KrakenD, Gloo, Kusk, Emissary Ingress, APISIX, … ■ Lizenzen und Kosten: Sehr unterschiedlich, sowohl Open Source als auch kommerzielle Varianten ■ Besonderheiten: Basieren häufig auf Envoy mit zusätzlichen Erweiterungen und Plugins ■ DevOps: bieten tiefe Integration in K8s und Platformen der Cloud Provider. DevOps Workflow ist teilweise sehr unterschiedlich. Erweiterbarkeit und dafür unterstützte Programmiersprachen sowie unterstützte Features unterscheiden sich
  • 24. API Gateway Composition The Enterprise API Management Solution On-Premise Servers Service Proxy Some Public Cloud Managed K8s Cloud Gateway Gateway Shared PaaS Namespace Custom Gateway Service Proxy Legacy Backend
  • 25. Demo
  • 27. qaware.de QAware GmbH Aschauer Straße 32 81549 München Tel. +49 89 232315-0 info@qaware.de twitter.com/qaware linkedin.com/company/qaware-gmbh xing.com/companies/qawaregmbh slideshare.net/qaware github.com/qaware