SlideShare une entreprise Scribd logo
1  sur  1
Télécharger pour lire hors ligne
Cloud-native Applikationen
Der Cloud-native Stack
Inhaltliche Entwicklung: Prof. Dr. Nane Kratzke, Fachhochschule Lübeck, Mönkhofer Weg 239, 23562 Lübeck
unter Mitwirkung von: Dr. Adersberger, QAware
Beispiel für Kostenassoziativität: Der
Betrieb einer vituellen Maschine für
100 Std. oder 100 virtueller Maschi-
nen für 1 Std. kostet (fast) dasselbe.
Weiterführende Links:
www.qaware.de/news/cloud-ready
www.sigs-datacom.de/wissen
IaaS Provider6
(Public, Private, Hybrid) stellen Computing, Networking und Storage Ressourcen
für elastische Plattformen bereit, sowohl als Ressourcen für Container Plattformen als auch für
Stateful Services.
Infrastructure
Layer (IaaS)
Cloud-native Datenbanken4
: Zur
Zustandsisolierung werden häufig
Cloud-native Datenbanken ge­­­nutzt.
Diese sind teilweise sogar transak­
tional, relational und verstehen SQL.
Cloud-native Da­tenbanken positio­
nierensichimCAP-Theorem:CP(con-
sensus) oder AP (eventual consis-
tency). Cloud-native Datenbanken
sind stark zweckgebunden (z.B.
kleiner Zustandsraum über viele
Anwendungen, großer Zustands-
raum + SQL + CP; großer Zustands-
raum + NoSQL).
ClusteredStorageSysteme5
stellen
persistenten Objekt-, Datei- oder
Block­­speicher für Stateful Services
sowie für Container und Dienste
bereit.
„Eine Cloud-native Applikation ist ein verteiltes, elastisches und
horizontal skalierbares Softwaresystem, welches aus Service-
orien­­tierten Komponenten (Diensten) besteht, die Zustände in ei-
nem Minimum an zustandsbehafteten Komponenten isolieren. Die
Applikation und ihre Komponenten werden gemäß Cloud-spezifi-
scher Entwurfsmuster entworfen und auf einer elastischen Platt-
form betrieben.“
Definition
Referenzmodell
Definitionund
Erläuterungen
CNAEngineering
Trends
CNA unterscheiden sich damit von „klassischen“ Multi-Tier Appli­ka­­tionen vor allem hin-
sichtlich des Grades ihrer Verteilung und ihrer Elastizität.
CNA sind elastisch, d.h. sie können ihren Ressourcenbedarf dem zu verarbeitenden
Workload (idealerweise vollautomatisch) anpassen, um so das Pay-as-you-go Prinzip
und die Kostenassoziativität des Cloud Computing als Kostenvorteil zu nutzen.
CNA sind insbesondere für Anwendungen interessant, deren Workload schwer prog­­
nostizierbar ist, deren Nutzung Peak-Loads unterliegt oder für die exponentielles
Wachstum angestrebt wird.
Prinzipien von CNA:
L
I
D
E
A
Isolated State
Um horizontale Skalierbarkeit zu opti­
mie­­ren, versucht man zustandsbehaftete
Komponenten und deren Skalierungskom-
plexität zu isolieren.
Distributed
CNAsindverteilteSysteme(web-scale),die
aus unabhängig voneinan­der austausch­
baren Diensten komponiert werden.
Elastic
CNAsindelastisch,d.h.siefordernRessour­
cen (Compute, Storage, Network) abhängig
von einer Last an (wenig Last → wenig Res-
sourcen, hohe Last → mehr Ressourcen).
Die Skalierung erfolgt dabei meist horizon-
tal (mehr Ressourcen) und nicht vertikal
(stärkere Ressourcen).
Automated
CNA sollten meist auf automatisierten
Plattformen betrieben werden die wenig
bis keinen Operatoreingriff erfordern.
Loosely coupled
Die Dienste rufen sich untereinander idea­
ler­weise nicht direkt auf, sondern inter­
agieren indirekt über entkoppelnde Mes-
saging-Lösungen.
In Anlehnung an: Fehling, C., Leymann, F., Retter, R., Schupeck,
W., Arbitter, P., „Cloud Computing Patterns -Fundamentals to Design,
Build, and Manage Cloud Applications“, Springer, 2014
Design for Failure
(„Everthing fails all the time“):
Mittels Resilienz schützen sich Cloud-native
Applikationen z.B. per Circuit Breaker vor einer
fehlerhaften und langsamen Umgebung. Ein-
zelne Serviceausfälle sollten nie die gesamte
Cloud-native Applikation beeinträchtigen.
Center of Excellence
Elastische Plattformen
Eine verteilte Middleware zur
Ausfüh­­­rung standardisierter Con-
tainer. Diese Plattformen dienen der
Ressourcen-effizienteren Nutzung und
Integration von IaaS Infrastrukturen un-
terschiedlicher Cloud Provider.
Zustandsisolierung
Zustandslose Komponenten sind einfacher horizontal zu skalieren.
Zustandsbehaftete Komponenten können nicht vermieden werden. Um
Gesamtsysteme einfach skalieren zu können, versucht man Zustände in we-
nigen zustandsbehafteten Komponenten zu isolieren, um Skalierungskom-
plexität auf diese zu beschränken. Dies erfolgt häufig mittels sogenannter
Cloud-native Datenbanken (die von sich aus horizontal skalierbar sind).
DevOps
Ein auf Deployment Automati­sie­­rung basie-
render Ansatz Soft­ware­entwicklung mit dem
IT-Be­­trieb agiler zu verschränken. Für eine besse-
re Diagnostizierbarkeit werden Logs, Traces und
Metriken so zusammengeführt und bereitgestellt,
dass sie möglichst zentral analysierbar sind.
Container
Um Deployments zu standardisie­
ren, werden Komponenten häufig in
Form unabhängiger Container bereitge­
stellt. Diese Container umfassen den
Code, Laufzeitumgebung, System Biblio-
theken und erforderliche Konfiguration.
Lose Kopplung
Service Komposition kann mittels Events
oder Datenkopplung erfolgen. Bei Eventba­­
sierter Kopplung werden häufig Messaging oder
Streaming-Systeme eingesetzt. Erfolgt die Kopp-
lung datengestützt werden meist Cloud-native
Datenbankeneingesetzt(s.a.Zustandsisolierung)
1
Framework Dienste: Apache Spark, Fission, Spring by Pivotal | 2
Messaging und Streaming Dienste: Active MQ, Rabbit MQ, Kafka | 3
Elastische Container Plattformen: Docker, Data-
center, Kubernetes, Mesos | 4
Cloud-native Datenbanken: Beispiele für kleiner Zustandsraum + CP: Zookeeper, ETCD • großer Zustandsraum + SQL + CP: Cockroach DB • großer Zu-
standsraum + NoSQL (+ AP): Cassandra, MongoDB, CouchDB, neo4j | 5
Clustered Storage Systeme: Ceph, GlustersFS | 6
IaaS Provider: Amazon Web Servies, Google Compute Engine,
Microsoft Azure, OpenStack …
­Microservices
Microservices sind kleine, unab-
hängig voneinander austauschbare
und horizontal skalier­bare Dienste für eine
klar umrissene fachliche Aufgabe. Micro-
services bieten häufig eine REST Schnitt-
stelle, die API-getrieben entwickelt wird.
Eine CNA wird von Endnutzern als „die Applikation“ empfun-
den. Sie setzt sich im Hintergrund aus für den Nutzer nicht
mehr direkt sicht­baren Diensten zusammen.
App Layer
(SaaS)
Applikationsspezifischer
Dienst A
Applikationsspezifischer
Dienst B
Applikationsspezifischer
Dienst C
stützen sich auf funktionale Dienste ab.Cloud-native Applikation
Service Layer
(XaaS)
Cluster Layer
(PaaS)
CNA werden häufig auf elastischen Self-Service-Plattformen betrieben und
basieren auf Software-Defined-Infrastruktur Prinzipien.
Architekturen von CNA sind meist Service-orientiert und folgen zunehmend
der pragmatischen Microservice-Interpretation dieses Ansatzes.
CNA Entwicklungsmethodiken beruhen oft auf Cloud-spezifischen Software-
entwicklungsmustern und DevOps Ansätzen.
(N. Kratzke, P.-C. Quint, Understanding Cloud-native Applications after 10 Years of Cloud Computing, Journal of Software and Systems, 2017)
Portierbare (Multi-)Cloud Runtime Enviroment für Container
Access management
Authentication
Auto scaling, Load balancing
Health checking, Rolling updating
Image registry
Registry/service discovery
Ressource monitoring
Weitere Dienste (Logs, Traces, Metric Consolidation
and Analysis, Batchjobs, Service Meshes)
Framework Dienste1
ermöglichen eine schnellere
Entwicklung App-spezifischer Dienste.
Messaging und Streaming Dienste2
ermöglichen
lose (Echtzeit-)Kopplung von Diensten.
werden auf elastischen Plattformen betrieben.Funktionale Dienste
Elastische Container Plattformen3 integrieren IaaS Ressourcen zu einem logischen Cluster.
Cloud-native Applikationen (CNA): Softwaresysteme, die explizit für die Cloud entwickelt werden
Stateful Services
Dienste interagieren hierzu mit anderen Diensten. Diens-
te werden mittels standardisierter Deployment Units (z.B.
Container) ausgebracht. Stateful Services3
dienen dem Iso-
lieren von Zuständen.
Container Plattformen stellen elastische
Cloud Runtime Enviroments für Dienste und
deren Container bereit mit erforderlichen
Features wie:
Tools
(Beispiele)
Cloud Application Maturity Level
In Anlehnung an: OPEN DATA CENTER ALLIANCE Best Practices: Architecting Cloud-
Aware Applications (Rev. 1.0) und Mario-Leander Reimer (QAWare)
Level Maturity
3 | Adaptive Cloud Native
Applikation skaliert elastisch
(lastabhängig)
Migration auf andere Infra-
strukturen ohne Service
Downtime
2 | Abstracted Cloud Resilient
Dienste sind stateless
Applikation ist designed for failure
Applikation ist Infrastruktur
agnostisch (runs anywhere)
1 | Loosely
Coupled
Cloud Friendly
Applikation ist aus lose gekoppel-
ten Diensten komponiert
Dienste sind per Namen
adressierbar
Applikation berücksichtigt
12-Factor App Prinzipien
Applikation trennt Compute und
Storage Dienste
Applikation basiert auf Compute-,
Storage- und Netzwerkdiensten
0 | Virtualized Cloud Ready
Applikation läuft auf virtualisierter
Infrastruktur
Applikation kann automatisiert
ausgeprägt werden
IT-Probleme lösen. Digitale Zukunft gestalten.

Contenu connexe

Tendances

AWS Roadshow Herbst 2013 Partnervortrag Hamburg: Direktgruppe - Data Center o...
AWS Roadshow Herbst 2013 Partnervortrag Hamburg: Direktgruppe - Data Center o...AWS Roadshow Herbst 2013 Partnervortrag Hamburg: Direktgruppe - Data Center o...
AWS Roadshow Herbst 2013 Partnervortrag Hamburg: Direktgruppe - Data Center o...AWS Germany
 
Reactive Systems
Reactive SystemsReactive Systems
Reactive SystemsQAware GmbH
 
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
 
Steinzeit war gestern! Wege der cloud-nativen Evolution
Steinzeit war gestern! Wege der cloud-nativen EvolutionSteinzeit war gestern! Wege der cloud-nativen Evolution
Steinzeit war gestern! Wege der cloud-nativen EvolutionQAware GmbH
 

Tendances (6)

AWS Roadshow Herbst 2013 Partnervortrag Hamburg: Direktgruppe - Data Center o...
AWS Roadshow Herbst 2013 Partnervortrag Hamburg: Direktgruppe - Data Center o...AWS Roadshow Herbst 2013 Partnervortrag Hamburg: Direktgruppe - Data Center o...
AWS Roadshow Herbst 2013 Partnervortrag Hamburg: Direktgruppe - Data Center o...
 
Reactive Systems
Reactive SystemsReactive Systems
Reactive Systems
 
André stutz net scaler
André stutz net scalerAndré stutz net scaler
André stutz net scaler
 
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.
 
Azure WorkshopPart1 Intro
Azure WorkshopPart1   IntroAzure WorkshopPart1   Intro
Azure WorkshopPart1 Intro
 
Steinzeit war gestern! Wege der cloud-nativen Evolution
Steinzeit war gestern! Wege der cloud-nativen EvolutionSteinzeit war gestern! Wege der cloud-nativen Evolution
Steinzeit war gestern! Wege der cloud-nativen Evolution
 

Similaire à Cloud-native Applikationen

Cloud Infrastructure with Crossplane
Cloud Infrastructure with CrossplaneCloud Infrastructure with Crossplane
Cloud Infrastructure with CrossplaneQAware GmbH
 
Private Cloud mit Open Source
Private Cloud mit Open SourcePrivate Cloud mit Open Source
Private Cloud mit Open SourceDaniel Schneller
 
Jug nbg containerplattform dcos
Jug nbg containerplattform dcosJug nbg containerplattform dcos
Jug nbg containerplattform dcosRalf Ernst
 
Where are all transactions gone? Was in_der_cloud_alles_verboten_ist
Where are all transactions gone? Was in_der_cloud_alles_verboten_istWhere are all transactions gone? Was in_der_cloud_alles_verboten_ist
Where are all transactions gone? Was in_der_cloud_alles_verboten_istRamon Anger
 
OOP 2014 SQL oder NoSQL - die Auswahl der richtigen Datenbankplattform für di...
OOP 2014 SQL oder NoSQL - die Auswahl der richtigen Datenbankplattform für di...OOP 2014 SQL oder NoSQL - die Auswahl der richtigen Datenbankplattform für di...
OOP 2014 SQL oder NoSQL - die Auswahl der richtigen Datenbankplattform für di...AWS Germany
 
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
 
Steinzeit war gestern! Wege der cloud-nativen Evolution
Steinzeit war gestern! Wege der cloud-nativen EvolutionSteinzeit war gestern! Wege der cloud-nativen Evolution
Steinzeit war gestern! Wege der cloud-nativen EvolutionQAware GmbH
 
TRANSCONNECT® cloud (SQL Projekt AG)
TRANSCONNECT® cloud (SQL Projekt AG)TRANSCONNECT® cloud (SQL Projekt AG)
TRANSCONNECT® cloud (SQL Projekt AG)SQL Projekt AG
 
00 Einleitung und Übersicht zur COMLINE Cloud Service Plattform - CSP
00 Einleitung und Übersicht zur COMLINE Cloud Service Plattform - CSP00 Einleitung und Übersicht zur COMLINE Cloud Service Plattform - CSP
00 Einleitung und Übersicht zur COMLINE Cloud Service Plattform - CSPChristian Guenther
 
Event-Streaming in Echtzeit: Der MongoDB-Kafka-Connector in Action!
Event-Streaming in Echtzeit: Der MongoDB-Kafka-Connector in Action!Event-Streaming in Echtzeit: Der MongoDB-Kafka-Connector in Action!
Event-Streaming in Echtzeit: Der MongoDB-Kafka-Connector in Action!confluent
 
Cloud Computing Übersicht
Cloud Computing ÜbersichtCloud Computing Übersicht
Cloud Computing Übersichtartgrohe
 
Software Architecture Design Patterns der COMLINE Cloud Service Platform - CSP
Software Architecture Design Patterns der COMLINE Cloud Service Platform - CSPSoftware Architecture Design Patterns der COMLINE Cloud Service Platform - CSP
Software Architecture Design Patterns der COMLINE Cloud Service Platform - CSPChristian Guenther
 
Cloud Computing für die Verarbeitung von Metadaten
Cloud Computing für die Verarbeitung von MetadatenCloud Computing für die Verarbeitung von Metadaten
Cloud Computing für die Verarbeitung von MetadatenMagnus Pfeffer
 
papaya AWS Präsentation CeBIT 2010
papaya AWS Präsentation CeBIT 2010papaya AWS Präsentation CeBIT 2010
papaya AWS Präsentation CeBIT 2010papaya
 
Service Orchestrierung mit Apache Mesos
Service Orchestrierung mit Apache MesosService Orchestrierung mit Apache Mesos
Service Orchestrierung mit Apache MesosRalf Ernst
 
JavaAktuell - Skalierbare Cluster-Topologien mit dem JBoss AS 7
JavaAktuell - Skalierbare Cluster-Topologien mit dem JBoss AS 7JavaAktuell - Skalierbare Cluster-Topologien mit dem JBoss AS 7
JavaAktuell - Skalierbare Cluster-Topologien mit dem JBoss AS 7hwilming
 
Integration von OnSite- und Cloud-Systemen mit TransConnect® cloud
Integration von OnSite- und Cloud-Systemen mit TransConnect® cloud Integration von OnSite- und Cloud-Systemen mit TransConnect® cloud
Integration von OnSite- und Cloud-Systemen mit TransConnect® cloud Stefan Ehrlich
 
Mit TransConnect® einfach die Produktion vernetzen: mit wenigen Schritten zur...
Mit TransConnect® einfach die Produktion vernetzen: mit wenigen Schritten zur...Mit TransConnect® einfach die Produktion vernetzen: mit wenigen Schritten zur...
Mit TransConnect® einfach die Produktion vernetzen: mit wenigen Schritten zur...Stefan Ehrlich
 

Similaire à Cloud-native Applikationen (20)

Cloud Infrastructure with Crossplane
Cloud Infrastructure with CrossplaneCloud Infrastructure with Crossplane
Cloud Infrastructure with Crossplane
 
Private Cloud mit Open Source
Private Cloud mit Open SourcePrivate Cloud mit Open Source
Private Cloud mit Open Source
 
Jug nbg containerplattform dcos
Jug nbg containerplattform dcosJug nbg containerplattform dcos
Jug nbg containerplattform dcos
 
Where are all transactions gone? Was in_der_cloud_alles_verboten_ist
Where are all transactions gone? Was in_der_cloud_alles_verboten_istWhere are all transactions gone? Was in_der_cloud_alles_verboten_ist
Where are all transactions gone? Was in_der_cloud_alles_verboten_ist
 
The cloud 2011
The cloud 2011The cloud 2011
The cloud 2011
 
OOP 2014 SQL oder NoSQL - die Auswahl der richtigen Datenbankplattform für di...
OOP 2014 SQL oder NoSQL - die Auswahl der richtigen Datenbankplattform für di...OOP 2014 SQL oder NoSQL - die Auswahl der richtigen Datenbankplattform für di...
OOP 2014 SQL oder NoSQL - die Auswahl der richtigen Datenbankplattform für di...
 
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.
 
Steinzeit war gestern! Wege der cloud-nativen Evolution
Steinzeit war gestern! Wege der cloud-nativen EvolutionSteinzeit war gestern! Wege der cloud-nativen Evolution
Steinzeit war gestern! Wege der cloud-nativen Evolution
 
TRANSCONNECT® cloud (SQL Projekt AG)
TRANSCONNECT® cloud (SQL Projekt AG)TRANSCONNECT® cloud (SQL Projekt AG)
TRANSCONNECT® cloud (SQL Projekt AG)
 
Zeitreihen in Apache Cassandra
Zeitreihen in Apache CassandraZeitreihen in Apache Cassandra
Zeitreihen in Apache Cassandra
 
00 Einleitung und Übersicht zur COMLINE Cloud Service Plattform - CSP
00 Einleitung und Übersicht zur COMLINE Cloud Service Plattform - CSP00 Einleitung und Übersicht zur COMLINE Cloud Service Plattform - CSP
00 Einleitung und Übersicht zur COMLINE Cloud Service Plattform - CSP
 
Event-Streaming in Echtzeit: Der MongoDB-Kafka-Connector in Action!
Event-Streaming in Echtzeit: Der MongoDB-Kafka-Connector in Action!Event-Streaming in Echtzeit: Der MongoDB-Kafka-Connector in Action!
Event-Streaming in Echtzeit: Der MongoDB-Kafka-Connector in Action!
 
Cloud Computing Übersicht
Cloud Computing ÜbersichtCloud Computing Übersicht
Cloud Computing Übersicht
 
Software Architecture Design Patterns der COMLINE Cloud Service Platform - CSP
Software Architecture Design Patterns der COMLINE Cloud Service Platform - CSPSoftware Architecture Design Patterns der COMLINE Cloud Service Platform - CSP
Software Architecture Design Patterns der COMLINE Cloud Service Platform - CSP
 
Cloud Computing für die Verarbeitung von Metadaten
Cloud Computing für die Verarbeitung von MetadatenCloud Computing für die Verarbeitung von Metadaten
Cloud Computing für die Verarbeitung von Metadaten
 
papaya AWS Präsentation CeBIT 2010
papaya AWS Präsentation CeBIT 2010papaya AWS Präsentation CeBIT 2010
papaya AWS Präsentation CeBIT 2010
 
Service Orchestrierung mit Apache Mesos
Service Orchestrierung mit Apache MesosService Orchestrierung mit Apache Mesos
Service Orchestrierung mit Apache Mesos
 
JavaAktuell - Skalierbare Cluster-Topologien mit dem JBoss AS 7
JavaAktuell - Skalierbare Cluster-Topologien mit dem JBoss AS 7JavaAktuell - Skalierbare Cluster-Topologien mit dem JBoss AS 7
JavaAktuell - Skalierbare Cluster-Topologien mit dem JBoss AS 7
 
Integration von OnSite- und Cloud-Systemen mit TransConnect® cloud
Integration von OnSite- und Cloud-Systemen mit TransConnect® cloud Integration von OnSite- und Cloud-Systemen mit TransConnect® cloud
Integration von OnSite- und Cloud-Systemen mit TransConnect® cloud
 
Mit TransConnect® einfach die Produktion vernetzen: mit wenigen Schritten zur...
Mit TransConnect® einfach die Produktion vernetzen: mit wenigen Schritten zur...Mit TransConnect® einfach die Produktion vernetzen: mit wenigen Schritten zur...
Mit TransConnect® einfach die Produktion vernetzen: mit wenigen Schritten zur...
 

Plus de 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.pdfQAware 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 MainzQAware 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 ArchitectureQAware 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
 
Make Developers Fly: Principles for Platform Engineering
Make Developers Fly: Principles for Platform EngineeringMake Developers Fly: Principles for Platform Engineering
Make Developers Fly: Principles for Platform EngineeringQAware 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 PlaywrightQAware GmbH
 
Was kommt nach den SPAs
Was kommt nach den SPAsWas kommt nach den SPAs
Was kommt nach den SPAsQAware 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 AutoscalingQAware 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 ZAPQAware 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 AutoscalingQAware 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
 
Per Anhalter zu Cloud Nativen API Gateways
Per Anhalter zu Cloud Nativen API GatewaysPer Anhalter zu Cloud Nativen API Gateways
Per Anhalter zu Cloud Nativen API GatewaysQAware 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
 

Plus de QAware GmbH (20)

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!
 
Make Developers Fly: Principles for Platform Engineering
Make Developers Fly: Principles for Platform EngineeringMake Developers Fly: Principles for Platform Engineering
Make Developers Fly: Principles for Platform Engineering
 
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.
 
Per Anhalter zu Cloud Nativen API Gateways
Per Anhalter zu Cloud Nativen API GatewaysPer Anhalter zu Cloud Nativen API Gateways
Per Anhalter zu Cloud Nativen API Gateways
 
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
 

Cloud-native Applikationen

  • 1. Cloud-native Applikationen Der Cloud-native Stack Inhaltliche Entwicklung: Prof. Dr. Nane Kratzke, Fachhochschule Lübeck, Mönkhofer Weg 239, 23562 Lübeck unter Mitwirkung von: Dr. Adersberger, QAware Beispiel für Kostenassoziativität: Der Betrieb einer vituellen Maschine für 100 Std. oder 100 virtueller Maschi- nen für 1 Std. kostet (fast) dasselbe. Weiterführende Links: www.qaware.de/news/cloud-ready www.sigs-datacom.de/wissen IaaS Provider6 (Public, Private, Hybrid) stellen Computing, Networking und Storage Ressourcen für elastische Plattformen bereit, sowohl als Ressourcen für Container Plattformen als auch für Stateful Services. Infrastructure Layer (IaaS) Cloud-native Datenbanken4 : Zur Zustandsisolierung werden häufig Cloud-native Datenbanken ge­­­nutzt. Diese sind teilweise sogar transak­ tional, relational und verstehen SQL. Cloud-native Da­tenbanken positio­ nierensichimCAP-Theorem:CP(con- sensus) oder AP (eventual consis- tency). Cloud-native Datenbanken sind stark zweckgebunden (z.B. kleiner Zustandsraum über viele Anwendungen, großer Zustands- raum + SQL + CP; großer Zustands- raum + NoSQL). ClusteredStorageSysteme5 stellen persistenten Objekt-, Datei- oder Block­­speicher für Stateful Services sowie für Container und Dienste bereit. „Eine Cloud-native Applikation ist ein verteiltes, elastisches und horizontal skalierbares Softwaresystem, welches aus Service- orien­­tierten Komponenten (Diensten) besteht, die Zustände in ei- nem Minimum an zustandsbehafteten Komponenten isolieren. Die Applikation und ihre Komponenten werden gemäß Cloud-spezifi- scher Entwurfsmuster entworfen und auf einer elastischen Platt- form betrieben.“ Definition Referenzmodell Definitionund Erläuterungen CNAEngineering Trends CNA unterscheiden sich damit von „klassischen“ Multi-Tier Appli­ka­­tionen vor allem hin- sichtlich des Grades ihrer Verteilung und ihrer Elastizität. CNA sind elastisch, d.h. sie können ihren Ressourcenbedarf dem zu verarbeitenden Workload (idealerweise vollautomatisch) anpassen, um so das Pay-as-you-go Prinzip und die Kostenassoziativität des Cloud Computing als Kostenvorteil zu nutzen. CNA sind insbesondere für Anwendungen interessant, deren Workload schwer prog­­ nostizierbar ist, deren Nutzung Peak-Loads unterliegt oder für die exponentielles Wachstum angestrebt wird. Prinzipien von CNA: L I D E A Isolated State Um horizontale Skalierbarkeit zu opti­ mie­­ren, versucht man zustandsbehaftete Komponenten und deren Skalierungskom- plexität zu isolieren. Distributed CNAsindverteilteSysteme(web-scale),die aus unabhängig voneinan­der austausch­ baren Diensten komponiert werden. Elastic CNAsindelastisch,d.h.siefordernRessour­ cen (Compute, Storage, Network) abhängig von einer Last an (wenig Last → wenig Res- sourcen, hohe Last → mehr Ressourcen). Die Skalierung erfolgt dabei meist horizon- tal (mehr Ressourcen) und nicht vertikal (stärkere Ressourcen). Automated CNA sollten meist auf automatisierten Plattformen betrieben werden die wenig bis keinen Operatoreingriff erfordern. Loosely coupled Die Dienste rufen sich untereinander idea­ ler­weise nicht direkt auf, sondern inter­ agieren indirekt über entkoppelnde Mes- saging-Lösungen. In Anlehnung an: Fehling, C., Leymann, F., Retter, R., Schupeck, W., Arbitter, P., „Cloud Computing Patterns -Fundamentals to Design, Build, and Manage Cloud Applications“, Springer, 2014 Design for Failure („Everthing fails all the time“): Mittels Resilienz schützen sich Cloud-native Applikationen z.B. per Circuit Breaker vor einer fehlerhaften und langsamen Umgebung. Ein- zelne Serviceausfälle sollten nie die gesamte Cloud-native Applikation beeinträchtigen. Center of Excellence Elastische Plattformen Eine verteilte Middleware zur Ausfüh­­­rung standardisierter Con- tainer. Diese Plattformen dienen der Ressourcen-effizienteren Nutzung und Integration von IaaS Infrastrukturen un- terschiedlicher Cloud Provider. Zustandsisolierung Zustandslose Komponenten sind einfacher horizontal zu skalieren. Zustandsbehaftete Komponenten können nicht vermieden werden. Um Gesamtsysteme einfach skalieren zu können, versucht man Zustände in we- nigen zustandsbehafteten Komponenten zu isolieren, um Skalierungskom- plexität auf diese zu beschränken. Dies erfolgt häufig mittels sogenannter Cloud-native Datenbanken (die von sich aus horizontal skalierbar sind). DevOps Ein auf Deployment Automati­sie­­rung basie- render Ansatz Soft­ware­entwicklung mit dem IT-Be­­trieb agiler zu verschränken. Für eine besse- re Diagnostizierbarkeit werden Logs, Traces und Metriken so zusammengeführt und bereitgestellt, dass sie möglichst zentral analysierbar sind. Container Um Deployments zu standardisie­ ren, werden Komponenten häufig in Form unabhängiger Container bereitge­ stellt. Diese Container umfassen den Code, Laufzeitumgebung, System Biblio- theken und erforderliche Konfiguration. Lose Kopplung Service Komposition kann mittels Events oder Datenkopplung erfolgen. Bei Eventba­­ sierter Kopplung werden häufig Messaging oder Streaming-Systeme eingesetzt. Erfolgt die Kopp- lung datengestützt werden meist Cloud-native Datenbankeneingesetzt(s.a.Zustandsisolierung) 1 Framework Dienste: Apache Spark, Fission, Spring by Pivotal | 2 Messaging und Streaming Dienste: Active MQ, Rabbit MQ, Kafka | 3 Elastische Container Plattformen: Docker, Data- center, Kubernetes, Mesos | 4 Cloud-native Datenbanken: Beispiele für kleiner Zustandsraum + CP: Zookeeper, ETCD • großer Zustandsraum + SQL + CP: Cockroach DB • großer Zu- standsraum + NoSQL (+ AP): Cassandra, MongoDB, CouchDB, neo4j | 5 Clustered Storage Systeme: Ceph, GlustersFS | 6 IaaS Provider: Amazon Web Servies, Google Compute Engine, Microsoft Azure, OpenStack … ­Microservices Microservices sind kleine, unab- hängig voneinander austauschbare und horizontal skalier­bare Dienste für eine klar umrissene fachliche Aufgabe. Micro- services bieten häufig eine REST Schnitt- stelle, die API-getrieben entwickelt wird. Eine CNA wird von Endnutzern als „die Applikation“ empfun- den. Sie setzt sich im Hintergrund aus für den Nutzer nicht mehr direkt sicht­baren Diensten zusammen. App Layer (SaaS) Applikationsspezifischer Dienst A Applikationsspezifischer Dienst B Applikationsspezifischer Dienst C stützen sich auf funktionale Dienste ab.Cloud-native Applikation Service Layer (XaaS) Cluster Layer (PaaS) CNA werden häufig auf elastischen Self-Service-Plattformen betrieben und basieren auf Software-Defined-Infrastruktur Prinzipien. Architekturen von CNA sind meist Service-orientiert und folgen zunehmend der pragmatischen Microservice-Interpretation dieses Ansatzes. CNA Entwicklungsmethodiken beruhen oft auf Cloud-spezifischen Software- entwicklungsmustern und DevOps Ansätzen. (N. Kratzke, P.-C. Quint, Understanding Cloud-native Applications after 10 Years of Cloud Computing, Journal of Software and Systems, 2017) Portierbare (Multi-)Cloud Runtime Enviroment für Container Access management Authentication Auto scaling, Load balancing Health checking, Rolling updating Image registry Registry/service discovery Ressource monitoring Weitere Dienste (Logs, Traces, Metric Consolidation and Analysis, Batchjobs, Service Meshes) Framework Dienste1 ermöglichen eine schnellere Entwicklung App-spezifischer Dienste. Messaging und Streaming Dienste2 ermöglichen lose (Echtzeit-)Kopplung von Diensten. werden auf elastischen Plattformen betrieben.Funktionale Dienste Elastische Container Plattformen3 integrieren IaaS Ressourcen zu einem logischen Cluster. Cloud-native Applikationen (CNA): Softwaresysteme, die explizit für die Cloud entwickelt werden Stateful Services Dienste interagieren hierzu mit anderen Diensten. Diens- te werden mittels standardisierter Deployment Units (z.B. Container) ausgebracht. Stateful Services3 dienen dem Iso- lieren von Zuständen. Container Plattformen stellen elastische Cloud Runtime Enviroments für Dienste und deren Container bereit mit erforderlichen Features wie: Tools (Beispiele) Cloud Application Maturity Level In Anlehnung an: OPEN DATA CENTER ALLIANCE Best Practices: Architecting Cloud- Aware Applications (Rev. 1.0) und Mario-Leander Reimer (QAWare) Level Maturity 3 | Adaptive Cloud Native Applikation skaliert elastisch (lastabhängig) Migration auf andere Infra- strukturen ohne Service Downtime 2 | Abstracted Cloud Resilient Dienste sind stateless Applikation ist designed for failure Applikation ist Infrastruktur agnostisch (runs anywhere) 1 | Loosely Coupled Cloud Friendly Applikation ist aus lose gekoppel- ten Diensten komponiert Dienste sind per Namen adressierbar Applikation berücksichtigt 12-Factor App Prinzipien Applikation trennt Compute und Storage Dienste Applikation basiert auf Compute-, Storage- und Netzwerkdiensten 0 | Virtualized Cloud Ready Applikation läuft auf virtualisierter Infrastruktur Applikation kann automatisiert ausgeprägt werden IT-Probleme lösen. Digitale Zukunft gestalten.