16

The Cloud Native Stack

Embed Size (px)

Citation preview

AGENDA

▸ The Cloud Native Stack, Josef Adersberger (QAware)

▸ Spark/Solr and machine learning/recommenders with Fusion, Jake Mannix (Lucidworks)

▸ Mesos and the Architecture of the New Datacenter, Jörg Schad (Mesosphere)

▸ Spring Cloud Apps auf Kubernetes, Mario-Leander Reimer & Josef Fuchshuber

▸ Q&A, Networking

THE CLOUD NATIVE STACK UNLEASHEDJosef Adersberger (@adersberger)

CONTINUOUSDELIVERY BIG DATA

WEB-SCALE OPEX SAVINGS

CLOUD NATIVE STACK

CONTINUOUS DELIVERY BIG DATA

WEB-SCALE OPEX SAVINGS

CLOUD NATIVE STACK

SELF-DELIVERING SOFTWARE

RUNNINGTESTEDSOFTWAREINCREMENT

EVERYTHING AS CODE: ‣ codes applications ‣ codes tests ‣ codes infrastructure ‣ codes delivery workflow{ }

EVERYTHING AS CODE

node('master') { git url: 'https://git.qaware.de/apps/qaerp.git' stage 'Build' sh 'mvn clean package' archive artifact

stage 'Code Coverage' sonarqube

stage 'QA' parallel(tests: { runWithServer {url -> sh “gatling run omg.scala“}})

stage name: 'Staging', concurrency: 1 tomcat.deploy(artifact, 'staging', deployClosure)}

version: '2'services: web: build: . ports: - "5000:5000" volumes: - .:/code depends_on: - redis redis: image: redis

DELIVERY WORKFLOW: Jenkins Workflow DSLINFRASTRUCTURE:Docker Compose

CONTINUOUSDELIVERY BIG DATA

WEB-SCALE OPEX SAVINGS

CLOUD NATIVE STACK

THE CLOUD NATIVE LANDSCAPE 2016

Cluster Orchestrator

Cluster Scheduler

ClusterVirtualization

ApplicationPlatform

Configuration & Coordination:

Service Discovery:

Edge & API Server:

Cluster Diagnosability:

Cluster Resources

Container

Applications

Code

Node Resources

Operating System

Spring Cloud

PaaS

IaaS

public

private / hybrid

Cluster Infrastructure

OS Virtualization Network Virtualization Storage Virtualization Memory Virtualization

Caa

S

Microservices Dataservices

YARN

Helios

Spring Cloud PaaSTA

Singularity

Apollo

Zookeeper

TurbineAtlas

THE DOKUS STACK

Spring Cloud

Cluster Scheduler

Cluster Orchestrator

Application Platform

CLUSTER ORCHESTRATION

CLUSTER ORCHESTRATOR

CLUSTER SCHEDULER

APPLICATIONBLUEPRINT

APPLICATIONOPS COMMANDS

HAproxy

NGINX NGINX

MySQL

HTTP 80

HAproxy (standby)

Auto-Scaling

Replication

Stateful

‣ deploy ‣ canary-deploy ‣ rollback ‣ scale ‣ status ‣ config-change ‣ …

http://kubernetes.io

http://kubernetes.io

www.kubernetes.io

CLUSTER ORCHESTRATION WITH KUBERNETES

KUBERNETES

KUBERNETES, MESOS

POD, SERVICE, RC/RS, DEPLOYMENT (.YAML)

KUBECTL,REST API,

KUBE DASHBOARD

Container

Container

PodIP

Volume

Port Port Port

Service

DNS-Name

Labe

l: <K

,V>

ReplicationController

‣ Endpoint with DNS name ‣ Logical group of Pods ‣ Policy how to access the Pods

‣ Atomic unit of orchestration and scheduling

‣ Group of co-located containers(one node, one lifecycle)

‣ Containers share an unique IP,persistent volumes and env vars ‣ Controls Pod lifecycle

‣ Ensures that a defined nbr. of Pod instances is running

new gen: Replica Set

Deployment: Declarative update (target state description) for Pods and Replica Sets.

TWITTER.COM/QAWARE - SLIDESHARE.NET/QAWARE