SlideShare una empresa de Scribd logo
1 de 29
Descargar para leer sin conexión
| ContainerConf 2016 | A Hitchhiker’s Guide to the Cloud Native Stack | @LeanderReimer #cloudnativenerd #qaware
A
HITCHHIKER’S
GUIDE TO THE
CLOUD NATIVE
STACK
1
| ContainerConf 2016 | A Hitchhiker’s Guide to the Cloud Native Stack | @LeanderReimer #cloudnativenerd #qaware
Let’s talk about Cloud Native Applications
2
CONTINUOUS

DELIVERY & DEVOPS
ANTIFRAGILITY
HYPERSCALE 

TRAFFIC, DATA, FEATURES
OPEX SAVINGS

(automation & utilization)
CLOUD NATIVE APPLICATIONS
DISRUPTINDUSTRIALIZE
| ContainerConf 2016 | A Hitchhiker’s Guide to the Cloud Native Stack | @LeanderReimer #cloudnativenerd #qaware
Design Prinzipien Cloud-nativer Anwendungen
• Design for Performance: responsive; concurrency; efficiency.
• Design for Automation: automate dev tasks & ops tasks.
• Design for Resiliency: fault-tolerant; self-healing.
• Design for Elasticity: dynamically scale; be reactive.
• Design for Delivery: short roundtrips; automated delivery.
• Design for Diagnosability: cluster-wide logs, traces, metrics.
4
| ContainerConf 2016 | A Hitchhiker’s Guide to the Cloud Native Stack | @LeanderReimer #cloudnativenerd #qaware
Maturity Model Cloud-nativer Anwendungen
5
https://www.opendatacenteralliance.org/docs/architecting_cloud_aware_applications.pdf
Level 0: Virtualized
Level 1: Loosely Coupled
Level 2: Abstracted
Level 3: Adaptive
Cloud Native
- Skaliert elastisch abhängig von Stimuli.
- Dynamische Migration auf andere Infrastruktur

ohne eine Service Downtime.
Cloud Resilient
- Fehler-tolerant und resilient entworfen.
- Metriken und Monitoring eingebaut.
- Runs anywhere. Infrastruktur agnostisch.
Cloud Friendly
- Besteht aus lose gekoppelten Diensten.
- Dienste können über Namen gefunden werden.
- 12-Factor App Principles.
Cloud Ready
- Keine Anforderungen an das Datei-System.
- Läuft auf virtualisierter Hardware.
- Self-contained, kann als Image ausgeführt werden.
| ContainerConf 2016 | A Hitchhiker’s Guide to the Cloud Native Stack | @LeanderReimer #cloudnativenerd #qaware
Die Anatomie des Cloud Native Stack
6
Application Platform Cloud Native App
Cluster Orchestrator Applications
Cluster Scheduler Containers
Cluster Virtualization Resources
Cluster Operating System
Entkoppelt
von physischer
Hardware.
Verwaltet
Ressourcen für
die Ausführung
von Containern
Führt
Applikationen
auf dem
Cluster aus.
Stellt Ablauf-
Umgebung und
APIs für Apps
bereit.
| ContainerConf 2016 | A Hitchhiker’s Guide to the Cloud Native Stack | @LeanderReimer #cloudnativenerd #qaware
Cloud Native Stack mit Spring Cloud und DC/OS
8
Application Platform Cloud Native App
Cluster Orchestrator Applications
Cluster Scheduler Containers
Cluster Virtualization Resources
| ContainerConf 2016 | A Hitchhiker’s Guide to the Cloud Native Stack | @LeanderReimer #cloudnativenerd #qaware
Cloud Native Stack mit Spring Cloud und K8S.
9
Application Platform Cloud Native App
Cluster Orchestrator Applications
Cluster Scheduler Containers
Cluster Virtualization Resources
| ContainerConf 2016 | A Hitchhiker’s Guide to the Cloud Native Stack | @LeanderReimer #cloudnativenerd #qaware
Orchestration
Composition
Die 4 Schritte zur Cloud-nativen Anwendung
1. MICROSERVICES
2. CONTAINERIZATION
3. COMPOSITION
4. ORCHESTRATION
10
Containerization
Microservices
docker
compose
| ContainerConf 2016 | A Hitchhiker’s Guide to the Cloud Native Stack | @LeanderReimer #cloudnativenerd #qaware
MICROSERVICES
11
| ContainerConf 2016 | A Hitchhiker’s Guide to the Cloud Native Stack | @LeanderReimer #cloudnativenerd #qaware
Zwitscher Microservice in 5 Minuten
12
Zwitscher
Controller
Zwitscher
Repository
/tweets
ZwitscherServiceApp
search(…)
| ContainerConf 2016 | A Hitchhiker’s Guide to the Cloud Native Stack | @LeanderReimer #cloudnativenerd #qaware
CONTAINERIZATION
13
| ContainerConf 2016 | A Hitchhiker’s Guide to the Cloud Native Stack | @LeanderReimer #cloudnativenerd #qaware
$ docker build -t zwitscher-service:1.0.1 .
$ docker run --name zwitscher-service -d 
-p 8080:8080 zwitscher-service:1.0.1
$ docker tag zwitscher-service:1.0.1 hitchhikersguide/zwitscher-service:latest
$ docker push hitchhikersguide/zwitscher-service
Der Containerization Workflow mit Docker
14
3. Tag & Push
2. Run
Dockerfile
1. Build
| ContainerConf 2016 | A Hitchhiker’s Guide to the Cloud Native Stack | @LeanderReimer #cloudnativenerd #qaware
Beispiel Dockerfile für Zwitscher Service
15
FROM qaware/alpine-k8s-ibmjava8:8.0-3.10

MAINTAINER QAware GmbH <qaware-oss@qaware.de>



RUN mkdir -p /app



COPY build/libs/zwitscher-service-1.0.1.jar /app/zwitscher-service.jar

COPY src/main/docker/zwitscher-service.conf /app/



EXPOSE 8080

CMD /app/zwitscher-service.jar
| ContainerConf 2016 | A Hitchhiker’s Guide to the Cloud Native Stack | @LeanderReimer #cloudnativenerd #qaware
Wichtige Tips für den Umgang mit Docker
• Kenne dein Base-Image! Auf die Größe kommt es an.
• Ein Docker Build muss wiederholbar sein.
• Jeder RUN Befehl erzeugt ein Layer. Nutze Mehrfachbefehle!
• Entferne temporäre Dateien.
• Veröffentliche wichtige Ports mit EXPOSE.
• Definiere Umgebungs-Variablen für wichtige Parameter.
• Nutze ein Image für alle Umgebungen.
• Versioniere deine Images.
• Verwende Tools zur QS von Dockerfiles und Images.
16
| ContainerConf 2016 | A Hitchhiker’s Guide to the Cloud Native Stack | @LeanderReimer #cloudnativenerd #qaware
COMPOSITION
17
| ContainerConf 2016 | A Hitchhiker’s Guide to the Cloud Native Stack | @LeanderReimer #cloudnativenerd #qaware18
Cluster-weite
Konfiguration und
Konsensus
Überwachung und
Fehler-Diagnose
Geregelter Zugriff 

auf Service 

Endpoints von Außen
Registrierung und
Suche von Service
Endpoints
Laufzeit-Umgebung
für Service Endpoints
Resistenter Aufruf
von anderen
Service Endpoints
| ContainerConf 2016 | A Hitchhiker’s Guide to the Cloud Native Stack | @LeanderReimer #cloudnativenerd #qaware19
Zwitscher
Controller
Zwitscher
Repository
/tweets
ZwitscherServiceApp
/zwitscher-service/*
Discovery
Configure
Actuator
/admin/health
Register
Read
K/V
Get Services
| ContainerConf 2016 | A Hitchhiker’s Guide to the Cloud Native Stack | @LeanderReimer #cloudnativenerd #qaware
Beispiel docker-compose.yml
20
version: '2'
services:
zwitscher-consul:
...
zwitscher-traefik:
...
zwitscher-service:
image: hitchhikersguide/zwitscher-service:1.0.1
environment:
- CONSUL_HOST=zwitscher-consul
- CONSUL_PORT=8500
- TWITTER_APP_ID=${TWITTER_APP_ID}
- TWITTER_APP_SECRET=${TWITTER_APP_SECRET}
depends_on:
- zwitscher-consul
links:
- zwitscher-consul
ports:
- "8080:8080"
networks:
- zwitscher-net
$ docker-compose -p zwitscher up -d
$ docker-compose -p zwitscher ps
$ docker-compose -p zwitscher logs -f
$ docker-compose -p zwitscher down
docker
compose
| ContainerConf 2016 | A Hitchhiker’s Guide to the Cloud Native Stack | @LeanderReimer #cloudnativenerd #qaware
ORCHESTRATION
21
| ContainerConf 2016 | A Hitchhiker’s Guide to the Cloud Native Stack | @LeanderReimer #cloudnativenerd #qaware22
zwitscher-traefik
Mesos DNS
Marathon
zwitscher-consul
zwitscher-service
Manage
Manage
Manage
Resolve
zwitscher-consul.marathon.mesos
Ops
| ContainerConf 2016 | A Hitchhiker’s Guide to the Cloud Native Stack | @LeanderReimer #cloudnativenerd #qaware23
{
"id": "zwitscher-service-hitchhikersguide",
"instances": 3,
"cpus": 0.5,
"mem": 256,
"container": {
"type": "DOCKER",
"docker": {
"image": "hitchhikersguide/zwitscher-service:1.0.1",
"network": "BRIDGE",
"portMappings": [{ "containerPort": 0, "hostPort": 0, "protocol": "tcp" }]
}
},
"healthChecks": [{
"protocol": "HTTP", "path": "/admin/health",
"intervalSeconds": 10, "portIndex": 0, "maxConsecutiveFailures": 3
}]
}
| ContainerConf 2016 | A Hitchhiker’s Guide to the Cloud Native Stack | @LeanderReimer #cloudnativenerd #qaware
Keine Magie. Aber komplexe Technologie.
• Building Distributed Systems is hard!
• Der Cloud Native Stack macht die Komplexität beherrschbar.
• Die hohe Abstraktion ist Segen und Fluch zugleich.
• Entwickler und Architekten brauchen zusätzliche Skills und Know-
How in etlichen neuen Technologien.
25
| ContainerConf 2016 | A Hitchhiker’s Guide to the Cloud Native Stack | @LeanderReimer #cloudnativenerd #qaware
Code und Artikel zum Nachlesen unter …
• https://github.com/qaware/hitchhikers-guide-cloudnative
• Der Cloud Stack: Mesos, Kubernetes und Spring Cloud 

https://goo.gl/U5cJAU
• Spring Cloud und Netflix OSS: Cloud-native Anwendungen bauen

https://goo.gl/edNlUK
• Cloud-native Anwendungen mit Kubernetes

https://goo.gl/dVkoyR
• Eine Einführung in Apache Mesos: Das Betriebsystem der Cloud

https://goo.gl/7SnMZA
26
| ContainerConf 2016 | A Hitchhiker’s Guide to the Cloud Native Stack | @LeanderReimer #cloudnativenerd #qaware27
CompletableFuture<SoftwareIngenieurIn> ich =
CompletableFuture.supplyAsync(()
-> erfindergeist()
.handwerksstolz()
);
CompletableFuture<Projekthaus> qaware =
CompletableFuture.supplyAsync(()
-> professionalität()
.lässigkeit()
);
Erfolg start = qaware.thenCombine(ich,
(i, q) -> i.sendeBewerbung(q))
.join();
Weiter Details unter http://www.qaware.de/karriere/#jobs
| ContainerConf 2016 | A Hitchhiker’s Guide to the Cloud Native Stack | @LeanderReimer #cloudnativenerd #qaware
42.
THE ANSWER TO LIFE, UNIVERSE,
THE CLOUD AND EVERYTHING.
28
Mario-Leander Reimer
Cheftechnologe, QAware GmbH
mario-leander.reimer@qaware.de
https://www.qaware.de
https://slideshare.net/MarioLeanderReimer/
https://speakerdeck.com/lreimer/
https://twitter.com/leanderreimer/
&

Más contenido relacionado

La actualidad más candente

Der Cloud Native Stack in a Nutshell. #CloudExpoEurope
Der Cloud Native Stack in a Nutshell. #CloudExpoEuropeDer Cloud Native Stack in a Nutshell. #CloudExpoEurope
Der Cloud Native Stack in a Nutshell. #CloudExpoEuropeMario-Leander Reimer
 
Automotive Information Research driven by Apache Solr
Automotive Information Research driven by Apache SolrAutomotive Information Research driven by Apache Solr
Automotive Information Research driven by Apache SolrQAware GmbH
 
Der Status Quo des Chaos Engineerings
Der Status Quo des Chaos EngineeringsDer Status Quo des Chaos Engineerings
Der Status Quo des Chaos EngineeringsQAware GmbH
 
Kontinuierliches (Nicht)-Funktionales Testen von Microservices auf K8s
Kontinuierliches (Nicht)-Funktionales Testen von Microservices auf K8sKontinuierliches (Nicht)-Funktionales Testen von Microservices auf K8s
Kontinuierliches (Nicht)-Funktionales Testen von Microservices auf K8sQAware GmbH
 
Quarkus Quickstart
Quarkus QuickstartQuarkus Quickstart
Quarkus QuickstartQAware GmbH
 
Title is loading ... Cache is cold.
Title is loading ... Cache is cold.Title is loading ... Cache is cold.
Title is loading ... Cache is cold.QAware GmbH
 
HashiTalks: DACH - Die Verwendung von IaC im DevOps Prozess
HashiTalks: DACH - Die Verwendung von IaC im DevOps ProzessHashiTalks: DACH - Die Verwendung von IaC im DevOps Prozess
HashiTalks: DACH - Die Verwendung von IaC im DevOps ProzessJochen Zehnder
 
Supersonic Java für die Cloud: Quarkus
Supersonic Java für die Cloud: QuarkusSupersonic Java für die Cloud: Quarkus
Supersonic Java für die Cloud: QuarkusOPEN KNOWLEDGE GmbH
 
Docker und Kubernetes Patterns & Anti-Patterns
Docker und Kubernetes Patterns & Anti-PatternsDocker und Kubernetes Patterns & Anti-Patterns
Docker und Kubernetes Patterns & Anti-PatternsJosef Adersberger
 
Per Anhalter durch den Cloud Native Stack. #SEACONHH
Per Anhalter durch den Cloud Native Stack. #SEACONHHPer Anhalter durch den Cloud Native Stack. #SEACONHH
Per Anhalter durch den Cloud Native Stack. #SEACONHHMario-Leander Reimer
 
Per Anhalter durch den Cloud Native Stack (Extended Edition) #oop2017
Per Anhalter durch den Cloud Native Stack (Extended Edition) #oop2017Per Anhalter durch den Cloud Native Stack (Extended Edition) #oop2017
Per Anhalter durch den Cloud Native Stack (Extended Edition) #oop2017Mario-Leander Reimer
 
Cloud Native und Java EE: Freund oder Feind?
Cloud Native und Java EE: Freund oder Feind?Cloud Native und Java EE: Freund oder Feind?
Cloud Native und Java EE: Freund oder Feind?Josef Adersberger
 
Enterprise Cloud Native ist das neue Normal
Enterprise Cloud Native ist das neue NormalEnterprise Cloud Native ist das neue Normal
Enterprise Cloud Native ist das neue NormalQAware GmbH
 
4×4: Big Data in der Cloud
4×4: Big Data in der Cloud4×4: Big Data in der Cloud
4×4: Big Data in der CloudDanny Linden
 
Per Anhalter zu Cloud-nativen API Gateways
Per Anhalter zu Cloud-nativen API GatewaysPer Anhalter zu Cloud-nativen API Gateways
Per Anhalter zu Cloud-nativen API GatewaysQAware GmbH
 
Holistische Sicherheit für Microservice Architekturen
Holistische Sicherheit für Microservice ArchitekturenHolistische Sicherheit für Microservice Architekturen
Holistische Sicherheit für Microservice ArchitekturenQAware GmbH
 
openstack Übersicht @GPN15
openstack Übersicht @GPN15openstack Übersicht @GPN15
openstack Übersicht @GPN15m1no
 
Mit OpenStack zur eigenen Cloud (OSDC 2012)
Mit OpenStack zur eigenen Cloud (OSDC 2012)Mit OpenStack zur eigenen Cloud (OSDC 2012)
Mit OpenStack zur eigenen Cloud (OSDC 2012)hastexo
 
Mit LoRaWAN und Serverless zur eigenen Smart-Office-Lösung
Mit LoRaWAN und Serverless zur eigenen Smart-Office-LösungMit LoRaWAN und Serverless zur eigenen Smart-Office-Lösung
Mit LoRaWAN und Serverless zur eigenen Smart-Office-LösungQAware GmbH
 

La actualidad más candente (19)

Der Cloud Native Stack in a Nutshell. #CloudExpoEurope
Der Cloud Native Stack in a Nutshell. #CloudExpoEuropeDer Cloud Native Stack in a Nutshell. #CloudExpoEurope
Der Cloud Native Stack in a Nutshell. #CloudExpoEurope
 
Automotive Information Research driven by Apache Solr
Automotive Information Research driven by Apache SolrAutomotive Information Research driven by Apache Solr
Automotive Information Research driven by Apache Solr
 
Der Status Quo des Chaos Engineerings
Der Status Quo des Chaos EngineeringsDer Status Quo des Chaos Engineerings
Der Status Quo des Chaos Engineerings
 
Kontinuierliches (Nicht)-Funktionales Testen von Microservices auf K8s
Kontinuierliches (Nicht)-Funktionales Testen von Microservices auf K8sKontinuierliches (Nicht)-Funktionales Testen von Microservices auf K8s
Kontinuierliches (Nicht)-Funktionales Testen von Microservices auf K8s
 
Quarkus Quickstart
Quarkus QuickstartQuarkus Quickstart
Quarkus Quickstart
 
Title is loading ... Cache is cold.
Title is loading ... Cache is cold.Title is loading ... Cache is cold.
Title is loading ... Cache is cold.
 
HashiTalks: DACH - Die Verwendung von IaC im DevOps Prozess
HashiTalks: DACH - Die Verwendung von IaC im DevOps ProzessHashiTalks: DACH - Die Verwendung von IaC im DevOps Prozess
HashiTalks: DACH - Die Verwendung von IaC im DevOps Prozess
 
Supersonic Java für die Cloud: Quarkus
Supersonic Java für die Cloud: QuarkusSupersonic Java für die Cloud: Quarkus
Supersonic Java für die Cloud: Quarkus
 
Docker und Kubernetes Patterns & Anti-Patterns
Docker und Kubernetes Patterns & Anti-PatternsDocker und Kubernetes Patterns & Anti-Patterns
Docker und Kubernetes Patterns & Anti-Patterns
 
Per Anhalter durch den Cloud Native Stack. #SEACONHH
Per Anhalter durch den Cloud Native Stack. #SEACONHHPer Anhalter durch den Cloud Native Stack. #SEACONHH
Per Anhalter durch den Cloud Native Stack. #SEACONHH
 
Per Anhalter durch den Cloud Native Stack (Extended Edition) #oop2017
Per Anhalter durch den Cloud Native Stack (Extended Edition) #oop2017Per Anhalter durch den Cloud Native Stack (Extended Edition) #oop2017
Per Anhalter durch den Cloud Native Stack (Extended Edition) #oop2017
 
Cloud Native und Java EE: Freund oder Feind?
Cloud Native und Java EE: Freund oder Feind?Cloud Native und Java EE: Freund oder Feind?
Cloud Native und Java EE: Freund oder Feind?
 
Enterprise Cloud Native ist das neue Normal
Enterprise Cloud Native ist das neue NormalEnterprise Cloud Native ist das neue Normal
Enterprise Cloud Native ist das neue Normal
 
4×4: Big Data in der Cloud
4×4: Big Data in der Cloud4×4: Big Data in der Cloud
4×4: Big Data in der Cloud
 
Per Anhalter zu Cloud-nativen API Gateways
Per Anhalter zu Cloud-nativen API GatewaysPer Anhalter zu Cloud-nativen API Gateways
Per Anhalter zu Cloud-nativen API Gateways
 
Holistische Sicherheit für Microservice Architekturen
Holistische Sicherheit für Microservice ArchitekturenHolistische Sicherheit für Microservice Architekturen
Holistische Sicherheit für Microservice Architekturen
 
openstack Übersicht @GPN15
openstack Übersicht @GPN15openstack Übersicht @GPN15
openstack Übersicht @GPN15
 
Mit OpenStack zur eigenen Cloud (OSDC 2012)
Mit OpenStack zur eigenen Cloud (OSDC 2012)Mit OpenStack zur eigenen Cloud (OSDC 2012)
Mit OpenStack zur eigenen Cloud (OSDC 2012)
 
Mit LoRaWAN und Serverless zur eigenen Smart-Office-Lösung
Mit LoRaWAN und Serverless zur eigenen Smart-Office-LösungMit LoRaWAN und Serverless zur eigenen Smart-Office-Lösung
Mit LoRaWAN und Serverless zur eigenen Smart-Office-Lösung
 

Destacado

Der Cloud Native Stack in a Nutshell
Der Cloud Native Stack in a NutshellDer Cloud Native Stack in a Nutshell
Der Cloud Native Stack in a NutshellQAware GmbH
 
Automotive Information Research driven by Apache Solr
Automotive Information Research driven by Apache SolrAutomotive Information Research driven by Apache Solr
Automotive Information Research driven by Apache SolrQAware GmbH
 
Vamp - The anti-fragilitiy platform for digital services
Vamp - The anti-fragilitiy platform for digital servicesVamp - The anti-fragilitiy platform for digital services
Vamp - The anti-fragilitiy platform for digital servicesQAware GmbH
 
Azure Functions - Get rid of your servers, use functions!
Azure Functions - Get rid of your servers, use functions!Azure Functions - Get rid of your servers, use functions!
Azure Functions - Get rid of your servers, use functions!QAware GmbH
 
Chronix as Long-Term Storage for Prometheus
Chronix as Long-Term Storage for PrometheusChronix as Long-Term Storage for Prometheus
Chronix as Long-Term Storage for PrometheusQAware GmbH
 
The Cloud Native Stack
The Cloud Native StackThe Cloud Native Stack
The Cloud Native StackQAware GmbH
 
Lightweight developer provisioning with gradle and seu as-code
Lightweight developer provisioning with gradle and seu as-codeLightweight developer provisioning with gradle and seu as-code
Lightweight developer provisioning with gradle and seu as-codeQAware GmbH
 
Microservices @ Work - A Practice Report of Developing Microservices
Microservices @ Work - A Practice Report of Developing MicroservicesMicroservices @ Work - A Practice Report of Developing Microservices
Microservices @ Work - A Practice Report of Developing MicroservicesQAware GmbH
 
JEE on DC/OS - MesosCon Europe
JEE on DC/OS - MesosCon EuropeJEE on DC/OS - MesosCon Europe
JEE on DC/OS - MesosCon EuropeQAware GmbH
 
Leveraging the Power of Solr with Spark
Leveraging the Power of Solr with SparkLeveraging the Power of Solr with Spark
Leveraging the Power of Solr with SparkQAware GmbH
 
Secure Architecture and Programming 101
Secure Architecture and Programming 101Secure Architecture and Programming 101
Secure Architecture and Programming 101QAware GmbH
 
Per Anhalter durch den Cloud Native Stack (extended edition)
Per Anhalter durch den Cloud Native Stack (extended edition)Per Anhalter durch den Cloud Native Stack (extended edition)
Per Anhalter durch den Cloud Native Stack (extended edition)QAware GmbH
 
Developing Skills for Amazon Echo
Developing Skills for Amazon EchoDeveloping Skills for Amazon Echo
Developing Skills for Amazon EchoQAware GmbH
 
Chronix Time Series Database - The New Time Series Kid on the Block
Chronix Time Series Database - The New Time Series Kid on the BlockChronix Time Series Database - The New Time Series Kid on the Block
Chronix Time Series Database - The New Time Series Kid on the BlockQAware GmbH
 
'Cloud-Native' Ecosystem - Aug 2015
'Cloud-Native' Ecosystem - Aug 2015'Cloud-Native' Ecosystem - Aug 2015
'Cloud-Native' Ecosystem - Aug 2015Lenny Pruss
 
Real Time BOM Explosions with Apache Solr and Spark
Real Time BOM Explosions with Apache Solr and SparkReal Time BOM Explosions with Apache Solr and Spark
Real Time BOM Explosions with Apache Solr and SparkQAware GmbH
 
Everything-as-code. Polyglotte Software-Entwicklung in der Praxis.
Everything-as-code. Polyglotte Software-Entwicklung in der Praxis.Everything-as-code. Polyglotte Software-Entwicklung in der Praxis.
Everything-as-code. Polyglotte Software-Entwicklung in der Praxis.QAware GmbH
 
DockerCon 2016 - Structured Container Delivery
DockerCon 2016 - Structured Container DeliveryDockerCon 2016 - Structured Container Delivery
DockerCon 2016 - Structured Container DeliveryOscar Renalias
 
Hands-on K8s: Deployments, Pods and Fun
Hands-on K8s: Deployments, Pods and FunHands-on K8s: Deployments, Pods and Fun
Hands-on K8s: Deployments, Pods and FunQAware GmbH
 

Destacado (20)

Der Cloud Native Stack in a Nutshell
Der Cloud Native Stack in a NutshellDer Cloud Native Stack in a Nutshell
Der Cloud Native Stack in a Nutshell
 
Automotive Information Research driven by Apache Solr
Automotive Information Research driven by Apache SolrAutomotive Information Research driven by Apache Solr
Automotive Information Research driven by Apache Solr
 
Vamp - The anti-fragilitiy platform for digital services
Vamp - The anti-fragilitiy platform for digital servicesVamp - The anti-fragilitiy platform for digital services
Vamp - The anti-fragilitiy platform for digital services
 
Azure Functions - Get rid of your servers, use functions!
Azure Functions - Get rid of your servers, use functions!Azure Functions - Get rid of your servers, use functions!
Azure Functions - Get rid of your servers, use functions!
 
Chronix as Long-Term Storage for Prometheus
Chronix as Long-Term Storage for PrometheusChronix as Long-Term Storage for Prometheus
Chronix as Long-Term Storage for Prometheus
 
The Cloud Native Stack
The Cloud Native StackThe Cloud Native Stack
The Cloud Native Stack
 
Kubernetes 101 and Fun
Kubernetes 101 and FunKubernetes 101 and Fun
Kubernetes 101 and Fun
 
Lightweight developer provisioning with gradle and seu as-code
Lightweight developer provisioning with gradle and seu as-codeLightweight developer provisioning with gradle and seu as-code
Lightweight developer provisioning with gradle and seu as-code
 
Microservices @ Work - A Practice Report of Developing Microservices
Microservices @ Work - A Practice Report of Developing MicroservicesMicroservices @ Work - A Practice Report of Developing Microservices
Microservices @ Work - A Practice Report of Developing Microservices
 
JEE on DC/OS - MesosCon Europe
JEE on DC/OS - MesosCon EuropeJEE on DC/OS - MesosCon Europe
JEE on DC/OS - MesosCon Europe
 
Leveraging the Power of Solr with Spark
Leveraging the Power of Solr with SparkLeveraging the Power of Solr with Spark
Leveraging the Power of Solr with Spark
 
Secure Architecture and Programming 101
Secure Architecture and Programming 101Secure Architecture and Programming 101
Secure Architecture and Programming 101
 
Per Anhalter durch den Cloud Native Stack (extended edition)
Per Anhalter durch den Cloud Native Stack (extended edition)Per Anhalter durch den Cloud Native Stack (extended edition)
Per Anhalter durch den Cloud Native Stack (extended edition)
 
Developing Skills for Amazon Echo
Developing Skills for Amazon EchoDeveloping Skills for Amazon Echo
Developing Skills for Amazon Echo
 
Chronix Time Series Database - The New Time Series Kid on the Block
Chronix Time Series Database - The New Time Series Kid on the BlockChronix Time Series Database - The New Time Series Kid on the Block
Chronix Time Series Database - The New Time Series Kid on the Block
 
'Cloud-Native' Ecosystem - Aug 2015
'Cloud-Native' Ecosystem - Aug 2015'Cloud-Native' Ecosystem - Aug 2015
'Cloud-Native' Ecosystem - Aug 2015
 
Real Time BOM Explosions with Apache Solr and Spark
Real Time BOM Explosions with Apache Solr and SparkReal Time BOM Explosions with Apache Solr and Spark
Real Time BOM Explosions with Apache Solr and Spark
 
Everything-as-code. Polyglotte Software-Entwicklung in der Praxis.
Everything-as-code. Polyglotte Software-Entwicklung in der Praxis.Everything-as-code. Polyglotte Software-Entwicklung in der Praxis.
Everything-as-code. Polyglotte Software-Entwicklung in der Praxis.
 
DockerCon 2016 - Structured Container Delivery
DockerCon 2016 - Structured Container DeliveryDockerCon 2016 - Structured Container Delivery
DockerCon 2016 - Structured Container Delivery
 
Hands-on K8s: Deployments, Pods and Fun
Hands-on K8s: Deployments, Pods and FunHands-on K8s: Deployments, Pods and Fun
Hands-on K8s: Deployments, Pods and Fun
 

Similar a A Hitchhiker's Guide to the Cloud Native Stack

Enterprise Cloud Native ist das neue Normal
Enterprise Cloud Native ist das neue NormalEnterprise Cloud Native ist das neue Normal
Enterprise Cloud Native ist das neue NormalQAware GmbH
 
Steinzeit war gestern! Wege der Cloud-nativen Evolution.
Steinzeit war gestern! Wege der Cloud-nativen Evolution.Steinzeit war gestern! Wege der Cloud-nativen Evolution.
Steinzeit war gestern! Wege der Cloud-nativen Evolution.QAware GmbH
 
Steinzeit war gestern! Wege der cloud-nativen Evolution
Steinzeit war gestern! Wege der cloud-nativen EvolutionSteinzeit war gestern! Wege der cloud-nativen Evolution
Steinzeit war gestern! Wege der cloud-nativen EvolutionQAware GmbH
 
Cloud Infrastructure with Crossplane
Cloud Infrastructure with CrossplaneCloud Infrastructure with Crossplane
Cloud Infrastructure with CrossplaneQAware GmbH
 
Cloud Native & Java EE: Freund oder Feind?
Cloud Native & Java EE: Freund oder Feind?Cloud Native & Java EE: Freund oder Feind?
Cloud Native & Java EE: Freund oder Feind?QAware GmbH
 
Auf geht‘s in die Cloud: „Das kann doch nicht so schwer sein!“
Auf geht‘s in die Cloud: „Das kann doch nicht so schwer sein!“Auf geht‘s in die Cloud: „Das kann doch nicht so schwer sein!“
Auf geht‘s in die Cloud: „Das kann doch nicht so schwer sein!“OPEN KNOWLEDGE GmbH
 
Make Developers Fly: Principles for Platform Engineering
Make Developers Fly: Principles for Platform EngineeringMake Developers Fly: Principles for Platform Engineering
Make Developers Fly: Principles for Platform EngineeringQAware GmbH
 
Enterprise Cloud Native ist das neue Schwarz
Enterprise Cloud Native ist das neue SchwarzEnterprise Cloud Native ist das neue Schwarz
Enterprise Cloud Native ist das neue SchwarzQAware GmbH
 
Steinzeit war gestern! Wege der cloud-nativen Evolution
Steinzeit war gestern! Wege der cloud-nativen EvolutionSteinzeit war gestern! Wege der cloud-nativen Evolution
Steinzeit war gestern! Wege der cloud-nativen EvolutionQAware GmbH
 
Cloud Native Migration: Wie IT-Landschaften ihren Weg auf eine Cloud-Native-P...
Cloud Native Migration: Wie IT-Landschaften ihren Weg auf eine Cloud-Native-P...Cloud Native Migration: Wie IT-Landschaften ihren Weg auf eine Cloud-Native-P...
Cloud Native Migration: Wie IT-Landschaften ihren Weg auf eine Cloud-Native-P...QAware GmbH
 
Auf gehts in die Cloud: „Das kann doch nicht so schwer sein!“
Auf gehts in die Cloud: „Das kann doch nicht so schwer sein!“Auf gehts in die Cloud: „Das kann doch nicht so schwer sein!“
Auf gehts in die Cloud: „Das kann doch nicht so schwer sein!“OPEN KNOWLEDGE GmbH
 
Boost your APEX Deployment and Provisioning with Docker
Boost your APEX Deployment and Provisioning with DockerBoost your APEX Deployment and Provisioning with Docker
Boost your APEX Deployment and Provisioning with DockerSteven Grzbielok
 
Steinzeit war gestern! Wege der Cloud-nativen Evolution.
Steinzeit war gestern! Wege der Cloud-nativen Evolution.Steinzeit war gestern! Wege der Cloud-nativen Evolution.
Steinzeit war gestern! Wege der Cloud-nativen Evolution.QAware GmbH
 
Cloud-native Apps 2.0
Cloud-native Apps 2.0Cloud-native Apps 2.0
Cloud-native Apps 2.0QAware GmbH
 
Make Developers Fly: Principles for Platform Engineering
Make Developers Fly: Principles for Platform EngineeringMake Developers Fly: Principles for Platform Engineering
Make Developers Fly: Principles for Platform EngineeringQAware GmbH
 
Cloud Native Computing & DevOps
Cloud Native Computing & DevOpsCloud Native Computing & DevOps
Cloud Native Computing & DevOpsAarno Aukia
 
BASTA Spring 2016: Test- und Releaseumgebungen der nächsten Generation mit TF...
BASTA Spring 2016: Test- und Releaseumgebungen der nächsten Generation mit TF...BASTA Spring 2016: Test- und Releaseumgebungen der nächsten Generation mit TF...
BASTA Spring 2016: Test- und Releaseumgebungen der nächsten Generation mit TF...Marc Müller
 
Aus blau wird grün! Ansätze und Technologien für nachhaltige Kubernetes-Cluster
Aus blau wird grün! Ansätze und Technologien für nachhaltige Kubernetes-Cluster Aus blau wird grün! Ansätze und Technologien für nachhaltige Kubernetes-Cluster
Aus blau wird grün! Ansätze und Technologien für nachhaltige Kubernetes-Cluster QAware GmbH
 
Java Aktuell Bernd Zuther Canary Releases mit der Very Awesome Microservices ...
Java Aktuell Bernd Zuther Canary Releases mit der Very Awesome Microservices ...Java Aktuell Bernd Zuther Canary Releases mit der Very Awesome Microservices ...
Java Aktuell Bernd Zuther Canary Releases mit der Very Awesome Microservices ...Bernd Zuther
 
Aus blau wird grün! Ansätze und Technologien für nachhaltige Kubernetes-Cluster
Aus blau wird grün! Ansätze und Technologien für nachhaltige Kubernetes-Cluster Aus blau wird grün! Ansätze und Technologien für nachhaltige Kubernetes-Cluster
Aus blau wird grün! Ansätze und Technologien für nachhaltige Kubernetes-Cluster QAware GmbH
 

Similar a A Hitchhiker's Guide to the Cloud Native Stack (20)

Enterprise Cloud Native ist das neue Normal
Enterprise Cloud Native ist das neue NormalEnterprise Cloud Native ist das neue Normal
Enterprise Cloud Native ist das neue Normal
 
Steinzeit war gestern! Wege der Cloud-nativen Evolution.
Steinzeit war gestern! Wege der Cloud-nativen Evolution.Steinzeit war gestern! Wege der Cloud-nativen Evolution.
Steinzeit war gestern! Wege der Cloud-nativen Evolution.
 
Steinzeit war gestern! Wege der cloud-nativen Evolution
Steinzeit war gestern! Wege der cloud-nativen EvolutionSteinzeit war gestern! Wege der cloud-nativen Evolution
Steinzeit war gestern! Wege der cloud-nativen Evolution
 
Cloud Infrastructure with Crossplane
Cloud Infrastructure with CrossplaneCloud Infrastructure with Crossplane
Cloud Infrastructure with Crossplane
 
Cloud Native & Java EE: Freund oder Feind?
Cloud Native & Java EE: Freund oder Feind?Cloud Native & Java EE: Freund oder Feind?
Cloud Native & Java EE: Freund oder Feind?
 
Auf geht‘s in die Cloud: „Das kann doch nicht so schwer sein!“
Auf geht‘s in die Cloud: „Das kann doch nicht so schwer sein!“Auf geht‘s in die Cloud: „Das kann doch nicht so schwer sein!“
Auf geht‘s in die Cloud: „Das kann doch nicht so schwer sein!“
 
Make Developers Fly: Principles for Platform Engineering
Make Developers Fly: Principles for Platform EngineeringMake Developers Fly: Principles for Platform Engineering
Make Developers Fly: Principles for Platform Engineering
 
Enterprise Cloud Native ist das neue Schwarz
Enterprise Cloud Native ist das neue SchwarzEnterprise Cloud Native ist das neue Schwarz
Enterprise Cloud Native ist das neue Schwarz
 
Steinzeit war gestern! Wege der cloud-nativen Evolution
Steinzeit war gestern! Wege der cloud-nativen EvolutionSteinzeit war gestern! Wege der cloud-nativen Evolution
Steinzeit war gestern! Wege der cloud-nativen Evolution
 
Cloud Native Migration: Wie IT-Landschaften ihren Weg auf eine Cloud-Native-P...
Cloud Native Migration: Wie IT-Landschaften ihren Weg auf eine Cloud-Native-P...Cloud Native Migration: Wie IT-Landschaften ihren Weg auf eine Cloud-Native-P...
Cloud Native Migration: Wie IT-Landschaften ihren Weg auf eine Cloud-Native-P...
 
Auf gehts in die Cloud: „Das kann doch nicht so schwer sein!“
Auf gehts in die Cloud: „Das kann doch nicht so schwer sein!“Auf gehts in die Cloud: „Das kann doch nicht so schwer sein!“
Auf gehts in die Cloud: „Das kann doch nicht so schwer sein!“
 
Boost your APEX Deployment and Provisioning with Docker
Boost your APEX Deployment and Provisioning with DockerBoost your APEX Deployment and Provisioning with Docker
Boost your APEX Deployment and Provisioning with Docker
 
Steinzeit war gestern! Wege der Cloud-nativen Evolution.
Steinzeit war gestern! Wege der Cloud-nativen Evolution.Steinzeit war gestern! Wege der Cloud-nativen Evolution.
Steinzeit war gestern! Wege der Cloud-nativen Evolution.
 
Cloud-native Apps 2.0
Cloud-native Apps 2.0Cloud-native Apps 2.0
Cloud-native Apps 2.0
 
Make Developers Fly: Principles for Platform Engineering
Make Developers Fly: Principles for Platform EngineeringMake Developers Fly: Principles for Platform Engineering
Make Developers Fly: Principles for Platform Engineering
 
Cloud Native Computing & DevOps
Cloud Native Computing & DevOpsCloud Native Computing & DevOps
Cloud Native Computing & DevOps
 
BASTA Spring 2016: Test- und Releaseumgebungen der nächsten Generation mit TF...
BASTA Spring 2016: Test- und Releaseumgebungen der nächsten Generation mit TF...BASTA Spring 2016: Test- und Releaseumgebungen der nächsten Generation mit TF...
BASTA Spring 2016: Test- und Releaseumgebungen der nächsten Generation mit TF...
 
Aus blau wird grün! Ansätze und Technologien für nachhaltige Kubernetes-Cluster
Aus blau wird grün! Ansätze und Technologien für nachhaltige Kubernetes-Cluster Aus blau wird grün! Ansätze und Technologien für nachhaltige Kubernetes-Cluster
Aus blau wird grün! Ansätze und Technologien für nachhaltige Kubernetes-Cluster
 
Java Aktuell Bernd Zuther Canary Releases mit der Very Awesome Microservices ...
Java Aktuell Bernd Zuther Canary Releases mit der Very Awesome Microservices ...Java Aktuell Bernd Zuther Canary Releases mit der Very Awesome Microservices ...
Java Aktuell Bernd Zuther Canary Releases mit der Very Awesome Microservices ...
 
Aus blau wird grün! Ansätze und Technologien für nachhaltige Kubernetes-Cluster
Aus blau wird grün! Ansätze und Technologien für nachhaltige Kubernetes-Cluster Aus blau wird grün! Ansätze und Technologien für nachhaltige Kubernetes-Cluster
Aus blau wird grün! Ansätze und Technologien für nachhaltige Kubernetes-Cluster
 

Más de QAware GmbH

50 Shades of K8s Autoscaling #JavaLand24.pdf
50 Shades of K8s Autoscaling #JavaLand24.pdf50 Shades of K8s Autoscaling #JavaLand24.pdf
50 Shades of K8s Autoscaling #JavaLand24.pdfQAware GmbH
 
Make Agile Great - PM-Erfahrungen aus zwei virtuellen internationalen SAFe-Pr...
Make Agile Great - PM-Erfahrungen aus zwei virtuellen internationalen SAFe-Pr...Make Agile Great - PM-Erfahrungen aus zwei virtuellen internationalen SAFe-Pr...
Make Agile Great - PM-Erfahrungen aus zwei virtuellen internationalen SAFe-Pr...QAware GmbH
 
Fully-managed Cloud-native Databases: The path to indefinite scale @ CNN Mainz
Fully-managed Cloud-native Databases: The path to indefinite scale @ CNN MainzFully-managed Cloud-native Databases: The path to indefinite scale @ CNN Mainz
Fully-managed Cloud-native Databases: The path to indefinite scale @ CNN MainzQAware GmbH
 
Down the Ivory Tower towards Agile Architecture
Down the Ivory Tower towards Agile ArchitectureDown the Ivory Tower towards Agile Architecture
Down the Ivory Tower towards Agile ArchitectureQAware GmbH
 
"Mixed" Scrum-Teams – Die richtige Mischung macht's!
"Mixed" Scrum-Teams – Die richtige Mischung macht's!"Mixed" Scrum-Teams – Die richtige Mischung macht's!
"Mixed" Scrum-Teams – Die richtige Mischung macht's!QAware GmbH
 
Der Tod der Testpyramide? – Frontend-Testing mit Playwright
Der Tod der Testpyramide? – Frontend-Testing mit PlaywrightDer Tod der Testpyramide? – Frontend-Testing mit Playwright
Der Tod der Testpyramide? – Frontend-Testing mit PlaywrightQAware GmbH
 
Was kommt nach den SPAs
Was kommt nach den SPAsWas kommt nach den SPAs
Was kommt nach den SPAsQAware GmbH
 
Cloud Migration mit KI: der Turbo
Cloud Migration mit KI: der Turbo Cloud Migration mit KI: der Turbo
Cloud Migration mit KI: der Turbo QAware GmbH
 
Migration von stark regulierten Anwendungen in die Cloud: Dem Teufel die See...
 Migration von stark regulierten Anwendungen in die Cloud: Dem Teufel die See... Migration von stark regulierten Anwendungen in die Cloud: Dem Teufel die See...
Migration von stark regulierten Anwendungen in die Cloud: Dem Teufel die See...QAware GmbH
 
Endlich gute API Tests. Boldly Testing APIs Where No One Has Tested Before.
Endlich gute API Tests. Boldly Testing APIs Where No One Has Tested Before.Endlich gute API Tests. Boldly Testing APIs Where No One Has Tested Before.
Endlich gute API Tests. Boldly Testing APIs Where No One Has Tested Before.QAware GmbH
 
Kubernetes with Cilium in AWS - Experience Report!
Kubernetes with Cilium in AWS - Experience Report!Kubernetes with Cilium in AWS - Experience Report!
Kubernetes with Cilium in AWS - Experience Report!QAware GmbH
 
50 Shades of K8s Autoscaling
50 Shades of K8s Autoscaling50 Shades of K8s Autoscaling
50 Shades of K8s AutoscalingQAware GmbH
 
Kontinuierliche Sicherheitstests für APIs mit Testkube und OWASP ZAP
Kontinuierliche Sicherheitstests für APIs mit Testkube und OWASP ZAPKontinuierliche Sicherheitstests für APIs mit Testkube und OWASP ZAP
Kontinuierliche Sicherheitstests für APIs mit Testkube und OWASP ZAPQAware GmbH
 
Service Mesh Pain & Gain. Experiences from a client project.
Service Mesh Pain & Gain. Experiences from a client project.Service Mesh Pain & Gain. Experiences from a client project.
Service Mesh Pain & Gain. Experiences from a client project.QAware GmbH
 
50 Shades of K8s Autoscaling
50 Shades of K8s Autoscaling50 Shades of K8s Autoscaling
50 Shades of K8s AutoscalingQAware GmbH
 
Blue turns green! Approaches and technologies for sustainable K8s clusters.
Blue turns green! Approaches and technologies for sustainable K8s clusters.Blue turns green! Approaches and technologies for sustainable K8s clusters.
Blue turns green! Approaches and technologies for sustainable K8s clusters.QAware GmbH
 
Per Anhalter zu Cloud Nativen API Gateways
Per Anhalter zu Cloud Nativen API GatewaysPer Anhalter zu Cloud Nativen API Gateways
Per Anhalter zu Cloud Nativen API GatewaysQAware GmbH
 
How to speed up Spring Integration Tests
How to speed up Spring Integration TestsHow to speed up Spring Integration Tests
How to speed up Spring Integration TestsQAware GmbH
 
Aus blau wird grün! Ansätze und Technologien für nachhaltige Kubernetes-Cluster
Aus blau wird grün! Ansätze und Technologien für nachhaltige Kubernetes-ClusterAus blau wird grün! Ansätze und Technologien für nachhaltige Kubernetes-Cluster
Aus blau wird grün! Ansätze und Technologien für nachhaltige Kubernetes-ClusterQAware GmbH
 
Cloud Migration – Eine Strategie die funktioniert
Cloud Migration – Eine Strategie die funktioniertCloud Migration – Eine Strategie die funktioniert
Cloud Migration – Eine Strategie die funktioniertQAware GmbH
 

Más de QAware GmbH (20)

50 Shades of K8s Autoscaling #JavaLand24.pdf
50 Shades of K8s Autoscaling #JavaLand24.pdf50 Shades of K8s Autoscaling #JavaLand24.pdf
50 Shades of K8s Autoscaling #JavaLand24.pdf
 
Make Agile Great - PM-Erfahrungen aus zwei virtuellen internationalen SAFe-Pr...
Make Agile Great - PM-Erfahrungen aus zwei virtuellen internationalen SAFe-Pr...Make Agile Great - PM-Erfahrungen aus zwei virtuellen internationalen SAFe-Pr...
Make Agile Great - PM-Erfahrungen aus zwei virtuellen internationalen SAFe-Pr...
 
Fully-managed Cloud-native Databases: The path to indefinite scale @ CNN Mainz
Fully-managed Cloud-native Databases: The path to indefinite scale @ CNN MainzFully-managed Cloud-native Databases: The path to indefinite scale @ CNN Mainz
Fully-managed Cloud-native Databases: The path to indefinite scale @ CNN Mainz
 
Down the Ivory Tower towards Agile Architecture
Down the Ivory Tower towards Agile ArchitectureDown the Ivory Tower towards Agile Architecture
Down the Ivory Tower towards Agile Architecture
 
"Mixed" Scrum-Teams – Die richtige Mischung macht's!
"Mixed" Scrum-Teams – Die richtige Mischung macht's!"Mixed" Scrum-Teams – Die richtige Mischung macht's!
"Mixed" Scrum-Teams – Die richtige Mischung macht's!
 
Der Tod der Testpyramide? – Frontend-Testing mit Playwright
Der Tod der Testpyramide? – Frontend-Testing mit PlaywrightDer Tod der Testpyramide? – Frontend-Testing mit Playwright
Der Tod der Testpyramide? – Frontend-Testing mit Playwright
 
Was kommt nach den SPAs
Was kommt nach den SPAsWas kommt nach den SPAs
Was kommt nach den SPAs
 
Cloud Migration mit KI: der Turbo
Cloud Migration mit KI: der Turbo Cloud Migration mit KI: der Turbo
Cloud Migration mit KI: der Turbo
 
Migration von stark regulierten Anwendungen in die Cloud: Dem Teufel die See...
 Migration von stark regulierten Anwendungen in die Cloud: Dem Teufel die See... Migration von stark regulierten Anwendungen in die Cloud: Dem Teufel die See...
Migration von stark regulierten Anwendungen in die Cloud: Dem Teufel die See...
 
Endlich gute API Tests. Boldly Testing APIs Where No One Has Tested Before.
Endlich gute API Tests. Boldly Testing APIs Where No One Has Tested Before.Endlich gute API Tests. Boldly Testing APIs Where No One Has Tested Before.
Endlich gute API Tests. Boldly Testing APIs Where No One Has Tested Before.
 
Kubernetes with Cilium in AWS - Experience Report!
Kubernetes with Cilium in AWS - Experience Report!Kubernetes with Cilium in AWS - Experience Report!
Kubernetes with Cilium in AWS - Experience Report!
 
50 Shades of K8s Autoscaling
50 Shades of K8s Autoscaling50 Shades of K8s Autoscaling
50 Shades of K8s Autoscaling
 
Kontinuierliche Sicherheitstests für APIs mit Testkube und OWASP ZAP
Kontinuierliche Sicherheitstests für APIs mit Testkube und OWASP ZAPKontinuierliche Sicherheitstests für APIs mit Testkube und OWASP ZAP
Kontinuierliche Sicherheitstests für APIs mit Testkube und OWASP ZAP
 
Service Mesh Pain & Gain. Experiences from a client project.
Service Mesh Pain & Gain. Experiences from a client project.Service Mesh Pain & Gain. Experiences from a client project.
Service Mesh Pain & Gain. Experiences from a client project.
 
50 Shades of K8s Autoscaling
50 Shades of K8s Autoscaling50 Shades of K8s Autoscaling
50 Shades of K8s Autoscaling
 
Blue turns green! Approaches and technologies for sustainable K8s clusters.
Blue turns green! Approaches and technologies for sustainable K8s clusters.Blue turns green! Approaches and technologies for sustainable K8s clusters.
Blue turns green! Approaches and technologies for sustainable K8s clusters.
 
Per Anhalter zu Cloud Nativen API Gateways
Per Anhalter zu Cloud Nativen API GatewaysPer Anhalter zu Cloud Nativen API Gateways
Per Anhalter zu Cloud Nativen API Gateways
 
How to speed up Spring Integration Tests
How to speed up Spring Integration TestsHow to speed up Spring Integration Tests
How to speed up Spring Integration Tests
 
Aus blau wird grün! Ansätze und Technologien für nachhaltige Kubernetes-Cluster
Aus blau wird grün! Ansätze und Technologien für nachhaltige Kubernetes-ClusterAus blau wird grün! Ansätze und Technologien für nachhaltige Kubernetes-Cluster
Aus blau wird grün! Ansätze und Technologien für nachhaltige Kubernetes-Cluster
 
Cloud Migration – Eine Strategie die funktioniert
Cloud Migration – Eine Strategie die funktioniertCloud Migration – Eine Strategie die funktioniert
Cloud Migration – Eine Strategie die funktioniert
 

A Hitchhiker's Guide to the Cloud Native Stack

  • 1. | ContainerConf 2016 | A Hitchhiker’s Guide to the Cloud Native Stack | @LeanderReimer #cloudnativenerd #qaware A HITCHHIKER’S GUIDE TO THE CLOUD NATIVE STACK 1
  • 2. | ContainerConf 2016 | A Hitchhiker’s Guide to the Cloud Native Stack | @LeanderReimer #cloudnativenerd #qaware Let’s talk about Cloud Native Applications 2
  • 3. CONTINUOUS
 DELIVERY & DEVOPS ANTIFRAGILITY HYPERSCALE 
 TRAFFIC, DATA, FEATURES OPEX SAVINGS
 (automation & utilization) CLOUD NATIVE APPLICATIONS DISRUPTINDUSTRIALIZE
  • 4. | ContainerConf 2016 | A Hitchhiker’s Guide to the Cloud Native Stack | @LeanderReimer #cloudnativenerd #qaware Design Prinzipien Cloud-nativer Anwendungen • Design for Performance: responsive; concurrency; efficiency. • Design for Automation: automate dev tasks & ops tasks. • Design for Resiliency: fault-tolerant; self-healing. • Design for Elasticity: dynamically scale; be reactive. • Design for Delivery: short roundtrips; automated delivery. • Design for Diagnosability: cluster-wide logs, traces, metrics. 4
  • 5. | ContainerConf 2016 | A Hitchhiker’s Guide to the Cloud Native Stack | @LeanderReimer #cloudnativenerd #qaware Maturity Model Cloud-nativer Anwendungen 5 https://www.opendatacenteralliance.org/docs/architecting_cloud_aware_applications.pdf Level 0: Virtualized Level 1: Loosely Coupled Level 2: Abstracted Level 3: Adaptive Cloud Native - Skaliert elastisch abhängig von Stimuli. - Dynamische Migration auf andere Infrastruktur
 ohne eine Service Downtime. Cloud Resilient - Fehler-tolerant und resilient entworfen. - Metriken und Monitoring eingebaut. - Runs anywhere. Infrastruktur agnostisch. Cloud Friendly - Besteht aus lose gekoppelten Diensten. - Dienste können über Namen gefunden werden. - 12-Factor App Principles. Cloud Ready - Keine Anforderungen an das Datei-System. - Läuft auf virtualisierter Hardware. - Self-contained, kann als Image ausgeführt werden.
  • 6. | ContainerConf 2016 | A Hitchhiker’s Guide to the Cloud Native Stack | @LeanderReimer #cloudnativenerd #qaware Die Anatomie des Cloud Native Stack 6 Application Platform Cloud Native App Cluster Orchestrator Applications Cluster Scheduler Containers Cluster Virtualization Resources Cluster Operating System Entkoppelt von physischer Hardware. Verwaltet Ressourcen für die Ausführung von Containern Führt Applikationen auf dem Cluster aus. Stellt Ablauf- Umgebung und APIs für Apps bereit.
  • 7.
  • 8. | ContainerConf 2016 | A Hitchhiker’s Guide to the Cloud Native Stack | @LeanderReimer #cloudnativenerd #qaware Cloud Native Stack mit Spring Cloud und DC/OS 8 Application Platform Cloud Native App Cluster Orchestrator Applications Cluster Scheduler Containers Cluster Virtualization Resources
  • 9. | ContainerConf 2016 | A Hitchhiker’s Guide to the Cloud Native Stack | @LeanderReimer #cloudnativenerd #qaware Cloud Native Stack mit Spring Cloud und K8S. 9 Application Platform Cloud Native App Cluster Orchestrator Applications Cluster Scheduler Containers Cluster Virtualization Resources
  • 10. | ContainerConf 2016 | A Hitchhiker’s Guide to the Cloud Native Stack | @LeanderReimer #cloudnativenerd #qaware Orchestration Composition Die 4 Schritte zur Cloud-nativen Anwendung 1. MICROSERVICES 2. CONTAINERIZATION 3. COMPOSITION 4. ORCHESTRATION 10 Containerization Microservices docker compose
  • 11. | ContainerConf 2016 | A Hitchhiker’s Guide to the Cloud Native Stack | @LeanderReimer #cloudnativenerd #qaware MICROSERVICES 11
  • 12. | ContainerConf 2016 | A Hitchhiker’s Guide to the Cloud Native Stack | @LeanderReimer #cloudnativenerd #qaware Zwitscher Microservice in 5 Minuten 12 Zwitscher Controller Zwitscher Repository /tweets ZwitscherServiceApp search(…)
  • 13. | ContainerConf 2016 | A Hitchhiker’s Guide to the Cloud Native Stack | @LeanderReimer #cloudnativenerd #qaware CONTAINERIZATION 13
  • 14. | ContainerConf 2016 | A Hitchhiker’s Guide to the Cloud Native Stack | @LeanderReimer #cloudnativenerd #qaware $ docker build -t zwitscher-service:1.0.1 . $ docker run --name zwitscher-service -d -p 8080:8080 zwitscher-service:1.0.1 $ docker tag zwitscher-service:1.0.1 hitchhikersguide/zwitscher-service:latest $ docker push hitchhikersguide/zwitscher-service Der Containerization Workflow mit Docker 14 3. Tag & Push 2. Run Dockerfile 1. Build
  • 15. | ContainerConf 2016 | A Hitchhiker’s Guide to the Cloud Native Stack | @LeanderReimer #cloudnativenerd #qaware Beispiel Dockerfile für Zwitscher Service 15 FROM qaware/alpine-k8s-ibmjava8:8.0-3.10
 MAINTAINER QAware GmbH <qaware-oss@qaware.de>
 
 RUN mkdir -p /app
 
 COPY build/libs/zwitscher-service-1.0.1.jar /app/zwitscher-service.jar
 COPY src/main/docker/zwitscher-service.conf /app/
 
 EXPOSE 8080
 CMD /app/zwitscher-service.jar
  • 16. | ContainerConf 2016 | A Hitchhiker’s Guide to the Cloud Native Stack | @LeanderReimer #cloudnativenerd #qaware Wichtige Tips für den Umgang mit Docker • Kenne dein Base-Image! Auf die Größe kommt es an. • Ein Docker Build muss wiederholbar sein. • Jeder RUN Befehl erzeugt ein Layer. Nutze Mehrfachbefehle! • Entferne temporäre Dateien. • Veröffentliche wichtige Ports mit EXPOSE. • Definiere Umgebungs-Variablen für wichtige Parameter. • Nutze ein Image für alle Umgebungen. • Versioniere deine Images. • Verwende Tools zur QS von Dockerfiles und Images. 16
  • 17. | ContainerConf 2016 | A Hitchhiker’s Guide to the Cloud Native Stack | @LeanderReimer #cloudnativenerd #qaware COMPOSITION 17
  • 18. | ContainerConf 2016 | A Hitchhiker’s Guide to the Cloud Native Stack | @LeanderReimer #cloudnativenerd #qaware18 Cluster-weite Konfiguration und Konsensus Überwachung und Fehler-Diagnose Geregelter Zugriff 
 auf Service 
 Endpoints von Außen Registrierung und Suche von Service Endpoints Laufzeit-Umgebung für Service Endpoints Resistenter Aufruf von anderen Service Endpoints
  • 19. | ContainerConf 2016 | A Hitchhiker’s Guide to the Cloud Native Stack | @LeanderReimer #cloudnativenerd #qaware19 Zwitscher Controller Zwitscher Repository /tweets ZwitscherServiceApp /zwitscher-service/* Discovery Configure Actuator /admin/health Register Read K/V Get Services
  • 20. | ContainerConf 2016 | A Hitchhiker’s Guide to the Cloud Native Stack | @LeanderReimer #cloudnativenerd #qaware Beispiel docker-compose.yml 20 version: '2' services: zwitscher-consul: ... zwitscher-traefik: ... zwitscher-service: image: hitchhikersguide/zwitscher-service:1.0.1 environment: - CONSUL_HOST=zwitscher-consul - CONSUL_PORT=8500 - TWITTER_APP_ID=${TWITTER_APP_ID} - TWITTER_APP_SECRET=${TWITTER_APP_SECRET} depends_on: - zwitscher-consul links: - zwitscher-consul ports: - "8080:8080" networks: - zwitscher-net $ docker-compose -p zwitscher up -d $ docker-compose -p zwitscher ps $ docker-compose -p zwitscher logs -f $ docker-compose -p zwitscher down docker compose
  • 21. | ContainerConf 2016 | A Hitchhiker’s Guide to the Cloud Native Stack | @LeanderReimer #cloudnativenerd #qaware ORCHESTRATION 21
  • 22. | ContainerConf 2016 | A Hitchhiker’s Guide to the Cloud Native Stack | @LeanderReimer #cloudnativenerd #qaware22 zwitscher-traefik Mesos DNS Marathon zwitscher-consul zwitscher-service Manage Manage Manage Resolve zwitscher-consul.marathon.mesos Ops
  • 23. | ContainerConf 2016 | A Hitchhiker’s Guide to the Cloud Native Stack | @LeanderReimer #cloudnativenerd #qaware23 { "id": "zwitscher-service-hitchhikersguide", "instances": 3, "cpus": 0.5, "mem": 256, "container": { "type": "DOCKER", "docker": { "image": "hitchhikersguide/zwitscher-service:1.0.1", "network": "BRIDGE", "portMappings": [{ "containerPort": 0, "hostPort": 0, "protocol": "tcp" }] } }, "healthChecks": [{ "protocol": "HTTP", "path": "/admin/health", "intervalSeconds": 10, "portIndex": 0, "maxConsecutiveFailures": 3 }] }
  • 24.
  • 25. | ContainerConf 2016 | A Hitchhiker’s Guide to the Cloud Native Stack | @LeanderReimer #cloudnativenerd #qaware Keine Magie. Aber komplexe Technologie. • Building Distributed Systems is hard! • Der Cloud Native Stack macht die Komplexität beherrschbar. • Die hohe Abstraktion ist Segen und Fluch zugleich. • Entwickler und Architekten brauchen zusätzliche Skills und Know- How in etlichen neuen Technologien. 25
  • 26. | ContainerConf 2016 | A Hitchhiker’s Guide to the Cloud Native Stack | @LeanderReimer #cloudnativenerd #qaware Code und Artikel zum Nachlesen unter … • https://github.com/qaware/hitchhikers-guide-cloudnative • Der Cloud Stack: Mesos, Kubernetes und Spring Cloud 
 https://goo.gl/U5cJAU • Spring Cloud und Netflix OSS: Cloud-native Anwendungen bauen
 https://goo.gl/edNlUK • Cloud-native Anwendungen mit Kubernetes
 https://goo.gl/dVkoyR • Eine Einführung in Apache Mesos: Das Betriebsystem der Cloud
 https://goo.gl/7SnMZA 26
  • 27. | ContainerConf 2016 | A Hitchhiker’s Guide to the Cloud Native Stack | @LeanderReimer #cloudnativenerd #qaware27 CompletableFuture<SoftwareIngenieurIn> ich = CompletableFuture.supplyAsync(() -> erfindergeist() .handwerksstolz() ); CompletableFuture<Projekthaus> qaware = CompletableFuture.supplyAsync(() -> professionalität() .lässigkeit() ); Erfolg start = qaware.thenCombine(ich, (i, q) -> i.sendeBewerbung(q)) .join(); Weiter Details unter http://www.qaware.de/karriere/#jobs
  • 28. | ContainerConf 2016 | A Hitchhiker’s Guide to the Cloud Native Stack | @LeanderReimer #cloudnativenerd #qaware 42. THE ANSWER TO LIFE, UNIVERSE, THE CLOUD AND EVERYTHING. 28
  • 29. Mario-Leander Reimer Cheftechnologe, QAware GmbH mario-leander.reimer@qaware.de https://www.qaware.de https://slideshare.net/MarioLeanderReimer/ https://speakerdeck.com/lreimer/ https://twitter.com/leanderreimer/ &