37
CLOUD-NATIVE APPS - ARCHITEKTUR, IMPLEMENTIERUNG, DEMO DOAG 2016, Nürnberg Andreas Koop

Cloud-native Apps - Architektur, Implementierung, Demo

Embed Size (px)

Citation preview

Page 1: Cloud-native Apps - Architektur, Implementierung, Demo

CLOUD-NATIVE APPS - ARCHITEKTUR, IMPLEMENTIERUNG, DEMO

DOAG 2016, Nürnberg

Andreas Koop

Page 2: Cloud-native Apps - Architektur, Implementierung, Demo

Ü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

Page 3: Cloud-native Apps - Architektur, Implementierung, Demo

ÜBER ENPIT

Digitalisierung

IT-Strategie

Team-Enabling

Agilität

Technologie

enable pragmatic itenterprise

Page 4: Cloud-native Apps - Architektur, Implementierung, Demo

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

Page 5: Cloud-native Apps - Architektur, Implementierung, Demo

DOAG 2016, Nürnberg, Andreas Koop

AGENDA

Was heißt „Cloud-native“?

Architektur & Implementierungen

Demo

Fazit & Ausblick

5

Page 6: Cloud-native Apps - Architektur, Implementierung, Demo

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

Page 7: Cloud-native Apps - Architektur, Implementierung, Demo

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“

Page 8: Cloud-native Apps - Architektur, Implementierung, Demo

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

Page 9: Cloud-native Apps - Architektur, Implementierung, Demo

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

Page 10: Cloud-native Apps - Architektur, Implementierung, Demo

DOAG 2016, Nürnberg, Andreas Koop 10

Page 11: Cloud-native Apps - Architektur, Implementierung, Demo

DOAG 2016, Nürnberg, Andreas Koop

AGENDA

Was heißt „Cloud-native“?

Architektur & Implementierungen

Demo

Fazit & Ausblick

11

Page 12: Cloud-native Apps - Architektur, Implementierung, Demo

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

Page 13: Cloud-native Apps - Architektur, Implementierung, Demo

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

Page 14: Cloud-native Apps - Architektur, Implementierung, Demo

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

Page 15: Cloud-native Apps - Architektur, Implementierung, Demo

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 …

… …

Page 16: Cloud-native Apps - Architektur, Implementierung, Demo

DOAG 2016, Nürnberg, Andreas Koop

AGENDA

Was heißt „Cloud-native“?

Architektur & Implementierungen

Demo

Fazit & Ausblick

16

Page 17: Cloud-native Apps - Architektur, Implementierung, Demo

DOAG 2016, Nürnberg, Andreas Koop

BUILD, DEPLOY, RUN, SCALE

17

Docker

Java SE App

ACCS

DevC

S Build

Deploy on Demand

Page 18: Cloud-native Apps - Architektur, Implementierung, Demo

DOAG 2016, Nürnberg, Andreas Koop

REGISTER NODE APP

18

Page 19: Cloud-native Apps - Architektur, Implementierung, Demo

DOAG 2016, Nürnberg, Andreas Koop

REGISTER JAVA APP

19

Page 20: Cloud-native Apps - Architektur, Implementierung, Demo

DOAG 2016, Nürnberg, Andreas Koop

JAVA SE - EMBEDDED TOMCAT

20

Page 21: Cloud-native Apps - Architektur, Implementierung, Demo

DOAG 2016, Nürnberg, Andreas Koop 21

Page 22: Cloud-native Apps - Architektur, Implementierung, Demo

DOAG 2016, Nürnberg, Andreas Koop

SERVICE BINDING

22

Page 23: Cloud-native Apps - Architektur, Implementierung, Demo

DOAG 2016, Nürnberg, Andreas Koop

LOGS

23

Page 24: Cloud-native Apps - Architektur, Implementierung, Demo

DOAG 2016, Nürnberg, Andreas Koop

CONNECTION TO DBCS

24

Page 25: Cloud-native Apps - Architektur, Implementierung, Demo

DOAG 2016, Nürnberg, Andreas Koop

SAMPLE: REST SERVICE

25

Page 26: Cloud-native Apps - Architektur, Implementierung, Demo

DOAG 2016, Nürnberg, Andreas Koop

OVERVIEW - SCALE UP / DOWN

26

Page 27: Cloud-native Apps - Architektur, Implementierung, Demo

DOAG 2016, Nürnberg, Andreas Koop

AGENDA

Was heißt „Cloud-native“?

Architektur & Implementierungen

Demo

Fazit & Ausblick

27

Page 28: Cloud-native Apps - Architektur, Implementierung, Demo

Andreas Koop 28

DEMO

Page 29: Cloud-native Apps - Architektur, Implementierung, Demo

DOAG 2016, Nürnberg, Andreas Koop

AGENDA

Was heißt „Cloud-native“?

Architektur & Implementierungen

Demo

Fazit & Ausblick

29

Page 30: Cloud-native Apps - Architektur, Implementierung, Demo

DOAG 2016, Nürnberg, Andreas Koop 30

FAZIT

Page 31: Cloud-native Apps - Architektur, Implementierung, Demo

DOAG 2016, Nürnberg, Andreas Koop 31

DAS TEMPO ZUR BEREITSTELLUNG VON SYSTEMEN ÄNDERT SICH

SEKUNDEN, STATT WOCHEN!

Page 32: Cloud-native Apps - Architektur, Implementierung, Demo

DOAG 2016, Nürnberg, Andreas Koop 32

ABO STATT LIZENZ

SKALIERBARKEIT NACH BEDARF

„PER-EXECUTION“ KOSTEN

SERVICE STATT PRODUKT

Page 33: Cloud-native Apps - Architektur, Implementierung, Demo

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 !

Page 34: Cloud-native Apps - Architektur, Implementierung, Demo

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“

Page 35: Cloud-native Apps - Architektur, Implementierung, Demo

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

Page 36: Cloud-native Apps - Architektur, Implementierung, Demo

VIELEN DANK FÜR IHRE AUFMERKSAMKEIT

HABEN SIE NOCH FRAGEN?

Page 37: Cloud-native Apps - Architektur, Implementierung, Demo