Upload
others
View
7
Download
0
Embed Size (px)
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