Top Banner
16

The Cloud Native Stack

Jan 13, 2017

Download

Data & Analytics

QAware GmbH
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: The Cloud Native Stack
Page 2: The Cloud Native Stack

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

Page 3: The Cloud Native Stack

THE CLOUD NATIVE STACK UNLEASHEDJosef Adersberger (@adersberger)

Page 4: The Cloud Native Stack

CONTINUOUSDELIVERY BIG DATA

WEB-SCALE OPEX SAVINGS

CLOUD NATIVE STACK

Page 5: The Cloud Native Stack

CONTINUOUS DELIVERY BIG DATA

WEB-SCALE OPEX SAVINGS

CLOUD NATIVE STACK

Page 6: The Cloud Native Stack

SELF-DELIVERING SOFTWARE

RUNNINGTESTEDSOFTWAREINCREMENT

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

Page 7: The Cloud Native Stack

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

Page 8: The Cloud Native Stack

CONTINUOUSDELIVERY BIG DATA

WEB-SCALE OPEX SAVINGS

CLOUD NATIVE STACK

Page 9: The 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

Page 10: The Cloud Native Stack
Page 11: The Cloud Native Stack

THE DOKUS STACK

Spring Cloud

Cluster Scheduler

Cluster Orchestrator

Application Platform

Page 12: The Cloud Native Stack

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 ‣ …

Page 13: The Cloud Native Stack

http://kubernetes.io

http://kubernetes.io

www.kubernetes.io

Page 14: The Cloud Native Stack

CLUSTER ORCHESTRATION WITH KUBERNETES

KUBERNETES

KUBERNETES, MESOS

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

KUBECTL,REST API,

KUBE DASHBOARD

Page 15: The Cloud Native Stack

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.

Page 16: The Cloud Native Stack

TWITTER.COM/QAWARE - SLIDESHARE.NET/QAWARE