Cloud Native Applications Chance oder Risiko · 1 / 46 Cloud Native Applications Chance oder Risiko...

Preview:

Citation preview

1 / 46

Cloud Native ApplicationsChance oder Risiko ?

Burkhard Noltensmeier Geschäftsführer, teuto.net Netzdienste GmbH

2 / 46

Agenda

● Wohin geht die Reise ?● Vision● Buzzword Bingo● Platform as a Service● Fragen / Diskussion

3 / 46

Tipping Point!

4 / 46

The World’s First 1.000 Processor Chip

● Vorgestellt: 19 Juni 2016● einzeln programmierbar● 0,7 Watt(!)

5 / 46

Wohin geht die Reise?

● Mehr Daten!● Befeuert durch Megatrends:

– Internet of Things– API Economy– Deep Learning / Neuronale Netzwerke

6 / 46

Produkte aus der Cloud: SaaS

● End Customer– Connected Car / Autonomous Driving– Sprachinterface: Amazon Echo

● B2B – Salesforce– Google Docs

7 / 46

Openstack to Rescue?

● Hypecyle ist auf dem Höhepunkt – Reality kicks in!● Wo ist der Value?● Keep it simple: Spezialisierung!

– Infrastructure as a Service– Baremetal

8 / 46

Infrastructure Software is Dead

„Everybody’s OpenStack software is equally bad. It’s also as bad as all the other infrastructure software out there – … , you name it. „– Boris Renski, 15.6.2016 Mirantis– https://www.mirantis.com/blog/infrastructure-software-is-dead/

9 / 46

Developer brauchen Unterstützung

● Müssen komplexe vernetzte Anwendungen erstellen● Automation Build, Test, Deploy von (Cloud Native)

Anwendungen● Skalierung und Ausfallsicherheit

10 / 46

Die aktuelle Situation

● Server/Virtuelle Maschine als kleinste Einheit● traditionelle Anwendungen gehen von einer ständigen

Verfügbarkeit der Server aus● Server/VMs teilweise überlastet, teilweise nicht ausgelastet● Schwierig zu automatisieren

11 / 46

Was ist die Vision?

● Software Entwicklung ohne Abhängigkeiten● Schnelle Updatezyklen● Anwendung skaliert „von selbst“● Anwendung heilt sich selbst● Hybrid Cloud Lastverschiebung

12 / 46

Buzzword Bingo

● Cloud Native● Container● Microservice● PaaS (Platform as a Service)

13 / 46

Cloud Native

● 12 factor app● Distributed● Failure expected● Autoscaling

14 / 46

Container

● Immutable Infrastructure● Löst das „Dependency Hell“ Problem● Build Local, Deploy Global● Open Container Initiative● Alternative Implementierungen : Rocket „rkt“

15 / 46

Microservice

● Anwendung wird in kleine Teile „geschnitten“● Rest API zur Kopplung der Services● Reduzierung von Abhängigkeiten:

– Unabhängig zu deployen– Unabhängig zu entwickeln

16 / 46

Herausforderungen durch Microservices

● Mitarbeiter mitnehmen● Höhere Komplexität

– z.b. Abhängigkeiten in den Rest APIs– Authentication / Authorization

17 / 46

Nutzen durch Microservices

● Schnelle Entwicklung durch parallele Teams● Das beste Tool für das Problem

18 / 46

(Rest) API Dokumentation

● Open API Initiative aka „Swagger“– Top Down: generate code from documentation– Bottom Up: generate documentation from Code– Language agnostic(!)

● Vorteil: Kunde kann die API anhand der Dokumentation verstehen und benutzen

19 / 46

20 / 46

Herausforderung: layered Microservices

21 / 46

Authentication

● SSO Auth2 / Open ID Connect

OIDC

User / Browser

WebPortal REST Service

(1)

(2)

(3)

(4)

(5)

(6)

OpenID Connect / Oauth2

22 / 46

Erwartungen an eine PaaS

● Polyglott● Vorgefertigte Services „Building Blocks“● Sicherheit in der Plattform● Scaling + Routing● Monitoring

23 / 46

Differenzierungsmerkmale PaaS

● Entwicklungsgeschwindigkeit / ommunity Size● Operational complexity● Updatefähigkeit/Maintenance● Service Building Blocks z.b. SQL, Hadoop, Cassanda● On Premise / On Laptop

24 / 46

„On Premise“ Paas

● Prä Docker Ära– Cloud Foundry– Apache Mesos

● Native Docker– Kubernetes– Docker Swarm

25 / 46

Cloud Foundry

● Entwickelt von Pivotal, 2012 EMC spin off● Full lifecylcle Support● Installierbare Services: SQL, MongoDB, Redis, Cassandra etc,● Komplexes deployment / operating

26 / 46

Mesos

● Developed at University of California, Berkely 2009– efficient resource isolation and sharing across distributed

applications, or frameworks

● Mesosphere entwickelt Data Center Operation System– DCOS opensource 2016– Services für DCOS: Hadoop, Cassandra, Kubernetes

27 / 46

Mesos

● Pro: – Effizientes Resource Management– z.b. lokales Festplatten Management

● Contra: – Complex– Big Failure Domain

28 / 46

Docker Swarm

● Guter Entwickler Support● (zu) Einfach zu nutzen● Fehlende Features:

– Autoscaling– Namespaces

29 / 46

Kubernetes

● Version 1.0 Juli 2015 von Google● Cloud Native Computing Foundation (CNCF.io)● einfach, jedoch nicht zu einfach

30 / 46

Kubernetes

● Strukturierung durch Pods, Labels, Services● Operational Features Autscaling etc.● Aktuell noch kein local Storage management

31 / 46

Docker Swam vs. Kubernetes

http://blog.octo.com/docker-en-production-la-bataille-sanglante-des-orchestrateurs-de-conteneurs/

32 / 46

Google Trend

33 / 46

Stackoverflow

34 / 46

Github Activity

35 / 46

Kubernetes in Deutschland

● Fujitsu in München entwickelt Dashboard ● Soundcloud aus Berlin entwickelt Monitoring

„Prometheus.io“● Zalanondo entwickelt Postgresql Service „patroni“● BMW entscheidet sich für Openshift/Kubernetes als

Strategische Plattform

36 / 46

Kubernetes Vendor Support

● OpenShift 3 von Redhat● Tektonic von Coreos

37 / 46

Vanilla Kubernetes Deloyment

● Ansible ● Flexibel

– AWS, Openstack, Baremetal

● https://docs.kubespray.io

38 / 46

Ausblick: Kubernetes 1.3

● PetSet für Stateful Application● Ubernetes Federated Cluser● Rkt Container● OIDC● https://coreos.com/blog/kubernetes-v1.3-preview.html

39 / 46

Hybrid Cloud: Ubernetes

● Ubernetes stellt eine Control Plane oberhalb eines einzelnen Kubernetes Clusters zur Verfügung.

● Gemeinsame Verwaltung von Kubernetes Clustern bei verschiedenen Cloud Providern bzw. Bare Metal

● In Zukunft dynamisches Scaling und Lastverschiebung möglich

40 / 46

Networking / Storage

● Networking mit Policy Enforcement– „Canal“ von tigera.io– Romana.io

● Persistent Storage : CoreOS: „Torus“● Big Data: pachyderm.io

41 / 46

Sicherheit

● Container auf Hypervisor– z.b. rkt lkvm oder hypernetes

● Network Isolation auf Services-Ebene● Intrusion Detection

42 / 46

Beispiel Saas: IoT teuto.net

43 / 46

Gitlab

● Integrierte Docker Registry● Integriertes CI mit Kubernetes anbindung● Flexible CI Pipeline

44 / 46

45 / 46

Cloud Native: Vom Metal zu Anwendung

● Ubuntu MaaS● Ansible Orchestration● Openstack IaaS● Kubernetes PaaS● Gitlab CI

46 / 46

Recommended