1. Developer Ready Infrastructure
It Takes a Platform
Becoming a Software-driven Enterprise
Cornelia Davis
Sr. Director of Technology
Pivotal
@cdavisafc
2. @cdavisafc
Me?
Developer (wasn’t Ops)
Web architectures for >10 years
Cloud-native for 5 years
Cloud Foundry for 5 years
More recently
Discount code 40% off!: 40cloudnat
8. Silos
… and ACCOUNTABILITY
BUSINESS PMO APP DEV QA SEC & COMP OPERATIONS
CONTRACTS CREATE SCHEDULE HIT SCHEDULE FIND BUGS KEEP CEO OUT OF JAIL UPTIME
12. The Cloud Platform Evolution
12
TRADITIONAL IAAS
Virtualization Platform
Operating System
Database
Web
Server
Messaging
Your Application
Code
Physical Servers
Database
Web
Server
Messaging
Your Application
Code
IAAS
Your Application
Code
Virtualized
Infrastructure
DRI
Developer
Ready
Infrastructure
13. It Takes a Platform
People
http://radar.oreilly.com/2007/10/operations-is-a-competitive-ad.html
16. Their goal: pick the right runtime for each workload
CONTAINERS
EVENT-DRIVEN
FUNCTIONS
DATA SERVICESMICROSERVICES
Batches
MONOLITHIC
APPLICATIONS
IaaS
Container
Orchestrator
(CaaS)
Application
Platform
(PaaS)
Serverless
Functions
(FaaS)
18. Patches Patching platform components with
thousands of apps running should feel normal.
Scaling Seamlessly scale platform components
to accommodate changing demand.
Upgrades. How do you roll out new versions of
the platform with the lights on?
Operating Effort Operating a platform should
require very few resources and minimum
manual intervention. Otherwise, is it really
providing operational benefits?
Multi-cloud Provide a reliable and smooth
experience for any cloud.
Open APIs Allow platform operations from
different toolsets and the creation of CD
pipelines.
Consistency Provide a consistent setup
experience, across different cloud environment
configurations.
Setup time How long does it take to setup a
real world working environment? Think hours,
not weeks.
Operational Challenges with any platform
Day 1 - Build Day 2 - Operate
19. “Run this app for me, I don’t care how”
Platform build containers The platform takes care of container creation and management
from source code. Pivotal makes sure they’re always up-to-date.
Out-of-box logging, metrics, tracing and monitoring. No additional configuration
required.
Create services on demand On-demand service brokers allow dynamic creation and
binding of service dependencies, offered through a marketplace.
Fully automated Ops. State-of-art automation for consistent and reliable operations.
Pipeline-based deployment, scale, patching and upgrades. Powered by BOSH
Perfect for 12-Factor apps
Application
Platform
20. “Run this containerized app for me. Let me tell you how.”
Containerized workloads. Custom and ISV packaged apps and services delivered as
containers
Stateful services. Services using persistent storage such as MongoDB, Cassandra, Spark,
Elastic Search, CouchDB
Customization. Specify how your app is deployed and operated to optimize performance and
reliability
Ideal for packaged apps, apps/services exposing
multiple ports and where finer grained control is
needed
Container
Orchestrator
21. Kubernetes - especially hard to operationalize
High Availability. No out-of-the-box fault-
tolerance for the cluster components
themselves (masters and etcd nodes).
Scaling. Kubernetes clusters handle scaling the
pod/service within the Nodes, but doesn’t
provide a mechanism to scale Masters & etcd
VMs.
Health checks and healing. The Kubernetes
cluster does routine health checks for the health
of Nodes only.
Upgrades. Rolling upgrades on a large fleet of
clusters is hard. Who manages the system it
runs on?
BOSH
22. PIVOTAL CLOUD FOUNDRY OPS
Powered by BOSH
BOSH is an open source tool
for release engineering,
deployment, lifecycle
management, and
monitoring of distributed
systems.
BOSH
Packaging w/ embedded OS
Server provisioning on any IaaS
Software deployment across availability
zones
Health monitoring (server AND processes)
Self-healing w/ Resurrector
Storage management
Rolling upgrades via canaries
Easy scaling of clusters
23. Project Kubo
Uniform way to instantiate,
deploy, and manage highly
available Kubernetes
clusters. On any cloud.
Launched by Pivotal &
Google Feb 2017.
Donated to Cloud Foundry
Foundation June 2017
“Day 1” Build
" Deploy K8s cluster via BOSH
" Deploy K8s clusters on-demand
“Day 2” Operate
" Self-healing VMs and monitoring
" Elastic scaling for clusters
" Rolling upgrades to latest
Kubernetes release
" High-availability and multi-AZ
support
24. Pivotal Container Service (PKS)
A turnkey solution to
provision, operate and
manage enterprise grade
Kubernetes clusters
Kubernetes Dial Tone:
• Health management
• Aggregated Metrics and Logging
• Autoscaling
• Persistence interface
Control Plane:
• Provisioning Engine
• T-shirt sized clusters
• Self-service Clusters
• Software Update Automation
• Load balancing
• Networking
• Multi-tenancy
+
+
25. BOSH
GCP
Service
Broker
Harbor
NSX-T
Kubernetes
K8s Cluster
K8s Cluster
K8s Cluster
Built with open-source Kubernetes — Constant
compatibility with the current stable release of Kubernetes,
operated by BOSH. No proprietary extensions.
Production-ready — Highly available from apps to
infrastructure, no single points of failure. Built-in health
checks, scaling, auto-healing and rolling upgrades.
Multicloud — BOSH provides a reliable and consistent
operational experience. For any cloud.
Network management and security out-of-the-box with
VMware NSX-T. Multi-cloud, multi-hypervisor.
GCP APIs access — The GCP Service Broker allows apps to
transparently access Google Cloud APIs, from anywhere.
Easily move workloads to/from Google Container Engine
(GKE).
Fully automated Ops — Fully automated deploy, scale,
patch, upgrade. No downtime. Use CD pipelines to deploy
your platform, too.
VMware GCP Azure Openstack AWS
PKSController
26. Apps are constantly compatible between PKS and Google Container Engine (GKE)
Google Container
Engine (GKE)
Pivotal Container
Service (PKS)
Private and
Public Cloud
Public Cloud
(on GCP)
27. Leveraging more than one abstraction
BOSH
Other
Broker
Services
Platform Services
Logging Metrics Monitoring
Elastic Runtime (ERT)
Application Application
VMware GCP Azure Openstack AWS
PKSController
GCP
Service
Broker
Harbor
NSX-T
Kubernetes
K8s Cluster
K8s Cluster
K8s Cluster