Top Banner
Ken Owens @kenowens12 CTO Cloud Platforms 08.24.16 The Journey to Cloud Native A case study with mantl.io
28

The Journey to Cloud Native

Jan 14, 2017

Download

Technology

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 Journey to Cloud Native

Ken Owens @kenowens12

CTO Cloud Platforms

08.24.16

The Journey to Cloud Native – A case study with mantl.io

Page 2: The Journey to Cloud Native

• Key Concepts

• Open Source Container Stack: Mantl

• Developer Experience: Shipped

• Key Benefits

• Case Study: Webex Mantl adoption

Outline

Page 3: The Journey to Cloud Native

Key Concepts

Page 4: The Journey to Cloud Native

Pets vs. Cows

IT treats the servers as a Pet. A lot

of care and time is spent to ensure

the server is running.

IT treats the servers as Cows. Even if a

Cow dies is not important. They will be

replaced, the important thing is that the

“heard” survives.

If your servers have names … you are treating them as Pets!

Page 5: The Journey to Cloud Native

Bimodal IT: Mode 1 vs. Mode 2

Page 6: The Journey to Cloud Native

Containers vs. Hypervisors

Hardware

Host Operating System

cgroups Hypervisor

cgroups

Containers are segregate space in the OS kernel, Docker makes

those spaces accessible using API

Guest OS

Hypervisor

cgroups

Guest OS

Hardware

TType 2

Hosted TType 1

Native

Hypervisors enable multiple Guest OS’s onto a single host,

BareMetal (type 1) or Host OS (type 2)

Page 7: The Journey to Cloud Native

N-Tiered Apps vs. Micro-services

Presentation Presentation

Logic Logic

Persistence

Database

Logic Logic

API Gateway

Microservice Microservice

Microservice Microservice

Microservice

Database Database

Queue

Web client IoT Mobile client

http

http

http http

http publish

subscribe

http, json, notifications, webhooks

Application Complexity is shifted to the Network

http http

In Microservices application complexity is running through the network

Page 8: The Journey to Cloud Native

Cloud Native Definition (CNCF)

• Containers/Containerization

• Distributed Orchestration and Management

• Micro-services Architecture

Page 9: The Journey to Cloud Native

What does Micro-service Architecture Mean?

Application Composition

Policy and Event

Framework

Application Delivery

Common Control & Ops

Page 10: The Journey to Cloud Native

Open Source Container Stack: Mantl

Page 11: The Journey to Cloud Native

…Data Center Stacks…

Virtualized/Cloud Stack (2003–Today)

Configuration Management

Compute, Network, Storage

Workloads

Hypervisor

Orchestration and Mgmt

Virtual Machine

Operating System

‘vApps’

Storage

Block

File

Object

Container Stack (The Future)

Workflow/Management

Scale Out Infra

APIs–Microservices

Lightweight Linux

Cluster Managers

Container

HDFS

‘containerized Apps’

@ciscocloud

Page 12: The Journey to Cloud Native

12Presentation ID

Container Stack Components

Container Stack (The Future)

Workflow/Management

Scale Out Infra

APIs–Microservices

Lightweight Linux

Cluster Managers

Container

HDFS

‘containerized Apps’

Application Definition & DX

Proxy / Load Balancer

Distributed Systems Services

(Service Discovery)

Application Orchestration

Resource Scheduling

Container Runtime

Resource Management (SDN, SDS)

Provisioning

IaaS

Page 13: The Journey to Cloud Native

• An open source, end to end, integrated stack for running container workloads. Including Deployment automation & assurance.

• Pluggable, designed to grow into a platform for application and data services.

mantl.io

What is Mantl?

Page 14: The Journey to Cloud Native

Mantl: A “Curated” Container Stack Traefik

Consul

Marathon, Kubernetes

Chronos

Docker

Mesos, Kubernetes

Terraform and Ansible

Containerized Workloads

Public CloudManaged Cloud

mantl.io

Containerized Workloads

BRKDEV-1003 14

Page 15: The Journey to Cloud Native

Mantl Architecture Overview

Terraform

Consul

API Traefik (LB)

Vault

Marathon

Mesos Docker

Google

AWS

Digital Ocean

OpenStack

Vsphere

Kubernetes Docker

UI

Page 16: The Journey to Cloud Native

Developer Experience Required:Shipped and Mantl

Page 17: The Journey to Cloud Native

• Interface for cloud native development.

• Developer/Operations friendly.

• Easy-to-adopt, easy-to-use.

• Builds a ‘Developer-Experience / PaaS layer’ on top of our Mantl Container stack.

ciscoshipped.io

What is Shipped?

Page 18: The Journey to Cloud Native

18Presentation ID

Container Stack Components

Container Stack (The Future)

Workflow/Management

Scale Out Infra

APIs–Microservices

Lightweight Linux

Cluster Managers

Container

HDFS

‘containerized Apps’

Application Definition & DX

Proxy / Load Balancer

Distributed Systems Services

(Service Discovery)

Application Orchestration

Resource Scheduling

Container Runtime

Resource Management (SDN, SDS)

Provisioning

IaaS

Page 19: The Journey to Cloud Native

Shipped and Mantl: Vision

IaaS

Mgmt VMWare/

Microsoft

BM: Scale

out Infra with

Lightweight

Linux

KVM

Cloud Center Openstack

Infrastructure

Infrastructure Automation

Compute/Network/Storage

Shipped

DevOps

Admin

Developer

MantlManagement

Cloud

Admin

Security

Security

Admin

Network

Network

Admin

Compliance

IT Admin

Cisco Powered

Cloud Provider

Cisco Powered

Cloud Provider

Policies

Page 20: The Journey to Cloud Native

Shipped and Mantl Key Benefits

Page 21: The Journey to Cloud Native

UCS / Metacloud / BareMetal

ConsulAPI

Marathon

Mesos Kubernetes

AWS

ConsulAPI

Marathon

Mesos Kubernetes

GCE

ConsulAPI

Marathon

Mesos Kubernetes

Private

Public

Public

Hybrid Deployments

Page 22: The Journey to Cloud Native

Network Autopilot: Fast Data, Contiv and ACI

Microservice BYYY

YYYIngress

Microservice AYYY

YYYegressIngress

XXX

XXX

Microservice CXXX

XXXegress

Microservice A policy

Microservice B policy

Microservice C policy

Application policy

Page 23: The Journey to Cloud Native

Cross Orchestration Balancing

Master 1

Mesos Cluster Kubernetes Cluster

Master 2 Master 3

Slave A Slave B Slave C Slave D Slave E Slave F

Auto Balancer

Mesos resource available?

Kubernetes resource available?

Remove Slave D from Kubernetes Cluster

Slave D

Add Slave D to Mesos

Page 24: The Journey to Cloud Native

Case Study: Webex

Page 25: The Journey to Cloud Native

• Managing VMWare deployments is becoming increasing complex• Distributed software architecture

• Limited automation (manual installs)

• Manual VM allocation/Network Configurations

• Very long deployment process• Compute CPU and Memory requirements documentation

• Each functional program follows this process resulting in low resource utilization

• Desire to achieve better resource allocation

• Drive to more efficient orchestration and availability/assurance of services

Drivers for Cloud Native Project

Page 26: The Journey to Cloud Native

• Global Service Discovery

• Flexibility with Load Balancer options (deep integration)

• Require RBAC and tenant security capabilities

• Tenant Monitoring, Host Metrics and Logs plus Events

• IP per container on Mesos/Marathon

• Global service deployments synchronized

• Support of the cloud native components

Webex Requirements

Page 27: The Journey to Cloud Native

Data Center 1

Consul

Marathon Mesos

Re

fere

nce

Arc

hitectu

re

Load Balancer

Consul

Marathon Mesos

Load Balancer

Global Sync Agent

Global Sync Agent

Global Consul WAN (DC 1)

Data Center N

Consul

Marathon Mesos

Load Balancer

Consul

Marathon Mesos

Load Balancer

Global Sync Agent

Global Sync Agent

Global Consul WAN (DC N)

Page 28: The Journey to Cloud Native