Date post: | 14-Jan-2017 |
Category: |
Technology |
Upload: | cisco |
View: | 1,339 times |
Download: | 0 times |
Ken Owens @kenowens12
CTO Cloud Platforms
08.24.16
The Journey to Cloud Native – A case study with mantl.io
• Key Concepts
• Open Source Container Stack: Mantl
• Developer Experience: Shipped
• Key Benefits
• Case Study: Webex Mantl adoption
Outline
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!
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)
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
Cloud Native Definition (CNCF)
• Containers/Containerization
• Distributed Orchestration and Management
• Micro-services Architecture
What does Micro-service Architecture Mean?
Application Composition
Policy and Event
Framework
Application Delivery
Common Control & Ops
…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
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
• 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?
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
Mantl Architecture Overview
Terraform
Consul
API Traefik (LB)
Vault
Marathon
Mesos Docker
AWS
Digital Ocean
OpenStack
Vsphere
Kubernetes Docker
UI
• 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?
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
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
UCS / Metacloud / BareMetal
ConsulAPI
Marathon
Mesos Kubernetes
AWS
ConsulAPI
Marathon
Mesos Kubernetes
GCE
ConsulAPI
Marathon
Mesos Kubernetes
Private
Public
Public
Hybrid Deployments
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
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
• 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
• 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
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)
…