Post on 11-Jan-2017
CLOUD-NATIVE APPS - ARCHITEKTUR, IMPLEMENTIERUNG, DEMO
DOAG 2016, Nürnberg
Andreas Koop
ÜBER MICH
Consultant, Trainer, Architect 10+ Jahre BerufserfahrungCertified Professional for Software ArchitectureProfessional Scrum MasterOracle ACE DirectorCommunity DOAG, ADF EMG, ADF German Community, Google Plus,GitHub, Twitter @andreaskoop @enpitBloggerTechnical (en) - http://multikoop.blogspot.comnew Technical (en) - https://medium.com/enpit-developer-blogNews - http://www.enpit.de/blog
2
www.scope-alliance.de
Andreas Koop
ÜBER ENPIT
Digitalisierung
IT-Strategie
Team-Enabling
Agilität
Technologie
enable pragmatic itenterprise
Paderborn, 14.02.2014
DATEN UND FAKTEN
4
‣ Gründung: 07/2012Teamgröße: 7Unternehmenssitz: Paderborn
‣ Partnerschaften: Oracle, Scope Alliance
‣ Beratung, Training, Innovationsmanagement, Development
‣ Branchen: Öffentliche Verwaltung, Banking, Automotive
DOAG 2016, Nürnberg, Andreas Koop
AGENDA
Was heißt „Cloud-native“?
Architektur & Implementierungen
Demo
Fazit & Ausblick
5
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
DOAG 2016, Nürnberg, Andreas Koop
WARUM CLOUD NATIVE? AUS BUSINESS PERSPEKTIVE
7
KostenoptimierungAgilitätSpeed
Digitalisierung / Neue Geschäftsmodelle
KontinuierlicheUX- Verbesserung
erwartet
Service,nicht Produkt
„pay per execution“„Continuous Innovation“
DOAG 2016, Nürnberg, Andreas Koop
BEISPIEL
8
ProduktkatalogWarenkorb
Warenkorb
Warenkorb
Bewertung / ReviewBewertung / Review
Bewertung / Review
Team: Warenkorb /
CheckoutTeam: Produktkatalog / Website
Team: Bewertungssystem
Team: Mobile
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
DOAG 2016, Nürnberg, Andreas Koop 10
DOAG 2016, Nürnberg, Andreas Koop
AGENDA
Was heißt „Cloud-native“?
Architektur & Implementierungen
Demo
Fazit & Ausblick
11
DOAG 2016, Nürnberg, Andreas Koop 12
PräsentationUI Logik
Datenschicht / ESB
Business Logik
API Layer More APIs
Serv
erCl
ient
Services
MODERN, CLOUD WEB APP ARCHITECTURE
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 Services Integration
Legacy
REST ServicesDeveloper Portal
IaaS / Container Management
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
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 …
… …
DOAG 2016, Nürnberg, Andreas Koop
AGENDA
Was heißt „Cloud-native“?
Architektur & Implementierungen
Demo
Fazit & Ausblick
16
DOAG 2016, Nürnberg, Andreas Koop
BUILD, DEPLOY, RUN, SCALE
17
Docker
Java SE App
ACCS
DevC
S Build
Deploy on Demand
DOAG 2016, Nürnberg, Andreas Koop
REGISTER NODE APP
18
DOAG 2016, Nürnberg, Andreas Koop
REGISTER JAVA APP
19
DOAG 2016, Nürnberg, Andreas Koop
JAVA SE - EMBEDDED TOMCAT
20
DOAG 2016, Nürnberg, Andreas Koop 21
DOAG 2016, Nürnberg, Andreas Koop
SERVICE BINDING
22
DOAG 2016, Nürnberg, Andreas Koop
LOGS
23
DOAG 2016, Nürnberg, Andreas Koop
CONNECTION TO DBCS
24
DOAG 2016, Nürnberg, Andreas Koop
SAMPLE: REST SERVICE
25
DOAG 2016, Nürnberg, Andreas Koop
OVERVIEW - SCALE UP / DOWN
26
DOAG 2016, Nürnberg, Andreas Koop
AGENDA
Was heißt „Cloud-native“?
Architektur & Implementierungen
Demo
Fazit & Ausblick
27
Andreas Koop 28
DEMO
DOAG 2016, Nürnberg, Andreas Koop
AGENDA
Was heißt „Cloud-native“?
Architektur & Implementierungen
Demo
Fazit & Ausblick
29
DOAG 2016, Nürnberg, Andreas Koop 30
FAZIT
DOAG 2016, Nürnberg, Andreas Koop 31
DAS TEMPO ZUR BEREITSTELLUNG VON SYSTEMEN ÄNDERT SICH
SEKUNDEN, STATT WOCHEN!
DOAG 2016, Nürnberg, Andreas Koop 32
ABO STATT LIZENZ
SKALIERBARKEIT NACH BEDARF
„PER-EXECUTION“ KOSTEN
SERVICE STATT PRODUKT
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 !
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“
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
VIELEN DANK FÜR IHRE AUFMERKSAMKEIT
HABEN SIE NOCH FRAGEN?