software defined everything - nlvmug · software defined everything kit colbert vp & gm,...
TRANSCRIPT
© 2015 VMware Inc. All rights reserved.
Software Defined Everything
Kit Colbert VP & GM, Cloud-Native Business Unit March 2016
IT Drives These Changes
Compared to peers across the industry, high-performing IT organizations experience:
4 Source: https://puppetlabs.com/2015-devops-report
60x fewer failures
168x faster failure recovery time
30x more frequent deployments
200x shorter
lead times
Building the Best Software: Experiment Continually We’re more often wrong than we’re right:
5 Source: http://ai.stanford.edu/~ronnyk/ExPThinkWeek2009Public.pdf
“ Evaluating well-designed and executed experiments that were designed to improve a key metric, only about one-third were successful at improving the key metric!”
• Avoid the temptation to try and build optimal features through extensive planning without early testing of ideas.
• Experiment often. • A failure of an experiment is not a mistake: learn from it. • Try radical and controversial ideas often. • Experiment to find out how a feature degrades user experience to make
business decisions.
So we need to behave differently:
“ I want to release the smallest amount of code, using the smallest number of people, with the least amount of ceremony possible, as frequently as possible.” Source: Erik Kastner, Etsy.com
6
What Exactly Is DevOps? Wikipedia
“ a software development method that stresses communication, collaboration, integration, automation, and measurement of cooperation between software developers and other information-technology (IT) professionals.” https://en.wikipedia.org/wiki/DevOps
8
Adam Jacob’s DevOps Kung fu “ A cultural and professional movement, focused on how we build and operate high velocity organizations, born from the experiences of its practitioners.” https://github.com/chef/devops-kungfu
Cloud Technology Partners “ DevOps: A cultural shift or movement that encourages great collaboration (aka teamwork) to foster building better quality software more quickly with more reliability.” http://www.cloudtp.com/2014/05/22/devops-organizational-change-agent/
Jez Humble “ a cross-functional community of practice dedicated to the study of building, evolving, and operating rapidly changing, secure, resilient systems at scale.” https://www.youtube.com/watch?v=L1w2_AY82WY
DevOps is A Holistic Systems View
9
Idea Application Code
Running Application
Business Development Operations
Agile Development DevOps fixes this fixes this
Business Process
Source: http://dev2ops.org/2010/02/what-is-devops/
DevOps Has Many Non-technical Challenges
10
Change Organization
VP of Operations
VP of Development
Layers of Middle
Management
Layers of Middle
Management
Sys Admin Developer
VP of Product
Layers of Middle
Management
Sys Admin Developer
CIO CIO
Incentivized to innovate and release
Report to same manager. Incentivized to work together to develop and release
Build Trust
Empower People to
Take Action
Update Roles and
Responsibilities
Application Design is Changing
Properties of a Microservice • Small code base
• Easy to scale, deploy and throw away
• Autonomous
• Resilient
Benefits of a Microservices Architecture • A highly resilient, scalable and resource efficient
application
• Enables smaller development teams
• Teams free to use the right languages and tools for the job
• Rapid application development
12
Monolithic/Layered Micro Services
PaaS = Platform-as-a-Service
13 Source: http://wikibon.com/cloud-native-application-platforms-structured-and-unstructured/
Structured - Pre-integrated and tested solution - Out-of-the-box functionality - “Just works”, but may not offer specifics
you want - Examples: Cloud Foundry, MS Azure,
Heroku, Google App Engine
Unstructured - DIY combination of cloud-provided services
& homegrown tools - Likely container-based - Maximum flexibility, but can be expensive to
build
PaaS Platform - Visible to Developers
Message Bus / Queuing / Routing Service Brokers
Capacity Planning Logging Monitoring
Application Staging / Application Services
Application Scheduling Container Scheduling
Service Discovery Container Cluster Management
Container Networking
Container Runtime Container OS
Container Runtime Container OS
Physical Host (or VM) Physical Host (or VM) DevOps Tools
Container Container Container
Con
figur
atio
n M
anag
emen
t
Mar
ketp
lace
/ Im
age
Man
agem
ent
Sec
urity
Container Container Container
Two ways to implement
Structured: Cloud Foundry • An open source cloud computing platform-
as-a-service
• Started at VMware in 2010 • Pivotal took it over in 2013
• Cloud Foundry Foundation formed in 2014
• Many CF-based offerings: – Pivotal CF – IBM BlueMix – CenturyLink Cloud – ActiveState – HP Helion
14
Browser Mobile IoT Devices
Customer Applications
Internal Applications
Mobile Applications
End Users
Elastic Runtime
Services
Operations
Core Services (MySQL / RiakCS)
Provider-Specific Services
User Provided Service
Instances
Logging Scaling Platform Deployment
Health Monitoring
AWS OpenStack Vmware vSphere Other Infrastructure
Hardware
OS Kernel
OS File system
Use
rspa
ce
Container
App
pro
cess
App
pro
cess
App
pro
cess
App
pro
cess
App
pro
cess
Container
App
pro
cess
App
pro
cess
Unstructured: Linux Containers
15 15
OS-level Isolation • Isolation at individual kernel subsystem
level (e.g. filesystem, process table, etc) • User-level process (LXC, libcontainer)
orchestrates these subsystems to create a container
Existed for Many Years • Solaris Zones, FreeBSD Jails, OpenVZ
Why? • Process isolation
• Reproducible environment • Enables management at scale
is a “Shipping Container” for Code
• Fric%onlessdeploymentandmaximumportability
Ondeveloperlaptop:
Thenonserver:
That’sit!!
16
Developersbecause…
~#dockerbuildmy_app~#dockerpushmy_app ~#
~#dockerpullmy_app~#dockerrunmy_app ~#
• Anaturalfitfor3rdPla:orm,12factor,microservices
• ItmakesDevOpsmuchmucheasier
Our Goal: Enable Businesses to Focus on Building Application Logic
19
Time spent on application
logic Time spent on
application logic
Time spent getting app ready to run
in production
Time spent getting app ready to run
in production
VMware Cloud Native Product Overview
20
Photon OS Photon OS
vSphere SDDC
Photon
Platform
vSphere Integrated Containers
IT Ops Team
Existing IT Environments Greenfield Cloud Native
Custom or 3rd-Party tooling
Line of Business (Developers, DevOps, etc.)
PaaS: Cloud Foundry,
OpenShift
Container Orchestration:
Kubernetes, Marathon, Swarm
Databases: EnterpriseDB,
MongoDB
Data Analytics: Hadoop, Spark
Middleware: Kafka, RabbitMQ
Integrating Docker Containers Deeply into vSphere
Basic VM Approach vSphere Integrated Containers
Container Engine
Linux
Developers + Operators use the same abstraction
vSphere Integrated Containers Architecture – Starting a Docker Container
23
When Creating a Container: • Receives “docker run” API request. • Download any new image layers to datastore. • Select container VM IP, set up any network
mappings for exposed ports. • Use Boot or Clone to create “child” PhotonOS-
Pico container VM on an available ESX host. • Creates VMDKs representing container image
(layers) and volumes, attach to the container VM. • Start the VM • Container VM executes the “entrypoint” command
for the container image. • Handles further API requests (e.g., “docker stop,
docker start, docker rm) with corresponding VM life-cycle operations.
VCH: Virtual Container Host
Docker API
vCenter
VMware ESX
PhotonOS VMware ESX
PhotonOS VMware ESX
PhotonOS
Shared Datastores
C1
Layer1
Layer2
Layer3
Image VMDK
VM create/clone
docker run
Boot / Clone
VM restart, shutdown, delete
docker stop docker rm
Net Map 8080 -> 172.16.0.3:8080
/go/bin/app
VM start
VMware Cloud Native Product Overview
24
Photon OS Photon OS
vSphere SDDC
Photon
Platform
vSphere Integrated Containers
IT Ops Team
Existing IT Environments Greenfield Cloud Native
Custom or 3rd-Party tooling
Line of Business (Developers, DevOps, etc.)
PaaS: Cloud Foundry,
OpenShift
Container Orchestration:
Kubernetes, Marathon, Swarm
Databases: EnterpriseDB,
MongoDB
Data Analytics: Hadoop, Spark
Middleware: Kafka, RabbitMQ
Specialized Infrastructure Purely for Cloud Native
25
Unified Platform: Carries Passengers + Cargo Specialized Platform: Cargo-only
• Core technologies: engines, frame/skin, cockpit technology, etc. • Core skills: pilot, maintenance, airport + air-traffic personnel.
Common Foundation
vSphere Platform
ESX, NSX, vRealize,
VSAN
Photon Platform
Photon Platform: A Clean-Slate Approach, Optimized for DevOps
26 CONFIDENTIAL
Optimized Feature-set Purpose-built for cloud native, it provides just the features needed to provide a secure and SLA-capable infrastructure for next-gen apps.
API-first Model Built on clean, devops-friendly APIs, enabling consumption and operations to automate heavily to handle massive scale.
Scale-out Control Plane A scale-out control plane optimizes for the creation of 1000s of simultaneous new workloads while delivering active availability of system APIs.
New Economics / Open Source Open source control plane with subscription-based pricing models. Optimized for use with VMware storage, and networking technology.
Photon Platform High-Level Architecture
ESXi / PhotonOS ESX Storage / Virtual SAN NSX Best-of-breed virtualization infrastructure, capable of using off-the-shelf hardware.
Multi-tenant API-driven fabric optimized for scale, churn and high-availability.
Photon Controller
vROPS Photon Platform Mgmt Tools
Simple and automated operations and management optimized for datacenter scale.
Log Insight 3rd-party / Custom Mgmt & Ops
Diverse developer-centric “consumption surfaces” from VMware, 3rd-parties, customers.
Pivotal Cloud
Foundry Custom
CI / CD
VMware Cell Manager SaaS OSS / Partner-built Customer-built
CoreOS Tectonic
Cloudera Director
Docker Machine
Cassandra
Kubernetes Hadoop
MongoDB
Photon Platform Architecture
28
VMware ESX
PhotonOS VMware ESX
PhotonOS VMware ESX
PhotonOS
Photon Controller #1
Photon API
Photon Controller: Clustered design delivers massive scale and high-
availability.
Cloud Foundry Cluster Kubernetes
Cluster
Combination of local and/or shared
ESX datastores.
Photon Controller #2
Photon Controller #3
Photon Machine: Combination of core ESX with PhotonOS
Cloud Foundry API Kubernetes API
Create CF cluster Create Kubernetes cluster
cf push cf scale kubectl create
kubectl get pods
VMware Cloud Native Product Overview
30
Photon OS Photon OS
vSphere SDDC
Photon
Platform
vSphere Integrated Containers
IT Ops Team
Existing IT Environments Greenfield Cloud Native
Custom or 3rd-Party tooling
Line of Business (Developers, DevOps, etc.)
PaaS: Cloud Foundry,
OpenShift
Container Orchestration:
Kubernetes, Marathon, Swarm
Databases: EnterpriseDB,
MongoDB
Data Analytics: Hadoop, Spark
Middleware: Kafka, RabbitMQ