anynines CEO Julian Fischer leads through how to build a failure proof Cloud Foundry environment using infrastructure availability zones with Bosh including a SPOF-free Cloud Foundry runtime and on-demand provisioning data services.
22. How to apply AZs to Bosh
cloud_config.yml
azs:
- name: z1
cloud_properties:
availability_zone: de_sky_1
- name: z2
cloud_properties:
availability_zone: de_sky_2
- name: z3
cloud_properties:
availability_zone: de_sky_3
vm_types:
- name: small
network: default
cloud_properties:
instance_type: m1.small
stemcell:
name: bosh-openstack-kvm-ubuntu-trusty-go_agent
version: 3137
23. How to apply AZs to Bosh
deployment manifest:
...
jobs:
- name: psqldb
instances: 3
templates:
- name: postgresql-ha
release: postgresql94
- name: consul
release: consul
azs: [z1, z2, z3]
vm_type: small
27. ⢠Create a list of system components
⢠Check every component whether it is a
SPOF
⢠Check every SPOF if it can be clustered
⢠Cluster it SPOF if possible
⢠Prepare for night-shiOs, if not
29. Cloud Foundry w SPOFs
Can be deployed, redundantly.
Cloud Controller
HMDEA
Blob Store UAA
CC DB UAA DB
NATS
Blob Store NFS
Needs addi0on eďŹort.
30. Cloud Foundry wo SPOFs
Can be deployed, redundantly.
Cloud Controller
HMDEA
Blob Store UAA
UAA & CC PostgreSQL Cluster
NATS
Blob Store SwiO/S3
Eliminated SPOF.
35. Master DB Failure
PostgreSQL Cluster #1
Health
Monitor
Bosh
Director âŚ
Postgresql VM#1â¨
10.0.0.5
DB Master
Consul Agent
repmgrd
Bosh Agent
Postgresql VM#2â¨
10.0.0.6
DB Slave
Consul Agent
repmgrd
Bosh Agent
Postgresql VM#3â¨
10.0.0.7
DB Slave
Consul Agent
repmgrd
Bosh Agent
37. ⢠Provide a set of creden0als to access the
PostgreSQL database
⢠Creden0als must always point to the DB
master &
⢠IP addresses may change during failover
when promo0ng a new master db server >
⢠Canât use IP addresses in service bindings
⢠Canât use Bosh DNS names
39. Master DB Failure
Postgresql VM#2â¨
10.0.0.6
Postgresql VM#3â¨
10.0.0.7
PostgreSQL Cluster #1
DB Slave DB Slave
Consul Agent Consul Agent
Postgresql VM#1â¨
10.0.0.5
DB Master
Consul Agent
repmgrd repmgrd repmgrd
Consul DNS Name:
mst.s1-1.consul
Consul
Node
Consul Cluster
Consul
Node
Consul
Node
Consul
Node
Consul
Node
Consul DNS Name:
mst.s1-1.consul
Health
Monitor
Bosh
Director âŚ
Bosh Agent Bosh Agent Bosh Agent
40. Automa0c Failover
Postgresql VM#2â¨
10.0.0.6
Postgresql VM#3â¨
10.0.0.7
PostgreSQL Cluster #1
DB Slave DB Slave
Consul Agent Consul Agent
repmgrd repmgrd
DB Master
Consul
Node
Consul Cluster
Consul
Node
Consul
Node
Consul
Node
Consul
Node
Consul DNS Name:
mst.s1-1.consul
Consul DNS Name:
mst.s1-1.consul
Health
Monitor
Bosh
Director âŚ
Bosh Agent Bosh Agent
42. Recovery from degraded Mode
Postgresql VM#2â¨
10.0.0.6
Postgresql VM#3â¨
10.0.0.7
PostgreSQL Cluster #1
DB Slave DB Slave
Consul Agent Consul Agent
repmgrd repmgrd
DB Master
Consul
Node
Consul Cluster
Consul
Node
Consul
Node
Consul
Node
Consul
Node
Consul DNS Name:
mst.s1-1.consul
Health
Monitor
Bosh
Director âŚ
Postgresql VM#4â¨
10.0.0.8
DB Slave
Consul Agent
repmgrd
Bosh Agent Bosh AgentBosh Agent
44. Cloud Foundry SPOFs
Can be deployed, redundantly.
Cloud Controller
HMDEA
Blob Store UAA
UAA & CC PostgreSQL Cluster
NATS
Blob Store SwiO/S3
Eliminated SPOF.
45. A Cloud Foundry is
not produc0on ready
without produc0on ready
data services.
68. Titeltext
Title small Lato Normal 64pt
Textebene Lato Leicht 42pt
Title Lato Normal 84pt
BeschriOung dunkel Lato leicht 18pt
BeschriOung hell Lato Leicht 18pt
Textebene Code Lato Leicht 18pt
<â only on white background!!!