3. About me...
•My Cloud Native journey began 2+ years ago
• Working with Pivotal as a trusted partner
• Pairing with large customers enabling transformation using Pivotal Cloud
Foundry
• Platform, operations, application migration/modernization
• For who:
• a very large private company,
• a near Fortune 100 company,
• and several others with a Fortune 500 average of 24
4. About me...
Custom Tile Generation in PCFMonitoring Cloud Foundry –
Learning about the Firehose
14. What should my cloud native platform do?
VALUE
LINE
Time
allocation
I want this
15. What should my cloud native platform do?
VALUE
LINE
Time
allocation
I really have this
16. What should my cloud native platform do?
VALUE
LINE
Time
allocationWhat are some examples of
undifferentiated heavy lifting?
17. What should my cloud native platform do?
VALUE
LINE
Time
allocationWhat are some examples of
undifferentiated heavy lifting?
18. What should my cloud native platform do?
VALUE
LINE
Time
allocation
Provisioning VMs, OS, middleware, and databases
19. What should my cloud native platform do?
VALUE
LINE
Time
allocation
Provisioning VMs, OS, middleware, and databases
20. What should my cloud native platform do?
VALUE
LINE
Time
allocation
Provisioning VMs, OS, middleware, and databases
21. What should my cloud native platform do?
VALUE
LINE
Time
allocation
Provisioning VMs, OS, middleware, and databases
Load Balancing and traffic routing
22. What should my cloud native platform do?
VALUE
LINE
Time
allocation
Provisioning VMs, OS, middleware, and databases
Load Balancing and traffic routing
23. What should my cloud native platform do?
VALUE
LINE
Time
allocation
Provisioning VMs, OS, middleware, and databases
Load Balancing and traffic routing
24. What should my cloud native platform do?
VALUE
LINE
Time
allocation
Provisioning VMs, OS, middleware, and databases
Load Balancing and traffic routing
25. What should my cloud native platform do?
VALUE
LINE
Time
allocation
Provisioning VMs, OS, middleware, and databases
Load Balancing and traffic routing
26. What should my cloud native platform do?
VALUE
LINE
Time
allocation
Provisioning VMs, OS, middleware, and databases
Load Balancing and traffic routing
Appplication placement
27. What should my cloud native platform do?
VALUE
LINE
Time
allocation
Provisioning VMs, OS, middleware, and databases
Load Balancing and traffic routing
Appplication placement
28. What should my cloud native platform do?
VALUE
LINE
Time
allocation
Provisioning VMs, OS, middleware, and databases
Load Balancing and traffic routing
Appplication placement
30. Or the CNPC for short…
The Cloud Native Platform “Continuum”
Unstructured Platform Structured Platform
31. Unstructured Platform
• A fast “on rails” development and deployment
experience
• Lower overall effort required to operate and
maintain the environment than unstructured
platforms
• Built-in capabilities and integration points for key
enterprise concerns such as user management,
security, and audit compliance Structured Platform
Or the CNPC for short…
The Cloud Native Platform “Continuum”
- Duncan Winn
Cloud Foundry: The Definitive Guide
32. Unstructured Platform Structured Platform
• Built on, and adhere to, a set of well-defined
principles employing best practices
• Constrained to do the right thing for your
application, based on defined contracts
• Consistent across environments, with every
feature working as designed out of the box
• Configurable, and extendable, but not to the
extent that the nature of the platform changes Opinionated Platform
Or the CNPC for short…
The Cloud Native Platform “Continuum”
- Duncan Winn
Cloud Foundry: The Definitive Guide
35. Unstructured Platform Structured Platform
Opinionated Platform
“ Google actually said it really well, because they get
asked this question too: ‘Why are you excited about Cloud
Foundry and supporting that? Aren’t it and Kubernetes
competitive?;’ And they said, ‘Kubernetes is really a
technology that allows people to build a platform to run
their applications. And Pivotal Cloud Foundry is a
platform to run your applications.”
- Rob Mee
Pivotal CEO
Or the CNPC for short…
The Cloud Native Platform “Continuum”
36. “Cloud Foundry is an opinionated, structured
platform that rectifies PaaS confusion by
imposing a strict contract between:
• The infrastructure layer underpinning it
• The applications and services it supports”
- Duncan Winn
Cloud Foundry: The Definitive Guide
44. 44
Contract: Cloud Provider Interface
Who
BOSH
Orchestration
(Infrastructure Automation)
IT Ops
Infrastructure
HowWhat
45. 45
Contract: Cloud Provider Interface
Who
BOSH
Orchestration
(Infrastructure Automation)
IT Ops
IT Ops
Infrastructure
HowWhat
46. 46
Contract: Cloud Provider Interface
Who
BOSH
Runtime Platform
Orchestration
(Infrastructure Automation)
IT Ops
IT Ops
Services
Infrastructure
HowWhat
47. 47
Contract: Cloud Provider Interface
Who
Cloud Foundry
BOSH
Runtime Platform
Orchestration
(Infrastructure Automation)
IT Ops
IT Ops
Services
Infrastructure
HowWhat
48. 48
Contract: BOSH Release
Contract: Cloud Provider Interface
Who
Cloud Foundry
BOSH
Runtime Platform
Orchestration
(Infrastructure Automation)
IT Ops
IT Ops
Services
Infrastructure
HowWhat
49. 49
Contract: BOSH Release
Contract: Cloud Provider Interface
Who
Dev IT Ops
Cloud Foundry
BOSH
Runtime Platform
Orchestration
(Infrastructure Automation)
IT Ops
IT Ops
Services
Infrastructure
HowWhat
50. 50
Contract: BOSH Release
Contract: Cloud Provider Interface
Who
Dev IT Ops
Cloud Foundry
BOSH
Runtime Platform
Orchestration
(Infrastructure Automation)
IT Ops
IT Ops
Services
Applications
Infrastructure
HowWhat
51. 51
Contract: BOSH Release
Contract: Cloud Provider Interface
Who
Dev IT Ops
Cloud Foundry
BOSH
Runtime Platform
Orchestration
(Infrastructure Automation)
IT Ops
IT Ops
Services
Applications
more…
Infrastructure
HowWhat
52. 52
Contract: BOSH Release
Contract: Cloud Provider Interface
Who
Dev IT Ops
Cloud Foundry
BOSH
Runtime Platform
Orchestration
(Infrastructure Automation)
IT Ops
IT Ops
Services
Applications
Contract: 12 Factor App
more…
Infrastructure
HowWhat
53. 53
Contract: BOSH Release
Contract: Cloud Provider Interface
Who
Dev
Dev IT Ops
Cloud Foundry
BOSH
Runtime Platform
Orchestration
(Infrastructure Automation)
IT Ops
IT Ops
Services
Applications
Contract: 12 Factor App
more…
Infrastructure
HowWhat
54. 54
Pivotal Cloud Foundry
Contract: BOSH Release
Contract: Cloud Provider Interface
Who
Dev
Dev IT Ops
Cloud Foundry
BOSH
Runtime Platform
Orchestration
(Infrastructure Automation)
IT Ops
IT Ops
Services
Applications
Contract: 12 Factor App
more…
Infrastructure
How
55.
56. PCF–Distributed
VirtualAppliance
Availability Zone 1 Availability Zone 2
DEA
VM
DEA
VM
VMGO Router VMGO Router
VMGO Router VMGO Router
DEA
VM
Cells
VM
DEA
VM
Cells
VM
VM
Cloud
controller
Page 56
Developer
App traffic and cf cli traffic (port 80/443)
Apps
The ”Developer Abstractions” and the PCF Developer Experience
57. PCF–Distributed
VirtualAppliance
Availability Zone 1 Availability Zone 2
DEA
VM
DEA
VM
VMGO Router VMGO Router
VMGO Router VMGO Router
DEA
VM
Cells
VM
DEA
VM
Cells
VM
VM
Cloud
controller
Page 57
The ”Developer Abstractions” and the PCF Developer Experience
Developer uses
cf cli to push
deployment
Developer
cf push myapp.jar
58. PCF–Distributed
VirtualAppliance
Availability Zone 1 Availability Zone 2
DEA
VM
DEA
VM
VMGO Router VMGO Router
VMGO Router VMGO Router
DEA
VM
Cells
VM
DEA
VM
Cells
VM
VM
Cloud
controller
Page 58
All cf cli calls go to the
cloud controller.
Developer
cf push myapp.jar
The ”Developer Abstractions” and the PCF Developer Experience
59. PCF–Distributed
VirtualAppliance
Availability Zone 1 Availability Zone 2
DEA
VM
DEA
VM
VMGO Router VMGO Router
VMGO Router VMGO Router
DEA
VM
Cells
VM
DEA
VM
Cells
VM
VM
Cloud
controller
Page 59
The deployed app +
buildpack + linux container
is called a droplet
Developer
cf push myapp.jar
Diego
Auction
The ”Developer Abstractions” and the PCF Developer Experience
60. PCF–Distributed
VirtualAppliance
Availability Zone 1 Availability Zone 2
DEA
VM
DEA
VM
VMGO Router VMGO Router
VMGO Router VMGO Router
DEA
VM
Cells
VM
DEA
VM
Cells
VM
VM
Cloud
controller
Page 60
An auction is triggered to
deploy the droplet to a
Diego cell
Developer
cf push myapp.jar
Diego
Auction
The ”Developer Abstractions” and the PCF Developer Experience
61. All that can be thought of as ”Sausage Making”…
PCF
Go Routers
Cells
Cloud
Controller
Apps
Sausage
Making
UsersDevelopers
Application trafficCF API traffic
Browsercf CLI
62. PCF–Distributed
VirtualApplicance
Availability Zone 1 Availability Zone 2
DEA
VM
DEA
VM
VMGO Router VMGO Router
VMGO Router VMGO Router
DEA
VM
Cells
VM
DEA
VM
Cells
VM
IaaS – vSphere, AWS, Openstack, others…
BOSH
VMConvergerVMConverger
Page 62
PCF Resiliency
Scenario: A Diego Cell (VM)
where your app container is
running crashes
App traffic and cf cli traffic (port 80/443)
63. PCF–Distributed
VirtualApplicance
Availability Zone 1 Availability Zone 2
DEA
VM
DEA
VM
VMGO Router VMGO Router
VMGO Router VMGO Router
DEA
VM
Cells
VM
DEA
VM
Cells
VM
IaaS – vSphere, AWS, Openstack, others…
BOSH
VMConverger
Failed VMs
are recovered
VMConverger
Page 63
PCF Resiliency
desired state
actual state
desired state
actual state
App traffic and cf cli traffic (port 80/443)
64. PCF–Distributed
VirtualApplicance
Availability Zone 1 Availability Zone 2
DEA
VM
DEA
VM
VMGO Router VMGO Router
VMGO Router VMGO Router
DEA
VM
Cells
VM
DEA
VM
Cells
VM
IaaS – vSphere, AWS, Openstack, others…
BOSH
Failed VMs
are recovered
VMConverger
Page 64
PCF Resiliency
PCF redistributes the
applications that were running
on that cell.
desired state
actual state
VMConverger
desired state
actual state
App traffic and cf cli traffic (port 80/443)
65. PCF–Distributed
VirtualApplicance
Availability Zone 1 Availability Zone 2
DEA
VM
DEA
VM
VMGO Router VMGO Router
VMGO Router VMGO Router
DEA
VM
Cells
VM
DEA
VM
Cells
VM
IaaS – vSphere, AWS, Openstack, others…
BOSH
Failed VMs
are recovered
VMConverger
Page 65
PCF Resiliency
PCF redistributes the
applications that were running
on that cell.
BOSH recreates the Diego Cell
and apps can now run on that
cell again
desired state
actual state
VMConverger
desired state
actual state
App traffic and cf cli traffic (port 80/443)
66. PCF–Distributed
VirtualApplicance
Availability Zone 1 Availability Zone 2
DEA
VM
DEA
VM
VMGO Router VMGO Router
VMGO Router VMGO Router
DEA
VM
Cells
VM
DEA
VM
Cells
VM
IaaS – vSphere, AWS, Openstack, others…
BOSH
VMConverger
desired state
actual state
desired state
actual state
Failed VMs
are recovered
Failed
Processes are
recovered
Monit
VMConverger
Page 66
PCF Resiliency
App traffic and cf cli traffic (port 80/443)
67. PCF–Distributed
VirtualApplicance
Availability Zone 1 Availability Zone 2
DEA
VM
DEA
VM
VMGO Router VMGO Router
VMGO Router VMGO Router
DEA
VM
Cells
VM
DEA
VM
Cells
VM
IaaS – vSphere, AWS, Openstack, others…
BOSH
VMConverger
desired state
actual state
desired state
actual state
Failed VMs
are recovered
Failed
Processes are
recovered
Monit
VMConverger
Application Instances
balanced across
availability zones
Page 67
PCF Resiliency
App traffic and cf cli traffic (port 80/443)
68. PCF–Distributed
VirtualApplicance
Availability Zone 1 Availability Zone 2
DEA
VM
DEA
VM
VMGO Router VMGO Router
VMGO Router VMGO Router
DEA
VM
Cells
VM
DEA
VM
Cells
VM
IaaS – vSphere, AWS, Openstack, others…
BOSH
VMConverger
desired state
actual state
desired state
actual state
Failed VMs
are recovered
Failed
Processes are
recovered
Monit
VMConverger
Application Instances
balanced across
availability zones
Failed Application
Instances are
recovered
Page 68
PCF Resiliency
App traffic and cf cli traffic (port 80/443)
69. “Every app dies, not every app truly lives”
- Josh Ghiloni
ECS Senior Cloud Architect
72. What’s in a cloud native platform
• Goal to go faster – then
• Building on the foundations of containers and container orchestration,
cloud platforms add the logging, auditing, security, policies, compliance,
standard container image repo, onboarding, role-based access,
infrastructure tool abstraction,
• Platforms you hear things like docker, kubernetes