„Cloud is the new Normal”, so Andrew R. Jassy (CIO AWS). Was also liegt näher, als genau jetzt den Schritt in die Cloud zu wagen? Denn schließlich wollen wir ja alle irgendwie ein klein wenig „normal“ sein. Aber ist dieser Schritt wirklich so einfach, wie uns die verschiedenen Cloudanbieter glauben machen? Lässt sich eine klassische Enterprise-Architektur einfach so in die Cloud überführen oder bedarf es neuer cloud-spezifischer Architekturmuster? Und was steckt eigentlich hinter Akronymen wie IaaS, PaaS, BaaS, SaaS und FaaS?
Im Rahmen der Session werden ich Schritt für Schritt eine bestehende Enterprise-Anwendung in die Cloud migrieren. Angefangen bei der Nutzung von Cloudinfrastruktur (IaaS) über die Anbindung von Cloudplattformkomponenten (PaaS) und Backend-Services (BaaS) bis hin zu Serverless Functions (FaaS) werden wir für die unterschiedlichen Anwendungsszenarien unserer Applikation passende Architekturansätze entwerfen und deren Vor- und Nachteile diskutieren. Natürlich sprechen wir dabei auch Themen wie Testing, Monitoring und automatisiertes Deployment an.
2. DISCLAIMER
By cloud, we mean any computing environment
in which computing, networking, and storage
resources can be provisioned and released
elastically in an on-demand, self-service
manner.*
“
* public and private/cooperate cloud Infrastructure
(Matt Stine, CTO Software Architecture, Pivotal.)
6. From idea to App
The biggest advantage of a cloud(-native)
architecture is that it takes you from idea
to app in the quikest possible time.
“
(Pavan Belagatti, Groth Marketing Manager, jfrog)
21. Road to the Cloud
Running applications on the cloud is not a
binary decision. You don‘t just move to the
cloud and call it a day.
“
(Paul Fremantle, CTO, WSO2)
22. Systems for the Cloud
For systems behave well on the cloud,
they need to be written for the cloud.*
“
(Paul Fremantle, CTO, WSO2)
* Applications vs. Software-as-a-Service
23. … or here?
Cloud Friendly
… or maybe here!
Cloud Native
… or maybe here ..
Cloud ready
But you want to be here …
Cloud Resilient
00
01
02
03
04
You are here …
On Premise
Das „Cloud Maturity“ Model
24. aka “repeatable”
Cloud Friendly
aka “architecture”
Cloud Native
aka “lift & shift”
Cloud ready
aka ”self-healing”
Cloud Resilient
00
01
02
03
04
You are here …
On Premise
Das „Cloud Maturity“ Model
26. 00
01
02
03
04
No-Cloud
aka „WTF“
keine zentrale IT Governance
keine zentrale IT Innovationsstrategie
getrennte Entwicklungs- und Operation-Teams
Legacy Anwendungen von Client-Server
bis 3-Tier laufen auf „bare metal“
kaum bis keine Automatisierung
*WTF = waste the future
27. Die 6 Cloud-Versprechen
1. einfacheres Management
2. schnellere Releases
3. verbesserte Kosteneffizienz
4. mehr Zuverlässigkeit/Sicherheit
5. beliebige Skalierbarkeit
6. besseres Kundenerlebnis
BTW: keine Lock-In Effekte mehr*
42. Eine Codebase
Explizite Abhängigkeiten
Konfiguration via EnvVars
Unterstützende Dienste
Build, Release, Run
Stateless Prozesse
Bindung an Ports
Nebenläufigkeit
Elastizität & Verfügbarkeit
Dev-Prod Vergleichbarkeit
Logs als Streams
Admin-Prozesse
VII.
VIII.
IX.
X.
XI.
XII.
I.
II.
III.
IV.
V.
VI.
43. Eine Codebase
Explizite Abhängigkeiten
Konfiguration via EnvVars
Unterstützende Dienste
Build, Release, Run
Stateless Prozesse
Bindung an Ports
Nebenläufigkeit
Elastizität & Verfügbarkeit
Dev-Prod Vergleichbarkeit
Logs als Streams
Admin-Prozesse
VII.
VIII.
IX.
X.
XI.
XII.
I.
II.
III.
IV.
V.
VI.
APP
DESIGN
MANAGE
BUILD &
RELEASE
54. Ensure fault tolerance
Build without taking steps to ensure fault
tolerance, 30 dependencies each with 99.99%
uptime would result in 2+ hours downtime per
month.
“
(netflix Techblog)
78. Mut und Willen zur Veränderung
Technologie
• fachliches Splitten der Monolithen
• fachliches Splitten der Daten
• Einführung von Containerisierung
• leichtgewichtige Prozesse*
*Choreographie wenn möglich, Orchestrierung wenn nötig
79. Mut und Willen zur Veränderung
Organisation
• Einführung Business Capability Teams
• Einführung Platform Operation Team
80. Mut und Willen zur Veränderung
Kultur
• DevOps vs Silos
• Continuous Delivery vs Releases
• Autonomie vs Governance*
• Fault Tolerant vs Static Systems
*gilt für Micro Architektur, nicht für Marco Architektur