software transformation for cloud video...
TRANSCRIPT
Software Transformationfor Cloud Video Services
Randell Hand
BRKSPV-1102
• What are we trying to solve?
• How did we get here?
• Emergence of Container Technology for Video
• What does this mean for Apps?
• Case Study
• Where are we going?
• Wrap up
Agenda
What are we trying to solve?
© 2017 Cisco and/or its affiliates. All rights reserved. Cisco Public
What is Infrastructure Transformation for Video?
• Unified platform
• COTS
• Segment Routing
• Cloud
• Orchestration
• Abstraction
• Service Awareness
• Software-defined (networks, workflows, apps)
5
Can you spot the hole?
BRKSPV-1102
© 2017 Cisco and/or its affiliates. All rights reserved. Cisco Public 6
Alan WolkIndustry Analyst
“When HBO Go crashes during the season premiere of Game of Thrones, it’s not because the internet can’t handle all the traffic, it’s because the software solution can’t handle sudden spikes in traffic.”
BRKSPV-1102
© 2017 Cisco and/or its affiliates. All rights reserved. Cisco Public
Focus for Today
• Many steps to fix….
• Collapse infrastructure
• Introduce Cloud strategy
• Abstract workflows
• Public and private clouds
• Deploy and operate tooling
• Software App Architecture
7
• All software the same?
• Spectrum of Cloudiness
• Virtualization and Containers
• Case Study
• Future Transformed Video Architecture
BRKSPV-1102
© 2017 Cisco and/or its affiliates. All rights reserved. Cisco Public 8
Speaking the Same Language
• UCS – Unified Computing System
• COTS – Commercial-Off-the-Shelf
• NMS – Network Management System
• LXC – Linux Container
• CMS – Content Management System
• CDN – Content Distribution Network
• ABR – Adaptive Bit Rate
• HLS – HTTP Live Streaming
• DASH – Dynamic Adaptive Streaming over HTTP
• SDN – Software Defined Networking
• SLA – Service Level Agreement
• OS – Operating System
• HA – High Availability
• JITP – Just-in-Time Packaging
• VMR – Virtual Media Recorder
BRKSPV-1102
How did we get here?
© 2017 Cisco and/or its affiliates. All rights reserved. Cisco Public
Family Vacation!
10BRKSPV-1102
© 2017 Cisco and/or its affiliates. All rights reserved. Cisco Public
Packing for the trip!
11BRKSPV-1102
© 2017 Cisco and/or its affiliates. All rights reserved. Cisco Public
Does your video network look like this?
12BRKSPV-1102
© 2017 Cisco and/or its affiliates. All rights reserved. Cisco Public
True Story of “D”
13
Bespoke A/V
Bespoke NMS
BRKSPV-1102
© 2017 Cisco and/or its affiliates. All rights reserved. Cisco Public
True Story of “D”
14
Bespoke A/V
Bespoke NMS
BRKSPV-1102
© 2017 Cisco and/or its affiliates. All rights reserved. Cisco Public
True Story of “D”
15
Bespoke A/V
Bespoke NMS
Software?
Cloud?
How am I supposed to manage this?
Who knows how to configure xyz?
BRKSPV-1102
© 2017 Cisco and/or its affiliates. All rights reserved. Cisco Public
True Story of “D”
16
Bespoke A/V
Bespoke NMS
Software?
Cloud?
How am I supposed to manage this?
Who knows how to configure xyz?
BRKSPV-1102
© 2017 Cisco and/or its affiliates. All rights reserved. Cisco Public
True Story of “D”
17
Bespoke A/V
Bespoke NMS
Software?
Cloud?
How am I supposed to manage this?
Who knows how to configure xyz?
BRKSPV-1102
© 2017 Cisco and/or its affiliates. All rights reserved. Cisco Public 18
Example Desired Transition - vMS architecture
BSS 1
OSS 1
NMS /
EMS
HW
Sys
tem
sIn
frastr
uctu
re
BSS 2
OSS 2
NMS /
EMS
HW
BSS N
OSS N
NMS /
EMS
HW
…
Service
1
Service
2
Service
N
Orchestration
SDN
NFV
OSS / BSS
HW SW x86
VNF 1 VNF 2 VNF 3
Transition
Silos
E2E
BRKSPV-1102
© 2017 Cisco and/or its affiliates. All rights reserved. Cisco Public
Any Cloud
DC vs Media DC Trends
Programmable
InfraVirtualizationMicroservices
Containerization
2007 2010 2015 Future
Converged
Infra
2013
Mixed HW Silos Consolidate
Platforms/AppsCloud Environment
Hybrid
Cloud
?
19BRKSPV-1102
© 2017 Cisco and/or its affiliates. All rights reserved. Cisco Public 20
Application Architecture Progression
Silos / Appliances Virtualization CloudMicro Services
PaaS, Container Clusters
Independent,
dedicated app silos
Dependent SW +
HW relationship
Silos built to peak
IT driven
Server consolidation
App 1
HypervisorApp 2
Ap
p 1
Ap
p 2
App 3
Ap
p 3
Not a material driver for app re-
architecture; however…… enabled app teams to view
servers as cheap and
expendable
Scale out
SW / HW separation
HW responsibilities
move up the stack
All is programmable
Shared resources
VM as deployment unit
Dev centric
Lightweight container
as deployment unit
Similar architectural
tenants as cloud
Hypervisor Hypervisor
App 1App 2
App 3 App 1App 2
App 3
CloudPaaS
ContainersHypervisor
Cloud
BRKSPV-1102
© 2017 Cisco and/or its affiliates. All rights reserved. Cisco Public
Spectrum of Software Cloudiness
Bespoke
Appliance
Bare Metal
COTS
Virtualized
Apps
Cloud-Native
Apps
Performance
Operational Flexibility
?
21BRKSPV-1102
© 2017 Cisco and/or its affiliates. All rights reserved. Cisco Public
A story of 3 “cloud software” products
• Lift and shift = Cloud Tolerant
22
• Cloud ready – virtualized • Cloud Native – micro-services, stateless and decoupled atomic functions
BRKSPV-1102
Emergence of Container Technology for Video
© 2017 Cisco and/or its affiliates. All rights reserved. Cisco Public
Control Plane
Data Plane
Contribution Studio and Post Production Distribution
Security
Scheduler
Billing
User Mgmt
Middleware
MAM
CMS
Automation
Master Control
Transcoding
Packaging
Recording
CDN
Encoding
Scheduling
NMS
Content Factory
Routing
Switching
Editing
QC
All Video roads lead to Virtual Machines?
24BRKSPV-1102
© 2017 Cisco and/or its affiliates. All rights reserved. Cisco Public
Best of Both Worlds?
25BRKSPV-1102
© 2017 Cisco and/or its affiliates. All rights reserved. Cisco Public
Benefit Confluence
26
Bare Metal is great because:
Able to access HW directly
Performant (no HW emulation)
Full use of resources
VMs are great because:
Portability between hosts
Elasticity
Flexibility and Isolation of Apps
CONTAINERS
BRKSPV-1102
© 2017 Cisco and/or its affiliates. All rights reserved. Cisco Public
Virtual Machines are Fundamentally Different than Containers
Hardware
Operating System
Hypervisor
Virtual Machine
Operating
System
Bins / libs
App App
Virtual Machine
Operating
System
Bins / libs
App App
Hardware
Container
Bins / libs
App App
Container
Bins / libs
App App
HypervisorLinux Containers
Operating System
Each
App has
its own
OSApps
Share
OS
27BRKSPV-1102
© 2017 Cisco and/or its affiliates. All rights reserved. Cisco Public
Application Development
Kernel
Libraries
App App
App App
Old Way: Applications on Host
Kernel
Libraries
App
Libraries
App
Libraries
App
Libraries
App
New Way: Deploy Containers
28BRKSPV-1102
© 2017 Cisco and/or its affiliates. All rights reserved. Cisco Public
Virtual Machine vs Container
Virtual Machine Container
What is Virtualized? Hardware OS
Portability Between hardware Software
Overhead Medium Low
Time to Spin up Slow Very Fast
Best for: Running multiple OS on
Host
When performance, web-scale, and
density is important
Design Philosophy of
application
Full application on VM Micro-services per container,
DevOps friendly
Persistence Stateful, coupled with
filesystem
Stateless, decoupled with
filesystem
29BRKSPV-1102
Container Technology Primer
© 2017 Cisco and/or its affiliates. All rights reserved. Cisco Public
Linux Container (LXC) Technology Stack
• LXCs are built on modern kernel features
• cgroups; limits, prioritization, accounting & control
• namespaces; process based resource isolation
• chroot; apparent root FS directory
• Linux Security Modules (LSM); Mandatory Access Control (MAC)
• User space interfaces for kernel functions
31BRKSPV-1102
© 2017 Cisco and/or its affiliates. All rights reserved. Cisco Public
Linux cgroups: CPU Pinning
• Pin containers / jobs to CPU cores
• Carry out complex scheduling schemes
• Reduce core switching costs
• Adhere to SLAs
32BRKSPV-1102
© 2017 Cisco and/or its affiliates. All rights reserved. Cisco Public
Docker Build, Store, and Run Containers.
33BRKSPV-1102
© 2017 Cisco and/or its affiliates. All rights reserved. Cisco Public 34
Momentum for Containers (Docker)
BRKSPV-1102
© 2017 Cisco and/or its affiliates. All rights reserved. Cisco Public
Docker Architecture Overview
35BRKSPV-1102
© 2017 Cisco and/or its affiliates. All rights reserved. Cisco Public
•Image Pull
•Creates a new container
•Allocates a filesystem
•Allocates a network and IP
•Executes
•Captures and provides output
36
Docker Engine Lifecycle Overview
BRKSPV-1102
© 2017 Cisco and/or its affiliates. All rights reserved. Cisco Public 37
Union File System
App Layer
Host OS Layer
OS Libraries
BRKSPV-1102
© 2017 Cisco and/or its affiliates. All rights reserved. Cisco Public 38
Kubernetes (K8s) manages Docker Containers
• Provides control plane for container environment
BRKSPV-1102
© 2017 Cisco and/or its affiliates. All rights reserved. Cisco Public 39
Kubernetes Architecture
K8s Master
Worker Node 1 Docker
PodContainer
Container
Container
PodContainer
Container
Container
PodContainer
Container
Container
Worker Node 2 Docker
PodContainer
Container
Container
PodContainer
Container
Container
PodContainer
Container
Container
Worker Node 3 Docker
PodContainer
Container
Container
PodContainer
Container
Container
PodContainer
Container
Container
BRKSPV-1102
© 2017 Cisco and/or its affiliates. All rights reserved. Cisco Public 40
K8S Key Components
• Kube-API-server – Validates and configures data for API objects
• Pods
• Services
• Replication Controllers
• Kube-Controller – Control Loop
• Kube-Proxy – Network interface
• Kube-Scheduler – Resource manager and policy
• Kubelet – Monitor and Enforcer (kubelet agent on nodes)
Master
API-server
Controller
Proxy
Scheduler
Node 1
Node 2
Node N
BRKSPV-1102
© 2017 Cisco and/or its affiliates. All rights reserved. Cisco Public 41
Containers, Pods, Nodes
K8s Master
Node
Pod
Container
BRKSPV-1102
© 2017 Cisco and/or its affiliates. All rights reserved. Cisco Public 42
Worker Node
Service and Labels
Docker
Pod
App 2 -
Nginx
Service
ABC
PodApp 1 -
SQL
Service Construct
Pods Running Containers
Labels
BRKSPV-1102
© 2017 Cisco and/or its affiliates. All rights reserved. Cisco Public
Worker Node
Node 1
PodApp 1 -
SQL
Node 2
Node 3
43
Replication Controller Maintains Pod Structure
Worker Node
Node 1
Pod
App 2 -
Nginx
PodApp 1 -
SQL
Node 2
Node 3
Worker Node
Node 1
Pod
App 2 -
Nginx
PodApp 1 -
SQL
XNode 2
Node 3
Worker Node
Node 1
Pod
App 2 -
Nginx
PodApp 1 -
SQL
X OR
Node 2
Node 3
Pod
App 2 -
Nginx
X
BRKSPV-1102
© 2017 Cisco and/or its affiliates. All rights reserved. Cisco Public 44
Kubernetes HA Cluster
Master Node Cluster
Load-Balanced Nodes
BRKSPV-1102
© 2017 Cisco and/or its affiliates. All rights reserved. Cisco Public
Redundancy is Now Native to Solution
• Old way
45
• New way
BRKSPV-1102
© 2017 Cisco and/or its affiliates. All rights reserved. Cisco Public
DevOps – the new normal?
• Only replace the micro-service needed
• Enabled by layered container architecture
• “Fail fast” philosophy
• Deploy, test small scale
• Rollback
• Deploy
• Feature Velocity
46BRKSPV-1102
What does this mean for Apps?
© 2017 Cisco and/or its affiliates. All rights reserved. Cisco Public
Recent Video App Development Trends
• App teams “skip” OpenStack for containers
• Migration from VMWare to container platforms
• Multi DC / hybrid / multi provider app deployment
• Top down approach / App CD tooling
• Container frameworks as the enabling platform
• Managed Platforms and Services
• Vendor solutions have matured
• Little appetite for DIY (time, talent, cost, risk)
• Let the app developers drive platform decisions
• Have an overarching platform to allow orchestration across any platform
48BRKSPV-1102
© 2017 Cisco and/or its affiliates. All rights reserved. Cisco Public 49
Video Processing Transformation
Applications
Orchestration
InfrastructureStorage NetworkCompute
IOS VOD cDVRTV VOD
Orchestration
IBC 2015: Virtualized Main Screen Functions
Live
Mux/Stat MuxxCode
IP VideoDPI
CES 2016: Video Headend Innovation
PackagingEncodingBandwidth
Optimization
BRKSPV-1102
© 2017 Cisco and/or its affiliates. All rights reserved. Cisco Public
Video Processing Transformation
50BRKSPV-1102
CES 2016: Video Headend Innovation
PackagingEncodingBandwidth
Optimization
© 2017 Cisco and/or its affiliates. All rights reserved. Cisco Public
Video Processing Transformation
51
CES 2016: Video Headend Innovation
PackagingEncodingBandwidth
Optimization
NAB 2016: Hybrid Cloud Orchestration
Service
Provider Cloud
Content
Provider Cloud
Hosted
Cloud
BRKSPV-1102
© 2017 Cisco and/or its affiliates. All rights reserved. Cisco Public 52
Container as Cloud Native Building Block for Data PlaneRequirement Container Answer
Web Scale Independent scaling Micro-
services
Dynamic Quickly spin up and down
Resiliency Load-balanced, stateless
design
Agility Fits squarely into CI/CD
model
Loosely coupled Micro-services for
independent atomic functions
Discovery Labeling of services
Overhead Minimal OS and libraries, no
hypervisor layer
Hybrid solutions Portability, APIs are first class
citizens
Guest
OS
Guest
OS
Hypervisor
Host OS
Infrastructure
Libs
Apps
Libs
Apps
Docker Engine
Host OS
Infrastructure
Libs
Apps
Libs
Apps
VM Containers
BRKSPV-1102
Case Study – Virtual Media Recorder (VMR)
© 2017 Cisco and/or its affiliates. All rights reserved. Cisco Public
Control Plane
Packager
DRM
JITP
Back OfficeScheduler
CDNRecorder
High Level cDVR Reference Architecture
Data Plane
54BRKSPV-1102
© 2017 Cisco and/or its affiliates. All rights reserved. Cisco Public
cDVR is Excellent Use Case for Containers
• BM or VMs per application
• “Pod” dimensioning and deployment model
• Not Dynamic
Old Way with Virtual Machines or Bare Metal
• Recorder bound by multiple constraints
• Redundancy model
• Users vs channels
• Upgrade/Maintenance downtime
Recorder
Storage
PlayoutSourcesScales By Channels
Scales By Channels
Scales By Users
55BRKSPV-1102
© 2017 Cisco and/or its affiliates. All rights reserved. Cisco Public
cDVR is Excellent Use Case for Containers
• Micro-services
• Granular model
• Dynamic, On-Demand services
New Way with Containers
• Atomic components of cDVR scale independently in stateless, self-healing container cluster
• Extreme feature velocity - CI/CD pipeline
Recorder
Storage
PlayoutSourcesScales By Channels
Scales By Channels
Scales By Users
56BRKSPV-1102
© 2017 Cisco and/or its affiliates. All rights reserved. Cisco Public
cDVR – Better with micro-servicesSources
JITP
Origin
Play1 Agent
Play2 Agent
1000+ Agents
ZooKeeper (ESB)
In-
Memory
DB
Recorder
Stream1
Stream2
Archive
Arch1 Agent
Arch2 Agent
1000+ Agents
Manifest
HBO Agent
ESPN Agent
1000+ Agents 1000+ Agents
57BRKSPV-1102
© 2017 Cisco and/or its affiliates. All rights reserved. Cisco Public
AUX
INGEST
RECORD
PLAYBACK DORM
DASH
UnicastDASH
Unicast
S3 API
AA
SR RA MA API
ZK UI DASH
CoreOS
Container OS
Kubernetes (K8)
Docker Container
VMR cDVR Micro-services Architecture
Control Plane
58BRKSPV-1102
© 2017 Cisco and/or its affiliates. All rights reserved. Cisco Public
Scaling Out VMR Control
Plane
. . . .
Host 1 Host N
Object
Storage59BRKSPV-1102
Where are we going?
© 2017 Cisco and/or its affiliates. All rights reserved. Cisco Public
D’s Journey
61
Bespoke A/V
Bespoke NMS
Step 1: Infrastructure Convergence
• Remove Bespoke
• Single HW Platform
BRKSPV-1102
© 2017 Cisco and/or its affiliates. All rights reserved. Cisco Public
D’s Journey
62
Step 1: Infrastructure Convergence
• Remove Bespoke
• Single HW Platform
BRKSPV-1102
© 2017 Cisco and/or its affiliates. All rights reserved. Cisco Public
D’s Journey
63
Step 1: Infrastructure Convergence
• Remove Bespoke
• Single HW Platform
BRKSPV-1102
© 2017 Cisco and/or its affiliates. All rights reserved. Cisco Public
Converged Infrastructure
D’s Journey
64
Step 2: Application Convergence
• Orchestration Layer is Key
• Hybrid Clouds and SW Platforms
• Multi-Vendor
• Converged Tooling
BRKSPV-1102
© 2017 Cisco and/or its affiliates. All rights reserved. Cisco Public
Converged Infrastructure
D’s Journey
65
Step 2: Application Convergence
• Orchestration Layer is Key
• Hybrid Clouds and SW Platforms
• Multi-Vendor
• Converged Tooling
BRKSPV-1102
© 2017 Cisco and/or its affiliates. All rights reserved. Cisco Public
Converged Infrastructure
D’s Journey
66
Step 2: Application Convergence
• Orchestration Layer is Key
• Hybrid Clouds and SW Platforms
• Multi-Vendor
• Converged Tooling
BRKSPV-1102
© 2017 Cisco and/or its affiliates. All rights reserved. Cisco Public
D’s Video Architecture – Solution Stack
67
UCS + Nexus
V2PC WorkFlow Orchestration
Containerized
vDCM
Containerized
VMP
Docker
On-Premise3rd Party
BRKSPV-1102
© 2017 Cisco and/or its affiliates. All rights reserved. Cisco Public
D’s Video Architecture – Hybrid Solution
68
V2PC WorkFlow Orchestration
VMR
BRKSPV-1102
© 2017 Cisco and/or its affiliates. All rights reserved. Cisco Public
Future: Fully Converged Micro-services Solution
Any Cloud
ABR CoreC
onte
nt
Pro
vid
ers
Unicast
via CDN
AB
R
Tra
nscoder
Lin
ear
Packag
er
AB
R
Tra
nscoder
VOD
Library
Altern
ate
Conte
nt
SS
cDVR
CDN
AB
R
TS
Lin
ear
AB
R
TS
VO
D P
um
p
JIT
P &
JIT
E
General Purpose Public or Private Cloud Compute
Sta
tmu
x
Scra
mble
Multic
ast
AB
R
vCM
TS
Micro-Service Edge
69BRKSPV-1102
© 2017 Cisco and/or its affiliates. All rights reserved. Cisco Public 70
Openstack and Containers - Can they work together?BRKSPV-1102
© 2017 Cisco and/or its affiliates. All rights reserved. Cisco Public
OpenStack on Kubernetes (SAP use case)
Control and Data Plane Split
Cisco UCS
Openstack
Kubernetes
CoreOS
F5
VMware
Bare MetalCisco ACI NetApp
Nova Neutron Cinder LBaaS
KVM
71BRKSPV-1102
© 2017 Cisco and/or its affiliates. All rights reserved. Cisco Public
Hurdles Still to Overcome
• Networking Complexity in Container Environment
• Security
• App Isolation
• Access to Host
• Adoption by Video Vendor Community
• Skill Set in Market
• Container Management Platform Evolution
72BRKSPV-1102
© 2017 Cisco and/or its affiliates. All rights reserved. Cisco Public
What to do about it?
I encourage you to :
1. Focus on software architecture, and not just the feature set.
2. Include SW architecture as a critical part of your decision-making process for future video solutions.
3. Make sure that containers are represented as a key piece of that architecture.
4. Ensure that the architecture will support hybrid cloud architectures.
73
?BRKSPV-1102
Wrap up
© 2017 Cisco and/or its affiliates. All rights reserved. Cisco Public
Key Messages
• Not all cloud software is the same!
• Cloud-native opens up new architecture and business possibilities
• Containers provide technology for true cloud delivery of services, because of:
• Web-scale design (resiliency, scale, elasticity)
• Micro-service apps enable true CI/CD and DevOps
• Cisco building solutions for orchestrated container-based, hybrid workflows
75
Service
Provider Cloud
Content
Provider Cloud
Hosted
Cloud
BRKSPV-1102
© 2017 Cisco and/or its affiliates. All rights reserved. Cisco Public
Complete Your Online Session Evaluation
Don’t forget: Cisco Live sessions will be available for viewing on-demand after the event at CiscoLive.com/Online
• Please complete your Online Session Evaluations after each session
• Complete 4 Session Evaluations & the Overall Conference Evaluation (available from Thursday) to receive your Cisco Live T-shirt
• All surveys can be completed via the Cisco Live Mobile App or the Communication Stations
76BRKSPV-1102
© 2017 Cisco and/or its affiliates. All rights reserved. Cisco Public
Continue Your Education
• Demos in the Cisco campus
• Walk-in Self-Paced Labs
• Lunch & Learn
• Meet the Engineer 1:1 meetings
77BRKSPV-1102
© 2017 Cisco and/or its affiliates. All rights reserved. Cisco Public
Continue Your Education
• Related sessions
• DEVNET-2203: DevNet Workshop - Building a DevOps CICD Pipeline from Scratch: • Wednesday, Feb 22, 2:00 p.m. or Thursday, Feb 23, 10:00 a.m.
• DEVNET-2030/2123: Container Networking with Project Contiv• Wednesday, Feb 22, 5:00 p.m. or Thursday, Feb 23, 5:00 p.m.
• DEVNET-2058: Cisco Zeus: Monitoring as a Service • Thursday, Feb 23, 9:00 a.m.
• BRKSPM-2333: Leveraging Microservices and Containers to Fulfill the Promise of Auto-scale and Continuous Delivery in Service Provider Networks: • Thursday, Feb 23, 2:30 p.m.
• DEVNET-2042: DevNet Workshop - Getting Started with Containers• Thursday, Feb 23, 4:00 p.m.
78BRKSPV-1102
Q & A
Thank You