Mit steigendem Bedarf, neue Business-Applikationen in kürzester Zeit auszurollen, erfährt die Softwarearchitektur durch Cloud-Computing, Microservices und Container-Technologie eine der größten Evolutionen der letzten Dekade. Durch Infrastruktur- (IaaS) und Plattform-Services (PaaS) aus der Cloud stehen Docker-basierte Laufzeitumgebungen für Entwicklung und Betrieb neuer Apps im Handumdrehen zur Verfügung. Auf Basis von Microservice-Architektur, REST APIs und modernen Web-Clients stellt Oracle alle notwendigen Cloud Services zur Verfügung.
Diese Präsentation erläutert die Architekturkonzepte Cloud-nativer Anwendungen und stellt mittels Oracle Cloud Services die Implementierung inkl. der dazu notwendigen Werkzeuge vor. Relevante betriebliche Aspekte wie Security, Monitoring und Skalierbarkeit werden ebenso beleuchtet wie organisatorische Rahmenbedingungen. Eine Demo, Best Practices und ein Ausblick der aktuellen Cloud-Entwicklungen runden den Vortrag ab.
2. ÜBER MICH
Consultant, Trainer, Architect
10+ Jahre Berufserfahrung
Certified Professional for Software Architecture
Professional Scrum Master
Oracle ACE Director
Community
DOAG, ADF EMG, ADF German Community, Google Plus,
GitHub, Twitter @andreaskoop @enpit
Blogger
Technical (en) - http://multikoop.blogspot.com
new Technical (en) - https://medium.com/enpit-developer-blog
News - http://www.enpit.de/blog
2
www.scope-alliance.de
Andreas Koop
5. DOAG 2016, Nürnberg, Andreas Koop
AGENDA
Was heißt „Cloud-native“?
Architektur & Implementierungen
Demo
Fazit & Ausblick
5
6. DOAG 2016, Nürnberg, Andreas Koop
WAS IST CLOUD-NATIVE ?
6
„Traditionell“ „Cloud-Native“
- Monolithisch, „Schichtenarchitektur“
- 3 Releases / Jahr
- 1 Programmiersprache / Version
- Abhängig von App Server
- API als Implementierungsschnittstelle
- Enge Bindung von UI / Backend
- 1 großes Team
- Dev <-> Ops
- Microservice basiert, Vertikalen, SCS
- Releases alle 2 Wochen oder öfter
(Continuously)
- n Programmiersprachen / m Version
- Meist in Containern paketiert
- API als Service- / UI-Schnittstelle
- Lose Kopplung von UI / App / Backend
- n Pizza- / Agile-Teams
- DevOps
7. DOAG 2016, Nürnberg, Andreas Koop
WARUM CLOUD NATIVE?
AUS BUSINESS PERSPEKTIVE
7
KostenoptimierungAgilitätSpeed
Digitalisierung /
Neue Geschäftsmodelle
Kontinuierliche
UX- Verbesserung
erwartet
Service,
nicht Produkt
„pay per execution“„Continuous Innovation“
9. DOAG 2016, Nürnberg, Andreas Koop
WAS BRAUCHT MAN ALLES?
9
12factor und mehr
API First
Microservices
Security
Dependencies
Configuration
Resilienz
Build, Release, Run
1 or more stateless processes
Cloud / Container Infrastruktur
Skalierbarkeit
Fast startup, gracefull shutdown
Dev / Prod Parity
Monitoring
CI, CD, DevOps, NoOps
API Gateway
User Interface
Storage State
11. DOAG 2016, Nürnberg, Andreas Koop
AGENDA
Was heißt „Cloud-native“?
Architektur & Implementierungen
Demo
Fazit & Ausblick
11
12. DOAG 2016, Nürnberg, Andreas Koop 12
Präsentation
UI Logik
Datenschicht / ESB
Business Logik
API Layer More
APIs
ServerClient
Services
MODERN, CLOUD
WEB APP ARCHITECTURE
13. DOAG 2016, Nürnberg, Andreas Koop
µS
UI
µS
UI
µS
+ Service Discovery
+ Configuration Management
+ Skalierung
+ Monitoring
+ …
Load Balancer
API Platform
Data Oracle DB, MySQL, NoSQL, etc..
Polyglot if needed,
Business ServicesIntegration
Legacy
REST Services
Developer Portal
IaaS / Container Management
14. DOAG 2016, Nürnberg, Andreas Koop
CORE SERVICES FÜR
CLOUD-NATIVE APPS
14
Developer Cloud Service -
Codebase / Agility / Code Reviews / CI / CD
Container Cloud -
Container Management
& Orchestration
Infrastructure as a Service
Application Container Cloud Service
-
„Microservices“ - Java / Node.JS, PHP, etc.
API Platform
-
Manage APIs, …
not yet available
15. DOAG 2016, Nürnberg, Andreas Koop 15
APPLICATION
CONTAINER
Load Balancer
Docker
Java SE
App
Docker
Node.js
App
Docker
<Tech-X>
App
Docker
Java SE
App
Docker
Node.js
App
Docker
<Tech-X>
App
DBCS MySQL
CLOUD
SERVICE
NoSQL …
… …
16. DOAG 2016, Nürnberg, Andreas Koop
AGENDA
Was heißt „Cloud-native“?
Architektur & Implementierungen
Demo
Fazit & Ausblick
16
17. DOAG 2016, Nürnberg, Andreas Koop
BUILD, DEPLOY, RUN, SCALE
17
Docker
Java SE
App
ACCSDevCS
Build
Deploy on Demand
31. DOAG 2016, Nürnberg, Andreas Koop 31
DAS TEMPO ZUR BEREITSTELLUNG
VON SYSTEMEN ÄNDERT SICH
SEKUNDEN, STATT WOCHEN!
32. DOAG 2016, Nürnberg, Andreas Koop 32
ABO STATT LIZENZ
SKALIERBARKEIT NACH BEDARF
„PER-EXECUTION“ KOSTEN
SERVICE STATT PRODUKT
33. DOAG 2016, Nürnberg, Andreas Koop 33
TECHNOLOGIE IM DETAIL SPIELT
EINE UNTERGEORDNETE ROLLE
SQL / NOSQL / ..
JAVA /JAVASCRIPT / PHP / RUBY / ..
JSON / XML / CSV / ..
FOKUS AUF
CONTAINER, REST, API, LIGHTWEIGHT UI !
34. DOAG 2016, Nürnberg, Andreas Koop 34
Architektur und Schnittstellen ändern sich
- kein kanonisches Datenmodell
- keine Integration über die Datenbank
Stattdessen
- „Shared Nothing“
- Messaging
- „CQRS“
35. DOAG 2016, Nürnberg, Andreas Koop
ZUSAMMENFASSUNG & FAZIT
‣ Cloud-native macht Spaß, ist schnell. Komplexität
entsteht im Wirkungsgefüge von Microservices
‣ Standardisieren, trotz Polyglottie-Freiheit
‣ Verbreitung von „Serverless“ Konzepten
„Event-Driven“, „Pay-per-Execution“, Auto-Scaling
‣ new: Oracle Container Cloud Service
‣ coming soon?: Oracle Function Cloud Service
35