Building a diverse geo-
architecture for Cloud
Native Applications in
one day
Ben Laplanche
Product Manager - Pivotal Cloud Foundry
Who am i?
• Ben Laplanche
• Product Manager on Pivotal
Cloud Foundry
• Based in London
• Focused on services &
partner enablement
• @ben_laplanche
• blaplanche@pivotal.io
@ben_laplanche
“Cloud is about how
computing is done, not
where”
Cloud Native
• Changing the way enterprises think about building software
• Balancing speed and agility with operational excellence
• Move fast - consistently and reliably
• Release fast and often
• Create business demand and customer value
• Enable high performing teams
• At scale, globally
This is what Cloud Native means
@ben_laplanche
Cloud Native enablers
@ben_laplanche
Pivotal Cloud Foundry
Cloud Native applications
@ben_laplanche
But what about global
reach and resiliency?
@ben_laplanche
Diverse geo-
architecture
Credit to www.vectorworldmap.com
@ben_laplanche
What did I deploy?1. Full Pivotal Cloud Foundry
1. Runtime & container orchestration
2. Logging & metrics
3. Health monitoring
4. Application auto scaling
2. DataStax Enterprise
1. 6 node cluster
2. DataStax OpsCenter
3. VPN Tunnel
To each location
Network view
PrivatePublic
Pivotal OpsManager
Load Balancer
VPN Server C*
C*
C*
C*
C*
Cassandra node
WWW Router DEAs
App traffic flow
PrivatePublic
Pivotal OpsManager
Load Balancer
VPN Server C*
C*
C*
C*
C*
Cassandra node
WWW Router DEAs
VPN view
PrivatePublic
Pivotal OpsManager
Load Balancer
VPN Server C*
C*
C*
C*
C*
Cassandra node
WWW Router DEAs
Openstack
vSphere
Network view continued…
AWS Environment
Apps domain *.aws.my-pcf.com
Public subnet CIDR 10.0.0.0/24
Private subnet CIDR 10.0.16.0/20
Cloud Foundry range 10.0.16.1 to 10.0.16.49
Datastax range 10.0.16.50 to 10.0.16.55
@ben_laplanche
In 1 day!
HOW!?!?
IaaS Setup
AWS vSphere Openstack
• Cloud Formation
scripts
• VPC
• Subnets
• Security Groups
• RDS
• S3
• ELBs
• vCenter
• Resource pools
• Networking
• Disk
• DNS
• Openstack Tenant
• Physical hardware
• Floating IPs
• DNS
• Permissions
Deploying the world
Application workflow
$cf push demo-app
• to give
• demo.aws.my-pcf.com
• demo.vsphere.my-pcf.com
• demo.openstack.my-pcf.com
• cassandra.my-pcf.com
Connect to Cassandra
Connect App & Cassandra
Configuring Cassandra
On each Cluster
• Set the cluster names to all be Demo
• Seed nodes to include remote environments
• on every node
• Restarted clusters
Caveat: I did this behind the scenes
Global Load Balancing
• Such as Akamai
• Global
• Geo routing
• Register cassandra.my-pcf.com and point to all
three sites
@ben_laplanche
Demonstration
Network view continued…
AWS vSphere Openstack
Apps domain *.aws.my-pcf.com
*.vsphere.my-
pcf.com
*.openstack.my-
pcf.com
Public subnet
CIDR
10.0.0.0/24 10.0.0.0/24 10.0.0.0/24
Private subnet
CIDR
10.0.16.0/20 10.0.16.0/20 10.0.16.0/20
Cloud Foundry
range
10.0.16.1 to
10.0.16.49
10.0.16.1 to
10.0.16.49
10.0.16.1 to
10.0.16.49
Datastax range
10.0.16.50 to
10.0.16.55
10.0.16.50 to
10.0.16.55
10.0.16.50 to
10.0.16.55
Network view continued…
AWS vSphere Openstack
Apps domain *.aws.my-pcf.com
*.vsphere.my-
pcf.com
*.openstack.my-
pcf.com
Public subnet
CIDR
10.0.0.0/24 10.0.0.0/24 10.0.0.0/24
Private subnet
CIDR
10.0.16.0/20 10.0.16.0/20 10.0.16.0/20
Cloud Foundry
range
10.0.16.1 to
10.0.16.49
10.0.16.1 to
10.0.16.49
10.0.16.1 to
10.0.16.49
Datastax range
10.0.16.50 to
10.0.16.55
10.0.16.50 to
10.0.16.55
10.0.16.50 to
10.0.16.55
here’s what it would have
demonstrated
• $nodetool status
• write data directly to one DC
• see it appear in another DC
• A failed site - everything is still ok!
@ben_laplanche
Doing this, but better
TCP Router
PrivatePublic
Pivotal OpsManager
Load Balancer
C*
C*
C*
C*
C*
Cassandra node
WWW
HTTP
Router
DEAs
TCP
Router
Arbitrary Params
Specify configuration when creating a single-tenant
instance
$cf cs p-datastax single-tenant demo -p
“{cluster_name”: “demo”, “remote_seed”:
“cassandra.aws.my-pcf.com”}
@ben_laplanche
Current World
Multi-Tenant plan
• Access to a shared 4 node
cluster on-demand
• Ability to scale vertically as you
require through OpsManager
• Great for development / testing
• Automated upgrades between
versions of Cassandra
• Using DataStax Enterprise &
OpsCenter
• Best practice configuration
Single-Tenant plan
• Production ready plan
• Access to a dedicated 6 node
cluster on-demand
• Ability to scale vertically as you
require through OpsManager
• Automated upgrades between
versions of Cassandra
• Using DataStax Enterprise &
OpsCenter
• Best practice configuration
@ben_laplanche
Available from
http://network.pivotal.io
Multi-Tenant plan with upgrades &
Single-Tenant production plan
available in Q4
Any questions?
@ben_laplanche
Come visit the Pivotal
Booth
We’re Hiring!
Software Engineers
Product Managers
blaplanche@pivotal.io
@ben_laplanche
pivotal.io/careers

Building A Diverse Geo-Architecture For Cloud Native Applications In One Day