2. Different workloads: no « one size fits all! »
CONTAINERS
EVENT-DRIVEN
FUNCTIONS
DATA SERVICESMICROSERVICES
Batches
MONOLITHIC
APPLICATIONS
IaaS
Container
Orchestrator
(CaaS)
Application
Platform
(PaaS)
Serverless
Functions
(FaaS)
3. Container
Orchestrator
Container Scheduling
Primitives for Network,
Routing, Logs & Metrics
CONTAINER
Choose the right tool for the job
Developer
Provides
Tool
Provides
Application
Platform
APPLICATION
Container Orchestrator
Serverless
Functions
FUNCTION
Application Platform
IaaS
Container Image & build
L7 Network & Routing
Logs, Metrics, Monitoring
Services Marketplace
Team, Quotas & Usage
Function scheduling
Function exec services
Container Orchestrator
4. Container
Orchestrator
Container Scheduling
Primitives for Network,
Routing, Logs & Metrics
CONTAINER
Choose the right tool for the job
Developer
Provides
Tool
Provides
Application
Platform
APPLICATION
Container Orchestrator
Serverless
Functions
FUNCTION
IaaS
Container Image & build
L7 Network & Routing
Logs, Metrics, Monitoring
Services Marketplace
Team, Quotas & Usage
Application Platform
Container Orchestrator
Function scheduling
Function exec services
Lower complexity, higher efficiency
Higher flexibility, lower standardization
5. 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 it Day 2 – Run it,
forever, at scale
8. Container Technologies Governing Bodies
Since version 1.11, the Docker daemon no longer
handles the execution of containers itself.
Instead, this is now handled by containerd.
More precisely, the Docker daemon prepares the
image as an Open Container Image (OCI) bundle
and makes an API call to containerd to start the OCI
bundle.
containerd then starts the container using runC.
9. “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
10. Layers & Capabilities
Application Framework
Runtime Platform
Infrastructure Automation
Infrastructure
Dev
Dev
Ops
Contract: 12 factor app
Contract: BOSH Release
Contract: Cloud Provider Interface
IT Ops
Culture Cloud Native Framework Tools
Go
Image registry
11. “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
12. If you are recreating containers
nightly but not the workers or VMs
that host them, you still have pets
13. 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?
?
14. PIVOTAL CLOUD FOUNDRY BEST KEPT SECRET
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
15. BORG
BOSH
KUBO
Google's Borg system is a cluster manager that
runs hundreds of thousands of jobs, from many
thousands of different applications, across a
number of clusters each with up to tens of
thousands of machines.
Cloud Foundry BOSH is an open source tool
chain for release engineering, deployment,
and lifecycle management of large scale
distributed services.
“Project Kubo” is a collaborative OSS effort
between Google and Pivotal to bring the release
engineering, deployment, and lifecycle
management qualities of BOSH to Kubernetes
clusters.
+ shell
+ K8s
16. 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
17. Leveraging more than one abstraction
BOSH
On demand
Services
Platform Services
Logging Metrics Monitoring
Application Application
VMware GCP Azure Openstack AWS
PKSController
GCP
Service
Broker
Harbor
NSX-T
Kubernetes
K8s Cluster
K8s ClusterK8s Cluster
18. Sample Use Case
On demand
Services
Platform Services
Logging Metrics Monitoring
VMware GCP Azure Openstack AWS
Spring Boot App
PKSController
GCP
Service
Broker
Harbor
NSX-T
Kubernetes
K8s Cluster
K8s Cluster
~ 12F Apps
Elastic Search