Beyond 1001 Dedicated Data Service Instances

Size: px
Start display at page:

Download "Beyond 1001 Dedicated Data Service Instances"

Transcription

1 Beyond 1001 Dedicated Data Service Instances

2 Introduction

3

4 The Challenge

5 Given: Application platform based on Cloud Foundry to serve thousands of apps

6 Application Runtime

7 Many platform users - who don t know each other Different app langs & frameworks 100% on-demand self-service: no involvement of the platform operator necessary. Instant scalablity & self-healing

8 Easy Deployment $> cf push myapp

9 Runtime abstraction

10 Java Bildpack Java Code Staging Java Droplet Execution Droplet

11 Ruby Bildpack Ruby Staging Ruby Droplet Execution Droplet

12 Java Droplet Droplet Droplet Ruby Droplet

13 In front of the Cloud Foundry Runtime all droplets are equal

14 Droplet Droplet $START_CMD $START_CMD

15 Droplet Container Image Droplet $START_CMD $START_CMD $START_CMD

16 Something you can execute in a container. Something you can execute in a container. Something you can execute in a container. $START_CMD $START_CMD $START_CMD

17 Abstraction enables further assumptions & automation

18 Scaling Apps Cloud Foundry Runtime App#2 Instance#1 $> App#1 Instance#1 App#2 Instance#2 Assuming this to be our status quo.

19 App Scalability $> cf scale -i 3 app#1

20 Scaling Apps Cloud Foundry Runtime App#2 Instance#1 App#1 Instance#1 App#1 Instance#2 $> App#1 Instance#3 App#2 Instance#2 Two additional instances have been created.

21 App Self-Healing

22 App Self-Healing Cloud Foundry Runtime App#2 Instance#1 App#1 Instance#1 App#1 Instance#2 $> App#1 Instance#3 App#2 Instance#2 Everything is healthy.

23 App Self-Healing Cloud Foundry Runtime App#1 Instance#1 App1 Instance $> 2 App#1 Instance#3 App#2 Instance#1 App#2 Instance#2 App #1 Instance #2 is failing.

24 App Self-Healing Cloud Foundry Runtime App#2 Instance#1 App#1 Instance#1 $> App#1 Instance#3 App#2 Instance#2 App #1 Instance #2 - gone temporarily.

25 App Self-Healing Cloud Foundry Runtime App#2 Instance#1 App#1 Instance#1 App#1 Instance#2 $> App#1 Instance#3 App#2 Instance#2 App #1 Instance #2 re-created.

26 How does the paradise for Backing Services look like?

27 Missing: A solution to serve thousands of data services

28 Application Runtime Data Services

29 The Mission

30 Providing a growing number of data services with full lifecycle automation of thousands of data service instances across a wide range of infrastructures

31 Providing a growing number of data services with full lifecycle automation of thousands of data service instances across a wide range of infrastructures

32 a9s PostgreSQL a9s MongoDB a9s RabbitMQ Providing a growing number of data services with full lifecycle automation of thousands of data service instances across a wide range of infrastructures a9s Elasticsearch a9s Redis a9s LogMe

33 Providing a growing number of data services with full lifecycle automation of thousands of data service instances across a wide range of infrastructures

34 Providing a growing number of data services with full lifecycle automation of thousands of data service instances across a wide range of infrastructures

35 Providing a growing number of data services with full lifecycle automation of thousands of data service instances across a wide range of infrastructures.

36 Providing a growing number of data services with full lifecycle automation of thousands of data service instances across a wide range of infrastructures.

37 Providing a growing number of data services with full lifecycle automation of thousands of data service instances across a wide range of infrastructures

38 in both:

39 public in both:

40 in both: public and on-premise clouds

41 and integrate well with multiple platforms

42 and integrate well with multiple platforms

43 Requirements

44 Portability Security Usability Scalability Performance Maintainability Robustness Manageability Flexibility On-demand self-service Extensibility Multi-tenancy

45 Portability Scalability Production-Readiness On-demand self-service

46 Design

47 How to build it?

48 Data Service Provisioning API Automation Middleware Data Service Automation

49

50 Open Service Broker, a new industry standard for data service provisioning.

51 Open Service Broker API Supporters Google Pivotal IBM RedHat Fujitsu SAP

52 Supporting Platforms Cloud Foundry OpenShift Kubernetes More to come

53 Supporting Platforms Cloud Foundry OpenShift Kubernetes More to come

54 Get Service Catalog GET /v2/catalog Provision Service - Create Service Instance PUT /v2/service_instances/:id Bind Service PUT /v2/service_instances/:instance_id/ service_bindings/:id Unbind Service DELETE /v2/service_instances/:instance_id/ service_bindings/:id Unprovision Service DELETE /v2/service_instances/:id

55 HTTP Verb Action Service Catalog GET /v2/catalog Create Service Instance PUT /v2/service_instances/:id Create Service Binding PUT /v2/service_instances/:instance_id/ service_bindings/:id Delete Service Binding DELETE /v2/ service_instances/:instance_id/ service_bindings/:id Delete Service Instance DELETE /v2/service_instances/:id Deliver meta data about the data service. Provision a VM, install and configure a data service VMs / Cluster representing a service instance. Create a data service user and return credentials representing a service binding. Remove credentials associated with the service binding. Destroy the VMs and data associated with the service instance.

56 Data Service Provisioning API Automation Middleware Data Service

57 The Open Service Broker API does not define what a service instance is.

58 Applying the design pattern: On-Demand Provisioning of Dedicated Data Service Instances

59 Result

60 Using a Service Broker with Cloud Foundry $> cf create-service

61 Easy Deployment $> cf create-service mongodb single-small my-single-mongo-1

62 my-single-mongo-1 MongoDB VM#1

63 Easy Deployment $> cf create-service mongodb cluster-small my-3node-mongocluster-2

64 Newly created service instance my-single-mongo-1 my-3node-mongo-cluster-2 MongoDB VM#1 MongoDB VM#1 MongoDB VM#2 MongoDB VM#3

65 Technical Challenges

66 State

67 State is handled differently in each backing service.

68 State is handled differently in each backing service. Operational model will be different. Replication, failure detection, failover.

69 State is handled differently in each backing service. Operational model will be different. Replication, failure detection, failover. The data service automation will be different.

70 Where to store state?

71 App Self-Healing Cloud Foundry Runtime App#2 Instance#1 App#1 Instance#1 App#1 Instance#2 App#1 Instance#3 App#2 Instance#2 Everything is healthy.

72 App Self-Healing Cloud Foundry Runtime App#2 Instance#1 App#1 Instance#1 App1 Instance 2 App#1 Instance#3 App#2 Instance#2 App #1 Instance #2 is failing.

73 App Self-Healing Cloud Foundry Runtime App#2 Instance#1 App#1 Instance#1 App#1 Instance#3 App#2 Instance#2 App #1 Instance #2 - gone temporarily.

74 App Self-Healing Cloud Foundry Runtime App#2 Instance#1 App#1 Instance#1 App#1 Instance#2 App#1 Instance#3 App#2 Instance#2 App #1 Instance #2 re-created.

75 App self-healing is easy because there is NO STATE.

76 App self-healing is easy because there is NO STATE. How to store state but still being able to perform self-healing?

77 Store state on a remotely attached block device = persistent disk.

78 IaaS API VIRTUAL DATACENTER Router STORAGE Storage Node Storage Node Storage Node HDD HDD HDD HDD HDD HDD HDD HDD HDD HDD HDD HDD HDD HDD HDD HDD HDD HDD Infrastructure as a Service (IaaS), e.g. OpenStack

79 IaaS API VIRTUAL DATACENTER VIRTUAL MACHINE Operating System Router STORAGE Storage Node Storage Node Storage Node HDD HDD HDD HDD HDD Storage Volume HDD HDD HDD HDD HDD HDD HDD HDD HDD HDD HDD HDD HDD Infrastructure as a Service (IaaS), e.g. OpenStack

80 Persistent disk has a file system. Filesystems may fail replication / clustering & backups are still very important.

81 The data lifecycle has been decoupled from the VM lifecycle The VM becomes disposable.

82 Storing state

83 What needs to be automated?

84 Data Service Instance Lifecycle

85 Lifecycle of a Data Service Instance 1 Provision a data service server Install data service software Configure data service software Consume data service with apps Debug data service issues Update data service version Update operating system Backup & recover data Scale out data service VM(s) Destroy data service & DB VM(s)

86 Can you do that x * 1000 times?

87 You either automate it or delegate it to the app developer.

88 Automation

89 BOSH

90 BOSH let s you orchestrate the lifecycle of large-scale deployments of stateful distributed systems to infrastructure.

91 BOSH CLI $> bosh deploy IaaS API VIRTUAL DATACENTER VIRTUAL MACHINE BOSH API BOSH BOSH CPI Router STORAGE Storage Node Storage Node Storage Node HDD HDD HDD HDD HDD HDD HDD HDD HDD HDD HDD HDD HDD HDD HDD HDD HDD HDD Infrastructure as a Service (IaaS), e.g. OpenStack

92 BOSH CLI $> bosh deploy IaaS API VIRTUAL DATACENTER VIRTUAL MACHINE BOSH API BOSH BOSH CPI Router STORAGE Storage Node Storage Node Storage Node HDD HDD HDD HDD HDD HDD HDD HDD HDD HDD HDD HDD HDD HDD HDD HDD HDD HDD Infrastructure as a Service (IaaS), e.g. OpenStack

93 BOSH CLI $> bosh deploy IaaS API VIRTUAL DATACENTER VIRTUAL MACHINE BOSH API BOSH BOSH CPI Router STORAGE Storage Node Storage Node Storage Node HDD HDD HDD HDD HDD HDD HDD HDD HDD HDD HDD HDD HDD HDD HDD HDD HDD HDD Infrastructure as a Service (IaaS), e.g. OpenStack

94 BOSH CLI $> bosh deploy IaaS API VIRTUAL DATACENTER VIRTUAL MACHINE Operating System BOSH Agent VIRTUAL MACHINE BOSH API BOSH BOSH CPI Router STORAGE Storage Node Storage Node Storage Node HDD HDD HDD HDD HDD Storage Volume HDD HDD HDD HDD HDD HDD HDD HDD HDD HDD HDD HDD HDD Infrastructure as a Service (IaaS), e.g. OpenStack

95 BOSH CLI $> bosh deploy IaaS API VIRTUAL DATACENTER VIRTUAL MACHINE Operating System BOSH Agent VIRTUAL MACHINE BOSH API BOSH BOSH CPI Router STORAGE Storage Node Storage Node Storage Node HDD HDD HDD HDD HDD HDD HDD HDD HDD HDD HDD HDD HDD HDD HDD HDD HDD HDD Infrastructure as a Service (IaaS), e.g. OpenStack

96 BOSH CLI $> bosh deploy IaaS API VIRTUAL DATACENTER VIRTUAL MACHINE PostgreSQL Operating System BOSH Agent VIRTUAL MACHINE BOSH API BOSH BOSH CPI Router STORAGE Storage Node Storage Node Storage Node HDD HDD HDD HDD HDD HDD HDD HDD HDD HDD HDD HDD HDD HDD HDD HDD HDD HDD Infrastructure as a Service (IaaS), e.g. OpenStack

97 BOSH CLI $> bosh deploy IaaS API VIRTUAL DATACENTER VIRTUAL MACHINE PostgreSQL Operating System BOSH Agent VIRTUAL MACHINE BOSH API BOSH BOSH CPI Router STORAGE Storage Node Storage Node Storage Node HDD HDD HDD HDD HDD HDD HDD HDD HDD HDD HDD HDD HDD HDD HDD HDD HDD HDD Infrastructure as a Service (IaaS), e.g. OpenStack

98 BOSH CLI $> bosh deploy IaaS API VIRTUAL DATACENTER VIRTUAL MACHINE VIRTUAL MACHINE VIRTUAL MACHINE VIRTUAL MACHINE VIRTUAL MACHINE PostgreSQL Operating System Operating Cloud Controller System Operating UAA System BOSH API BOSH BOSH Agent BOSH Agent BOSH Agent BOSH Agent BOSH CPI Router STORAGE Storage Node Storage Node Storage Node HDD HDD HDD HDD HDD HDD HDD HDD HDD HDD HDD HDD HDD HDD HDD HDD HDD HDD Infrastructure as a Service (IaaS), e.g. OpenStack

99 BOSH Automation

100 BOSH Releases contain the automation

101 A BOSH-Deployment depends on 1.. * Stemcells

102 A BOSH-Deployment is described by a Release & Manifest

103 A Release describe 1.. * Jobs

104 A Release contains 1.. * Package

105 A BOSH Deployment s settings are contained in a Manifest

106 Infrastructure settings settings are contained in the Cloud Config

107 BOSH makes your deployments

108 Infrastructure Independent

109 A BOSH release contains the main-automation (software packages, how to run processes) BOSH releases can be re-used on every* infrastructure

110 Automate once, deploy everywhere.

111 BOSH CLI BOSH BOSH BOSH VMware AWS OpenStack

112 BOSH CLI BOSH BOSH BOSH VIRTUAL MACHINE VIRTUAL MACHINE VIRTUAL MACHINE Some Service / App Some Service / App Some Service / App BOSH Agent BOSH Agent BOSH Agent VIRTUAL MACHINE VIRTUAL MACHINE VIRTUAL MACHINE Some Service / App Some Service / App Some Service / App BOSH Agent BOSH Agent BOSH Agent VMware AWS OpenStack

113 BOSH CLI BOSH BOSH BOSH VMware AWS OpenStack

114 BOSH CLI $> bosh target BOSH BOSH BOSH VMware AWS OpenStack

115 BOSH CLI BOSH BOSH BOSH VMware AWS OpenStack

116 BOSH CLI $> bosh deploy BOSH BOSH BOSH VMware AWS OpenStack

117 BOSH CLI BOSH BOSH BOSH VIRTUAL MACHINE VIRTUAL MACHINE VIRTUAL MACHINE Some Service / App Some Service / App Some Service / App BOSH Agent BOSH Agent BOSH Agent VIRTUAL MACHINE VIRTUAL MACHINE VIRTUAL MACHINE Some Service / App Some Service / App Some Service / App BOSH Agent BOSH Agent BOSH Agent VMware AWS OpenStack

118 Switch deployment between clouds Keep the same release Use a stemcell specific to the new cloud Adapt the cloud config

119 Operating System Independent

120 A BOSH release does not depend on the OS

121 The only dependency to the OS is a BOSH stemcell

122 VIRTUAL MACHINE Operating System Image BOSH Agent

123 VIRTUAL MACHINE Operating System Image BOSH Agent }

124 VIRTUAL MACHINE Operating System Image BOSH Agent }OS image + BOSH agent = Stemcell

125 VIRTUAL MACHINE Ubuntu Stemcell BOSH Agent

126 Changing the OS of a BOSH deployed system Keep the same release Change the stemcell Change the manifest

127 Scalable

128 Horizontal Scaling

129 VIRTUAL MACHINE VIRTUAL MACHINE VIRTUAL MACHINE VIRTUAL MACHINE VIRTUAL MACHINE VIRTUAL MACHINE VIRTUAL MACHINE Some Service Some Service Some Service Some Service Some Service Some Service Some Service BOSH Agent BOSH Agent BOSH Agent BOSH Agent BOSH Agent BOSH Agent BOSH Agent VIRTUAL MACHINE VIRTUAL MACHINE VIRTUAL MACHINE VIRTUAL MACHINE VIRTUAL MACHINE VIRTUAL MACHINE VIRTUAL MACHINE Some Service Some Service Some Service Some Service Some Service Some Service Some Service BOSH Agent BOSH Agent BOSH Agent BOSH Agent BOSH Agent BOSH Agent BOSH Agent Horizontal Scaling VIRTUAL MACHINE VIRTUAL MACHINE VIRTUAL MACHINE VIRTUAL MACHINE VIRTUAL MACHINE VIRTUAL MACHINE VIRTUAL MACHINE Some Service Some Service Some Service Some Service Some Service Some Service Some Service BOSH Agent BOSH Agent BOSH Agent BOSH Agent BOSH Agent BOSH Agent BOSH Agent VIRTUAL MACHINE VIRTUAL MACHINE VIRTUAL MACHINE VIRTUAL MACHINE VIRTUAL MACHINE VIRTUAL MACHINE VIRTUAL MACHINE Some Service Some Service Some Service Some Service Some Service Some Service Some Service BOSH Agent BOSH Agent BOSH Agent BOSH Agent BOSH Agent BOSH Agent BOSH Agent

130 Scaling-out a BOSH deployed system Keep the same release Use the same stemcell Change the manifest

131 Vertical Scaling

132 VIRTUAL MACHINE 4 GB RAM, 1 vcpu 4GB RAM 1 vcpu 10GB persistent disk PostgreSQL Data 10 GB Persistent Disk BOSH Agent

133 VIRTUAL MACHINE 4 GB RAM, 1 vcpu PostgreSQL Data 10 GB Persistent Disk BOSH Agent

134 VIRTUAL MACHINE 4 GB RAM, 1 vcpu PostgreSQL BOSH Agent

135 VIRTUAL MACHINE 8 GB RAM, 2 vcpus PostgreSQL Data 10 GB Persistent Disk 20 GB Persistent Disk BOSH Agent

136 VIRTUAL MACHINE 8 GB RAM, 2 vcpus PostgreSQL Data 10 GB Persistent Disk Data 20 GB Persistent Disk BOSH Agent

137 VIRTUAL MACHINE 8 GB RAM, 2 vcpus PostgreSQL Data 20 GB Persistent Disk BOSH Agent

138 BOSH Deployments are Predictable

139 Src code is compiled in a freshly created VMs VMs always contain exact the software, specified in the release No left-overs of prior deployments as new VMs are used.

140 BOSH Deployments are Repeatable

141 Executing a specific BOSH deployment always leads to exact same deployed system.

142 Monitored & Self-Healing

143 Self-healing process failures

144 BOSH Installation BOSH Managed Infrastructure Resources BOSH Health Monitor BOSH Director CPI VIRTUAL MACHINE BOSH Agent Some process Process Monitor NATS Message Bus BOSH Registry VIRTUAL MACHINE BOSH Agent Some other process Process Monitor BLOB Store VIRTUAL MACHINE BOSH Agent Yet another process Process Monitor

145 BOSH Installation BOSH Managed Infrastructure Resources BOSH Health Monitor BOSH Director CPI VIRTUAL MACHINE BOSH Agent Some process Process Monitor NATS Message Bus BOSH Registry VIRTUAL MACHINE BOSH Agent Some other process Process Monitor BLOB Store VIRTUAL MACHINE BOSH Agent Yet another process Process Monitor

146 Self-healing process monitor failures

147 BOSH Installation BOSH Managed Infrastructure Resources BOSH Health Monitor BOSH Director CPI VIRTUAL MACHINE BOSH Agent Some process Process Monitor NATS Message Bus BOSH Registry VIRTUAL MACHINE BOSH Agent Process Monitor Some other process BLOB Store VIRTUAL MACHINE BOSH Agent Yet another process Process Monitor

148 BOSH Installation BOSH Managed Infrastructure Resources BOSH Health Monitor BOSH Director CPI VIRTUAL MACHINE BOSH Agent Some process NATS Message Bus BOSH Registry VIRTUAL MACHINE BOSH Agent Process Monitor Some other process BLOB Store VIRTUAL MACHINE BOSH Agent Yet another process Process Monitor

149 BOSH Installation BOSH Managed Infrastructure Resources BOSH Health Monitor BOSH Director CPI VIRTUAL MACHINE BOSH Agent Some process NATS Message Bus BOSH Registry VIRTUAL MACHINE BOSH Agent Process Monitor Some other process BLOB Store VIRTUAL MACHINE BOSH Agent Yet another process Process Monitor

150 BOSH Installation BOSH Managed Infrastructure Resources BOSH Health Monitor BOSH Director CPI VIRTUAL MACHINE BOSH Agent Some process Process Monitor NATS Message Bus BOSH Registry VIRTUAL MACHINE BOSH Agent Process Monitor Some other process BLOB Store VIRTUAL MACHINE BOSH Agent Yet another process Process Monitor

151 Self-healing VM failures

152 BOSH Installation BOSH Managed Infrastructure Resources BOSH Health Monitor BOSH Director CPI VIRTUAL MACHINE BOSH Agent Some process Process Monitor NATS Message Bus BOSH Registry VIRTUAL MACHINE BOSH Agent Some other process Process Monitor BLOB Store VIRTUAL MACHINE BOSH Agent Process Monitor Yet another process

153 BOSH Installation BOSH Managed Infrastructure Resources BOSH Health Monitor BOSH Director CPI VIRTUAL MACHINE BOSH Agent Some process Process Monitor NATS Message Bus BOSH Registry VIRTUAL MACHINE BOSH Agent Some other process Process Monitor BLOB Store VIRTUAL MACHINE BOSH Agent Process Monitor Yet another process

154 Self-healing BOSH Agent failures

155 BOSH Installation BOSH Managed Infrastructure Resources BOSH Health Monitor BOSH Director CPI VIRTUAL MACHINE BOSH Agent Some process Process Monitor NATS Message Bus BOSH Registry VIRTUAL MACHINE BOSH Agent Process Monitor Some other process BLOB Store VIRTUAL MACHINE BOSH Agent Yet another process Process Monitor

156 BOSH Installation BOSH Managed Infrastructure Resources BOSH Health Monitor BOSH Director CPI VIRTUAL MACHINE BOSH Agent Some process Process Monitor NATS Message Bus BOSH Registry VIRTUAL MACHINE BOSH Agent Process Monitor Some other process BLOB Store VIRTUAL MACHINE BOSH Agent Process Monitor Yet another process

157 Data Service Provisioning API Automation Middleware Data Service Automation

158 Reference Architecture

159 CF Client create service Cloud Controller create service a9s PostgreSQL SPI create binding Cloud Foundry Adapter a9s Service Broker Middleware Adapter create deployment from template xy with attributes { } create service specific credentials Templates a9s Deployer Deployments deploy release abc & deployment manifest xyz Bosh Execute deployments Service Instance Service Instance Service Instance my-single-postgres-1 my-3node-postgres-cluster-2 my-3node-postgres-cluster-3 VM#1 VM#1 VM#2 VM#3 VM#1 VM#2 VM#3

160 Data Service Provisioning API Automation Middleware Data Service Automation

161 Portability BOSH: Multi-infrastructure support Open Service Broker API: Multi-platform support Scalability On-demand provisioning of dedicated service instances BOSH: Scale existing service instances vertically, solo & clustered instances Production Readyness Dedicated data service instances / Strong instance isolation BOSH: Self-healing, clustered service instances, backup & restore On-demand self-service Open Service Broker API, On-demand provisioning, ondemand updates On-demand backup & restore

162 a9s PostgreSQL a9s MongoDB a9s RabbitMQ a9s Elasticsearch a9s Redis a9s LogMe

163 Operations

164 Continuous Data Service Delivery

165 Delivering Data Service Patches Open Source PostgreSQL Building new Data Service Releases a9s PostgreSQL Upstream Release Build Test a9s Release Platform #1 Platform #2 Updating the Data Services Update Data Service Instances Platform #n

166 Common Maintenance Tasks to performed at Scale

167 Create Service Instance Create VM Install and start data services

168 Vertical Scale Service Instance Destroy old VM Create new VM Mount old persistent disk Create and mount new persistent disk Copy data Optional: reintegrate into the cluster

169 OS Update Destroy old VM Create new VM based on new Stemcell (\w new OS version) Attach persistent disk

170 Ultimate Question

171 Can you handle more than 1001 Data Service Instances?

172 Yes.

173 Excerpt from our perf tests:

174 Provisioning 1001 instances in sequence over a greater period of time does not expose any significant bottleneck.

175 For large highly-frequented platforms the amount of simultaneous deployments may become relevant.

176 Data Service Instances BOSH Queue Time Avg. time to provision VM Total time needed to create instances min 6:57 min 21 min min 7:01 36 min min 7:13 53 min

177 Optimization Task: Manage BOSH queueing time to an acceptable level.

178 Scaling BOSH is key to deal with simultaneous provisioning.

179 Sum Up

180 Sum Up Full lifecycle automation is feasible Open Service Broker API, a new standard Choosing the right automation technology is key, e.g. BOSH CI/CD based dev and ops are essential

181 Questions?

182 Common Data Service Design Patterns A. Shared VM cluster B. Dedicated containers C. Dedicated VMs / VM clusters

183 Scaling a shared VM cluster

184 Scaling a shared VM cluster MongoDB Cluster 3 VMs MongoDB VM #1 MongoDB VM #2 MongoDB VM #3

185 Scaling a shared VM cluster MongoDB Cluster 3 VMs MongoDB VM #1 MongoDB VM #2 MongoDB VM #3

186 Scaling a shared VM cluster MongoDB Cluster 3 VMs Service Instance #1 = database #1 Service Instance #2 = database #2 Service Instance #3 = database #3 Service Instance #4 = database #4 Service Instance #5 = database #5 Service Instance #6 = database #6 Service Instance # = database # Service Instance # n-max = database #n-max MongoDB VM #1 MongoDB VM #2 MongoDB VM #3

187 Scaling a shared VM cluster MongoDB Cluster 3 VMs Service Instance #1 = database #1 Service Instance #2 = database #2 Service Instance #3 = database #3 Service Instance #4 = database #4 Service Instance #5 = database #5 Service Instance #6 = database #6 Service Instance # = database # Service Instance # n-max = database #n-max MongoDB VM #1 MongoDB VM #2 MongoDB VM #3

188 Scaling a shared VM cluster Low costs per service instance

189 Scaling a shared VM cluster Simple Service Broker Logic

190 create service create a database

191 create service binding create a database user

192 Weak Isolation!

193 Structural Limitation!

194 Scaling a shared VM cluster What to do when the shared cluster is full?

195 Scaling a shared VM cluster MongoDB Cluster 3 VMs Service Instance #1 = database #1 Service Instance #2 = database #2 Service Instance #3 = database #3 Service Instance #4 = database #4 Service Instance #5 = database #5 Service Instance #6 = database #6 Service Instance # = database # Service Instance # n-max = database #n-max MongoDB VM #1 MongoDB VM #2 MongoDB VM #3 Service Instance #1 = database #1 Service Instance #2 = database #2 Service Instance #3 = database #3 Service Instance #4 = database #4 Service Instance #5 = database #5 Service Instance #6 = database #6 Service Instance # = database # Service Instance # n-max = database #n-max

196 Scaling a shared VM cluster MongoDB Cluster #1 3 VMs 3 VMs Service Instance #1 #1 = database = #1 #1 Service Instance #2 #2 = database = #2 #2 Service Instance #3 #3 = database = #3 #3 Service Instance #4 #4 = database = #4 #4 Service Instance #5 #5 = database = #5 #5 Service Instance #6 #6 = database = #6 #6 Service Instance # # = database = # # Service Instance # n-max # = database = #n-max MongoDB VM #1 MongoDB VM #2 MongoDB VM #3

197 Scaling a shared VM cluster MongoDB Cluster #1 3 VMs Service Instance #1 = database #1 Service Instance #2 = database #2 Service Instance #3 = database #3 Service Instance #4 = database #4 Service Instance #5 = database #5 Service Instance #6 = database #6 Service Instance # = database # Service Instance # n-max = database #n-max MongoDB VM #1 MongoDB VM #2 MongoDB VM #3

198 Scaling a shared VM cluster MongoDB Cluster #1 3 VMs Service Instance #1 = database #1 Service Instance #2 = database #2 Service Instance #3 = database #3 Service Instance #4 = database #4 Service Instance #5 = database #5 Service Instance #6 = database #6 Service Instance # = database # Service Instance # n-max = database #n-max MongoDB VM #1 MongoDB VM #2 MongoDB VM #3 MongoDB Cluster #2 3 VMs Service Instance #n+1 Service Instance #n+2 Service Instance #n+3 Service Instance #n+4 Service Instance #n+5 Service Instance #n+6 Service Instance # Service Instance # 2*n-max MongoDB VM #4 MongoDB VM #5 MongoDB VM #6

199 Scaling a shared VM cluster Simple Service Broker Logic

200 Scaling a shared VM cluster Complex Service Broker Logic

201 Fragmentation

202 Fragmentation MongoDB Cluster #1 3 VMs Service Instance #1 = database #1 Service Instance #2 = database #2 Service Instance #3 = database #3 Service Instance #4 = database #4 Service Instance #5 = database #5 Service Instance #6 = database #6 Service Instance # = database # Service Instance # n-max = database #n-max MongoDB VM #2 MongoDB VM #3 MongoDB Cluster #2 3 VMs Service Instance #n+1 Service Instance #n+2 Service Instance #n+3 Service Instance #n+4 Service Instance #n+5 Service Instance #n+6 Service Instance # Service Instance # 2*n-max MongoDB VM #4 MongoDB VM #5 MongoDB VM #6 Caused by frequent creation and / deletion of service instances

203 Fragmentation MongoDB Cluster #1 3 VMs MongoDB Cluster #2 3 VMs Service Instance #1 = database #1 Service Instance #n+2 Service Instance #3 = database #3 Service Instance #n+3 Service Instance #5 = database #5 Service Instance # = database # Service Instance # n-max = database #n-max MongoDB VM #2 MongoDB VM #3 Service Instance # Service Instance # 2*n-max MongoDB VM #4 MongoDB VM #5 MongoDB VM #6 Caused by frequent creation and / deletion of service instances

204 Placement Problem

205 Placement Problem MongoDB Cluster #1 3 VMs MongoDB Cluster #2 3 VMs Service Instance #1 = database #1 Service Instance #n+2 Service Instance #3 = database #3 Service Instance #n+3 Service Instance #5 = database #5 Service Instance # = database # Service Instance # n-max = database #n-max MongoDB VM #2 MongoDB VM #3 Service Instance # Service Instance # 2*n-max MongoDB VM #4 MongoDB VM #5 MongoDB VM #6

206 Placement Problem MongoDB Cluster #1 3 VMs MongoDB Cluster #2 3 VMs Service Instance #1 = database #1 Service Instance #n+2 Service Instance #3 = database #3 Service Instance #n+3 Service Instance #5 = database #5 Service Instance # = database # Service Instance # n-max = database #n-max MongoDB VM #2 MongoDB VM #3? Service Instance # Service Instance # 2*n-max MongoDB VM #4 MongoDB VM #5 MongoDB VM #6 New Service Instance

207 Placement Problem MongoDB Cluster #1 3 VMs MongoDB Cluster #2 3 VMs Service Instance #1 = database #1 Service Instance #n+2 Service Instance #3 = database #3 Service Instance #n+3 Service Instance #5 = database #5 Service Instance # = database # Service Instance # n-max = database #n-max MongoDB VM #2 MongoDB VM #3 Service Instance # Service Instance # 2*n-max MongoDB VM #4 MongoDB VM #5 MongoDB VM #6 New Service Instance Strategy to place new service instances is required and may require data service specific logic.

208 Cluster Rebalancing

209 Cluster Rebalancing MongoDB Cluster #1 3 VMs MongoDB Cluster #2 3 VMs Service Instance #1 = database #1 Service Instance #n+2 Service Instance #3 = database #3 Service Instance #n+3 Service Instance #5 = database #5 Service Instance # = database # Service Instance # n-max = database #n-max MongoDB VM #2 MongoDB VM #3 Service Instance # Service Instance # 2*n-max MongoDB VM #4 MongoDB VM #5 MongoDB VM #6

210 Cluster Rebalancing MongoDB Cluster #1 3 VMs MongoDB Cluster #2 3 VMs Service Instance #1 = database #1 Service Instance #n+2 Service Instance #3 = database #3 Service Instance #5 = database #5 Service Instance # = database # Service Instance # n-max = database #n-max MongoDB VM #2 MongoDB VM #3 Service Instance # 2*n-max MongoDB VM #4 MongoDB VM #5 MongoDB VM #6

211 Cluster Rebalancing MongoDB Cluster #1 3 VMs MongoDB Cluster #2 3 VMs Service Instance #1 = database #1 Service Instance #n+2 Service Instance #3 = database #3 Service Instance #5 = database #5 Service Instance # = database # Service Instance # n-max = database #n-max MongoDB VM #2 MongoDB VM #3 Service Instance # 2*n-max MongoDB VM #4 MongoDB VM #5 MongoDB VM #6 A unbalanced set of clusters wastes infrastructure resources.

212 Cluster Rebalancing MongoDB Cluster #1 3 VMs MongoDB Cluster #2 3 VMs Service Instance #1 = database #1 Service Instance #n+2 Service Instance #3 = database #3 Service Instance #5 = database #5 Service Instance # = database # Service Instance # n-max = database #n-max MongoDB VM #2 MongoDB VM #3 Service Instance # 2*n-max MongoDB VM #4 MongoDB VM #5 MongoDB VM #6

213 Cluster Rebalancing MongoDB Cluster #1 3 VMs Service Instance #1 = database #1 Service Instance #n+2 Service Instance #3 = database #3 Service Instance # 2*n-max Service Instance #5 = database #5 Service Instance # = database # Service Instance # n-max = database #n-max MongoDB VM #2 MongoDB VM #3 A cluster rebalance freeing infrastructure resources would desirable.

214 Shared Cluster Conclusion

215 Scalability issued can be addressed Isolation issues are heavily data-service specific > A generic solution is not possible.

216 Scaling Dedicated Containers

217 Better Isolation

218 Scaling Dedicated Containers PosgreSQL Cell 2 VMs across 2 AZs Docker host VM #1 Docker host VM #2

219 Scaling Dedicated Containers PosgreSQL Cell 2 VMs across 2 AZs Service Instance #1 = 2 Docker containers + 2 PostgreSQL processes + 2 PostgreSQL databases asynchronously replicated Docker host VM #1 Docker host VM #2

220 Scaling Dedicated Containers PosgreSQL Cell 2 VMs across 2 AZs Service Instance #1 = 2 Docker containers + 2 PostgreSQL processes + 2 PostgreSQL databases asynchronously replicated Service Instance #2 = 2 Docker containers + 2 PostgreSQL processes + 2 PostgreSQL databases asynchronously replicated Docker host VM #1 Docker host VM #2

221 How to scale?

222 Scaling Dedicated Containers PosgreSQL Cell 2 VMs across 2 AZs Service Instance #1 = 2 Docker containers + 2 PostgreSQL processes + 2 PostgreSQL databases asynchronously replicated Service Instance #2 = 2 Docker containers + 2 PostgreSQL processes + 2 PostgreSQL databases asynchronously replicated Docker host VM #1 Docker host VM #2

223 Scaling Dedicated Containers PosgreSQL Cell 2 VMs across 2 AZs Service Instance #1 = 2 Docker containers + 2 PostgreSQL processes + 2 PostgreSQL databases asynchronously replicated Service Instance #2 = 2 Docker containers + 2 PostgreSQL processes + 2 PostgreSQL databases asynchronously replicated Docker host VM #1 Docker host VM #2

224 Structural Limitation!

225 Scaling a shared VM cluster What to do when the Cell/Cluster is full?

226 Scaling Dedicated Containers PosgreSQL Cell #1 2 VMs across 2 AZs PosgreSQL Cell #2 2 VMs across 2 AZs Service Instance #1 = 2 Docker containers + 2 PostgreSQL processes Service Instance #3 = 2 Docker containers + 2 PostgreSQL processes Service Instance #2 = 2 Docker containers + 2 PostgreSQL processes Service Instance #3 = 2 Docker containers + 2 PostgreSQL processes Docker host VM #1 Docker host VM #2 Docker host VM #3 Docker host VM #4

227 Same Service Broker Challenge

228 New Challenge: How to add Cell-VMs on-demand?

229 On-Demand VM provisioning is unavoidable.

230 Why not delegate most challenges?

231 On-Demand Dedicated VMs and Clusters

232 Architecture

233 CF Client create service Cloud Controller create service a9s MongoDB SPI create binding Cloud Foundry Adapter a9s Service Broker Middleware Adapter create deployment from template xy with attributes { } create service specific credentials Templates a9s Deployer Deployments deploy release abc & deployment manifest xyz Bosh Execute deployments Service Instance Service Instance Service Instance my-single-mongodb-1 my-3node-mongodb-cluster-2 my-3node-mongodb-cluster-3 MongoDB MongoDB MongoDB MongoDB MongoDB MongoDB MongoDB VM#1 VM#1 VM#2 VM#3 VM#1 VM#2 VM#3

234 Let BOSH do the VM orchestration!

235 Let the infrastructure solve the placement and fragmentation challenge!

236 Shared Data Services

237 Shared PostgreSQL Cluster > Bad idea 1x 1x Single PostgreSQL Server 1 VM Service Instance 1 Service Instance 2 VM#1 Service Instance 3 OR PostgreSQL Cluster 3 VMs Service Instance 1 Service Instance 1 Service Instance 1 Service Instance 2 Service Instance 2 Service Instance 2 VM#1 VM#2 VM#3 Service Instance 3 Service Instance 3 Service Instance 3 Single VM or single cluster of VMs Single PostgreSQL server or single PostgreSQL cluster Isolation limited to PostreSQL multitenancy capabilities

238 Shared PostgreSQL = SPOF

239 Cloud Foundry Runtime PostgreSQL Cluster 3 VMs Service Instance Service Instance Service Instance Service Instance Service Instance Service Instance VM#1 VM#2 VM#3 Service Instance Service Instance Service Instance

240 Cloud Foundry Runtime PostgreSQL Cluster 3 VMs Service Instance Service Instance Service Instance Service Instance Service Instance Service Instance App App App App App App App App App App Service Instance Service Instance Service Instance App App App App App App App App App App App App App App App App App App App App

241 Cloud Foundry Runtime App App App App App App App App App App App App App App App App App App App PostgreSQL Cluster App App Service Instance 3 VMs Service Instance Service Instance Service Instance Service Instance Service Instance App App Service Instance Service Instance Service Instance App App App App App App App App App App App App App

242 Cloud Foundry Runtime App App App App App App App App App App App App App App App App App App App PostgreSQL Cluster App App Service Instance 3 VMs Service Instance Service Instance Service Instance Service Instance Service Instance App App Service Instance Service Instance Service Instance App App App App App App App App App App App App App

243 Your shared PostgreSQL cluster goes down, all your PostgreSQL database instances go down.

244 Beware of bad neighborhood

245 Cloud Foundry Runtime PostgreSQL Cluster 3 VMs Service Instance Service Instance Service Instance Service Instance Service Instance Service Instance VM#1 VM#2 VM#3 Service Instance Service Instance Service Instance

246 Cloud Foundry Runtime PostgreSQL Cluster 3 VMs Service Instance Service Instance Service Instance Service Instance Service Instance Service Instance VM#1 VM#2 VM#3 Service Instance Service Instance Service Instance

247 Cloud Foundry Runtime PostgreSQL Cluster 3 VMs Service Instance Service Instance Service Instance Service Instance Service Instance Service Instance VM#1 VM#2 VM#3 Service Instance Service Instance Service Instance

248 Cloud Foundry Runtime PostgreSQL Cluster 3 VMs Service Instance Service Instance Service Instance Service Instance Service Instance Service Instance VM#1 VM#2 VM#3 Service Instance Service Instance Service Instance

249 Cloud Foundry Runtime Service Instance Service Instance VM#1 Service Instance PostgreSQL Cluster 3 VMs Service Instance Service Instance VM#2 Service Instance Service Instance Service Instance VM#3 Service Instance

250 Shared clusters are vulnerable to bad neighbors

251 Dedicated

252 Dedicated PostgreSQL instances > Good idea n x Service Instance my-single-postgres-1 VM#1 and / or Service Instance my-3node-postgres-cluster-2 Service instance = dedicated VM or dedicated cluster of VMs Uses infrastructure m x isolation to enable VM#1 VM#2 VM#3 multi-tenancy support

253 Cloud Foundry Runtime Service Instance VM Service Instance VM Service Instance Service Instance VM VM Service Instance Service Instance VM VM Service Instance VM#1 VM#2 VM#3 Service Instance VM#1 VM#2 VM#3

254 Cloud Foundry Runtime Service Instance VM Service Instance VM Service Instance Service Instance VM VM Service Instance Service Instance VM VM Service Instance VM#1 VM#2 VM#3 Service Instance VM#1 VM#2 VM#3

255 Cloud Foundry Runtime Service Instance VM Service Instance VM Service Instance Service Instance VM VM Service Instance Service Instance VM VM Service Instance VM#1 VM#2 VM#3 Service Instance VM#1 VM#2 VM#3

256 PostgreSQL failures are contained. Only one service instance affected.

257 Bad neighborhood protection with dedicated service instances

258 Cloud Foundry Runtime PostgreSQL Cluster = Service Instance #1 3 VMs Service VM#1 Instance Service VM#2 Instance Service VM#3 Instance PostgreSQL Cluster = Service Instance #2 3 VMs Service Instance Service Instance Service Instance VM#1 VM#2 VM#3 PostgreSQL Cluster = Service Instance #3 3 VMs Service VM#1 Instance Service VM#2 Instance Service VM#3 Instance

259 Cloud Foundry Runtime PostgreSQL Cluster = Service Instance #1 3 VMs Service VM#1 Instance Service VM#2 Instance Service VM#3 Instance PostgreSQL Cluster = Service Instance #2 3 VMs Service Instance Service Instance Service Instance VM#1 VM#2 VM#3 PostgreSQL Cluster = Service Instance #3 3 VMs Service VM#1 Instance Service VM#2 Instance Service VM#3 Instance

260 Cloud Foundry Runtime PostgreSQL Cluster = Service Instance #1 3 VMs Service VM#1 Instance Service VM#2 Instance Service VM#3 Instance PostgreSQL Cluster = Service Instance #2 3 VMs Service Instance Service Instance Service Instance VM#1 VM#2 VM#3 PostgreSQL Cluster = Service Instance #3 3 VMs Service VM#1 Instance Service VM#2 Instance Service VM#3 Instance

261 Cloud Foundry Runtime PostgreSQL Cluster = Service Instance #1 3 VMs Service VM#1 Instance Service VM#2 Instance Service VM#3 Instance PostgreSQL Cluster = Service Instance #2 3 VMs Service VM#1 Instance Service VM#2 Instance Service Instance VM#3 PostgreSQL Cluster = Service Instance #3 3 VMs Service VM#1 Instance Service VM#2 Instance Service VM#3 Instance

262 Cloud Foundry Runtime PostgreSQL Cluster = Service Instance #1 3 VMs Service VM#1 Instance Service VM#2 Instance Service VM#3 Instance PostgreSQL Cluster = Service Instance #2 3 VMs Service VM#1 Instance Service VM#2 Instance Service Instance VM#3 PostgreSQL Cluster = Service Instance #3 3 VMs Service VM#1 Instance Service VM#2 Instance Service VM#3 Instance

263 Cloud Foundry Runtime PostgreSQL Cluster = Service Instance #1 3 VMs Service VM#1 Instance Service VM#2 Instance Service VM#3 Instance PostgreSQL Cluster = Service Instance #2 3 VMs Service VM#1 Instance Service VM#2 Instance Service Instance VM#3 PostgreSQL Cluster = Service Instance #3 3 VMs Service VM#1 Instance Service VM#2 Instance Service VM#3 Instance

264 Cloud Foundry Runtime PostgreSQL Cluster = Service Instance #1 3 VMs Service VM#1 Instance Service VM#2 Instance Service VM#3 Instance PostgreSQL Cluster = Service Instance #2 3 VMs Service VM#1 Instance Service VM#2 Instance Service Instance VM#3 PostgreSQL Cluster = Service Instance #3 3 VMs Service VM#1 Instance Service VM#2 Instance Service VM#3 Instance Infrastructure isolation

265 Dedicated clusters isolate bad neighbors

266 Cloud

267 Cloud Automation

268 Cloud Automation Robustness

269 Cloud Automation Robustness Self-Healing

270 Cloud Automation Robustness Self-Healing Scalability

271 Cloud Automation Robustness Self-Healing Scalability On-demand self-service

272 Resource Type VM vs. Container Provisioning Pre-provisioned vs. On-demand-provisioning Failover Strategy Resurrection Failover vs. Standby-Failover Data Redundancy Single replica vs. Data redundancy / Multiple replicas Infrastructure Reliability Perfect. HA VMs. No SPOFs. Never fails. VMs cost more than a Design to fail. Fails from time to time. Saves money. Automation Technology BOSH vs. Chef vs. Puppet Service Instances Shared Dedicated

273 Desired time to repair Seconds, minutes, hours? Availability Service instance availability Service broker availability Configurability Adapt to local network and security policies. Integrate existing infrastructure. Accessibility Remote log-in to service instances. Performance Service broker performance (ops/s) Service instance performance Time to provision service instance. Security Network security. Encryption. Transparency Accessing metrics and logs. Operability Easyness to operate and maintain.

274 1. Define a service instance! 2. Define total # service instances! 3. Define # service instance CRUD ops / min!

275 Common Data Service Design Patterns

276 Common Data Service Design Patterns A. Shared VM cluster B. Dedicated containers C. Dedicated VMs / VM clusters

277 Scaling a shared VM cluster

278 Scaling a shared VM cluster MongoDB Cluster 3 VMs MongoDB VM #1 MongoDB VM #2 MongoDB VM #3

279 Scaling a shared VM cluster MongoDB Cluster 3 VMs MongoDB VM #1 MongoDB VM #2 MongoDB VM #3

280 Scaling a shared VM cluster MongoDB Cluster 3 VMs Service Instance #1 = database #1 Service Instance #2 = database #2 Service Instance #3 = database #3 Service Instance #4 = database #4 Service Instance #5 = database #5 Service Instance #6 = database #6 Service Instance # = database # Service Instance # n-max = database #n-max MongoDB VM #1 MongoDB VM #2 MongoDB VM #3

281 Scaling a shared VM cluster MongoDB Cluster 3 VMs Service Instance #1 = database #1 Service Instance #2 = database #2 Service Instance #3 = database #3 Service Instance #4 = database #4 Service Instance #5 = database #5 Service Instance #6 = database #6 Service Instance # = database # Service Instance # n-max = database #n-max MongoDB VM #1 MongoDB VM #2 MongoDB VM #3

282 Scaling a shared VM cluster Low costs per service instance

283 Scaling a shared VM cluster Simple Service Broker Logic

284 create service create a database

285 create service binding create a database user

286 Weak Isolation!

287 Structural Limitation!

288 Scaling a shared VM cluster What to do when the shared cluster is full?

289 Scaling a shared VM cluster MongoDB Cluster 3 VMs Service Instance #1 = database #1 Service Instance #2 = database #2 Service Instance #3 = database #3 Service Instance #4 = database #4 Service Instance #5 = database #5 Service Instance #6 = database #6 Service Instance # = database # Service Instance # n-max = database #n-max MongoDB VM #1 MongoDB VM #2 MongoDB VM #3 Service Instance #1 = database #1 Service Instance #2 = database #2 Service Instance #3 = database #3 Service Instance #4 = database #4 Service Instance #5 = database #5 Service Instance #6 = database #6 Service Instance # = database # Service Instance # n-max = database #n-max

290 Scaling a shared VM cluster MongoDB Cluster #1 3 VMs 3 VMs Service Instance #1 #1 = database = #1 #1 Service Instance #2 #2 = database = #2 #2 Service Instance #3 #3 = database = #3 #3 Service Instance #4 #4 = database = #4 #4 Service Instance #5 #5 = database = #5 #5 Service Instance #6 #6 = database = #6 #6 Service Instance # # = database = # # Service Instance # n-max # = database = #n-max MongoDB VM #1 MongoDB VM #2 MongoDB VM #3

291 Scaling a shared VM cluster MongoDB Cluster #1 3 VMs Service Instance #1 = database #1 Service Instance #2 = database #2 Service Instance #3 = database #3 Service Instance #4 = database #4 Service Instance #5 = database #5 Service Instance #6 = database #6 Service Instance # = database # Service Instance # n-max = database #n-max MongoDB VM #1 MongoDB VM #2 MongoDB VM #3

292 Scaling a shared VM cluster MongoDB Cluster #1 3 VMs Service Instance #1 = database #1 Service Instance #2 = database #2 Service Instance #3 = database #3 Service Instance #4 = database #4 Service Instance #5 = database #5 Service Instance #6 = database #6 Service Instance # = database # Service Instance # n-max = database #n-max MongoDB VM #1 MongoDB VM #2 MongoDB VM #3 MongoDB Cluster #2 3 VMs Service Instance #n+1 Service Instance #n+2 Service Instance #n+3 Service Instance #n+4 Service Instance #n+5 Service Instance #n+6 Service Instance # Service Instance # 2*n-max MongoDB VM #4 MongoDB VM #5 MongoDB VM #6

293 Scaling a shared VM cluster Simple Service Broker Logic

294 Scaling a shared VM cluster Complex Service Broker Logic

295 Fragmentation

296 Fragmentation MongoDB Cluster #1 3 VMs Service Instance #1 = database #1 Service Instance #2 = database #2 Service Instance #3 = database #3 Service Instance #4 = database #4 Service Instance #5 = database #5 Service Instance #6 = database #6 Service Instance # = database # Service Instance # n-max = database #n-max MongoDB VM #2 MongoDB VM #3 MongoDB Cluster #2 3 VMs Service Instance #n+1 Service Instance #n+2 Service Instance #n+3 Service Instance #n+4 Service Instance #n+5 Service Instance #n+6 Service Instance # Service Instance # 2*n-max MongoDB VM #4 MongoDB VM #5 MongoDB VM #6 Caused by frequent creation and / deletion of service instances

297 Fragmentation MongoDB Cluster #1 3 VMs MongoDB Cluster #2 3 VMs Service Instance #1 = database #1 Service Instance #n+2 Service Instance #3 = database #3 Service Instance #n+3 Service Instance #5 = database #5 Service Instance # = database # Service Instance # n-max = database #n-max MongoDB VM #2 MongoDB VM #3 Service Instance # Service Instance # 2*n-max MongoDB VM #4 MongoDB VM #5 MongoDB VM #6 Caused by frequent creation and / deletion of service instances

298 Placement Problem

299 Placement Problem MongoDB Cluster #1 3 VMs MongoDB Cluster #2 3 VMs Service Instance #1 = database #1 Service Instance #n+2 Service Instance #3 = database #3 Service Instance #n+3 Service Instance #5 = database #5 Service Instance # = database # Service Instance # n-max = database #n-max MongoDB VM #2 MongoDB VM #3 Service Instance # Service Instance # 2*n-max MongoDB VM #4 MongoDB VM #5 MongoDB VM #6

300 Placement Problem MongoDB Cluster #1 3 VMs MongoDB Cluster #2 3 VMs Service Instance #1 = database #1 Service Instance #n+2 Service Instance #3 = database #3 Service Instance #n+3 Service Instance #5 = database #5 Service Instance # = database # Service Instance # n-max = database #n-max MongoDB VM #2 MongoDB VM #3? Service Instance # Service Instance # 2*n-max MongoDB VM #4 MongoDB VM #5 MongoDB VM #6 New Service Instance

301 Placement Problem MongoDB Cluster #1 3 VMs MongoDB Cluster #2 3 VMs Service Instance #1 = database #1 Service Instance #n+2 Service Instance #3 = database #3 Service Instance #n+3 Service Instance #5 = database #5 Service Instance # = database # Service Instance # n-max = database #n-max MongoDB VM #2 MongoDB VM #3 Service Instance # Service Instance # 2*n-max MongoDB VM #4 MongoDB VM #5 MongoDB VM #6 New Service Instance Strategy to place new service instances is required and may require data service specific logic.

302 Cluster Rebalancing

303 Cluster Rebalancing MongoDB Cluster #1 3 VMs MongoDB Cluster #2 3 VMs Service Instance #1 = database #1 Service Instance #n+2 Service Instance #3 = database #3 Service Instance #n+3 Service Instance #5 = database #5 Service Instance # = database # Service Instance # n-max = database #n-max MongoDB VM #2 MongoDB VM #3 Service Instance # Service Instance # 2*n-max MongoDB VM #4 MongoDB VM #5 MongoDB VM #6

304 Cluster Rebalancing MongoDB Cluster #1 3 VMs MongoDB Cluster #2 3 VMs Service Instance #1 = database #1 Service Instance #n+2 Service Instance #3 = database #3 Service Instance #5 = database #5 Service Instance # = database # Service Instance # n-max = database #n-max MongoDB VM #2 MongoDB VM #3 Service Instance # 2*n-max MongoDB VM #4 MongoDB VM #5 MongoDB VM #6

305 Cluster Rebalancing MongoDB Cluster #1 3 VMs MongoDB Cluster #2 3 VMs Service Instance #1 = database #1 Service Instance #n+2 Service Instance #3 = database #3 Service Instance #5 = database #5 Service Instance # = database # Service Instance # n-max = database #n-max MongoDB VM #2 MongoDB VM #3 Service Instance # 2*n-max MongoDB VM #4 MongoDB VM #5 MongoDB VM #6 A unbalanced set of clusters wastes infrastructure resources.

306 Cluster Rebalancing MongoDB Cluster #1 3 VMs MongoDB Cluster #2 3 VMs Service Instance #1 = database #1 Service Instance #n+2 Service Instance #3 = database #3 Service Instance #5 = database #5 Service Instance # = database # Service Instance # n-max = database #n-max MongoDB VM #2 MongoDB VM #3 Service Instance # 2*n-max MongoDB VM #4 MongoDB VM #5 MongoDB VM #6

307 Cluster Rebalancing MongoDB Cluster #1 3 VMs Service Instance #1 = database #1 Service Instance #n+2 Service Instance #3 = database #3 Service Instance # 2*n-max Service Instance #5 = database #5 Service Instance # = database # Service Instance # n-max = database #n-max MongoDB VM #2 MongoDB VM #3 A cluster rebalance freeing infrastructure resources would desirable.

308 Shared Cluster Conclusion

309 Scalability issued can be addressed Isolation issues are heavily data-service specific > A generic solution is not possible.

310 Scaling Dedicated Containers

311 Better Isolation

312 Scaling Dedicated Containers PosgreSQL Cell 2 VMs across 2 AZs Docker host VM #1 Docker host VM #2

313 Scaling Dedicated Containers PosgreSQL Cell 2 VMs across 2 AZs Service Instance #1 = 2 Docker containers + 2 PostgreSQL processes + 2 PostgreSQL databases asynchronously replicated Docker host VM #1 Docker host VM #2

314 Scaling Dedicated Containers PosgreSQL Cell 2 VMs across 2 AZs Service Instance #1 = 2 Docker containers + 2 PostgreSQL processes + 2 PostgreSQL databases asynchronously replicated Service Instance #2 = 2 Docker containers + 2 PostgreSQL processes + 2 PostgreSQL databases asynchronously replicated Docker host VM #1 Docker host VM #2

315 How to scale?

316 Scaling Dedicated Containers PosgreSQL Cell 2 VMs across 2 AZs Service Instance #1 = 2 Docker containers + 2 PostgreSQL processes + 2 PostgreSQL databases asynchronously replicated Service Instance #2 = 2 Docker containers + 2 PostgreSQL processes + 2 PostgreSQL databases asynchronously replicated Docker host VM #1 Docker host VM #2

317 Scaling Dedicated Containers PosgreSQL Cell 2 VMs across 2 AZs Service Instance #1 = 2 Docker containers + 2 PostgreSQL processes + 2 PostgreSQL databases asynchronously replicated Service Instance #2 = 2 Docker containers + 2 PostgreSQL processes + 2 PostgreSQL databases asynchronously replicated Docker host VM #1 Docker host VM #2

318 Structural Limitation!

319 Scaling a shared VM cluster What to do when the Cell/Cluster is full?

320 Scaling Dedicated Containers PosgreSQL Cell #1 2 VMs across 2 AZs PosgreSQL Cell #2 2 VMs across 2 AZs Service Instance #1 = 2 Docker containers + 2 PostgreSQL processes Service Instance #3 = 2 Docker containers + 2 PostgreSQL processes Service Instance #2 = 2 Docker containers + 2 PostgreSQL processes Service Instance #3 = 2 Docker containers + 2 PostgreSQL processes Docker host VM #1 Docker host VM #2 Docker host VM #3 Docker host VM #4

321 Same Service Broker Challenge

322 New Challenge: How to add Cell-VMs on-demand?

323 On-Demand VM provisioning is unavoidable.

324 Why not delegate most challenges?

325 On-Demand Dedicated VMs and Clusters

326 Architecture

327 CF Client create service Cloud Controller create service a9s MongoDB SPI create binding Cloud Foundry Adapter a9s Service Broker Middleware Adapter create deployment from template xy with attributes { } create service specific credentials Templates a9s Deployer Deployments deploy release abc & deployment manifest xyz Bosh Execute deployments Service Instance Service Instance Service Instance my-single-mongodb-1 my-3node-mongodb-cluster-2 my-3node-mongodb-cluster-3 MongoDB MongoDB MongoDB MongoDB MongoDB MongoDB MongoDB VM#1 VM#1 VM#2 VM#3 VM#1 VM#2 VM#3

328 Let BOSH do the VM orchestration!

329 Let the infrastructure solve the placement and fragmentation challenge!

330 Shared Services Instances

331 Shared PostgreSQL Cluster > Bad idea 1x 1x Single PostgreSQL Server 1 VM Service Instance 1 Service Instance 2 VM#1 Service Instance 3 OR PostgreSQL Cluster 3 VMs Service Instance 1 Service Instance 1 Service Instance 1 Service Instance 2 Service Instance 2 Service Instance 2 VM#1 VM#2 VM#3 Service Instance 3 Service Instance 3 Service Instance 3 Single VM or single cluster of VMs Single PostgreSQL server or single PostgreSQL cluster Isolation limited to PostreSQL multitenancy capabilities

332 Shared PostgreSQL = SPOF

333 Cloud Foundry Runtime PostgreSQL Cluster 3 VMs Service Instance Service Instance Service Instance Service Instance Service Instance Service Instance VM#1 VM#2 VM#3 Service Instance Service Instance Service Instance

334 Cloud Foundry Runtime PostgreSQL Cluster 3 VMs Service Instance Service Instance Service Instance Service Instance Service Instance Service Instance App App App App App App App App App App Service Instance Service Instance Service Instance App App App App App App App App App App App App App App App App App App App App

335 Cloud Foundry Runtime App App App App App App App App App App App App App App App App App App App PostgreSQL Cluster App App Service Instance 3 VMs Service Instance Service Instance Service Instance Service Instance Service Instance App App Service Instance Service Instance Service Instance App App App App App App App App App App App App App

336 Cloud Foundry Runtime App App App App App App App App App App App App App App App App App App App PostgreSQL Cluster App App Service Instance 3 VMs Service Instance Service Instance Service Instance Service Instance Service Instance App App Service Instance Service Instance Service Instance App App App App App App App App App App App App App

Disclaimer This presentation may contain product features that are currently under development. This overview of new technology represents no commitme

Disclaimer This presentation may contain product features that are currently under development. This overview of new technology represents no commitme CNA2080BU Deep Dive: How to Deploy and Operationalize Kubernetes Cornelia Davis, Pivotal Nathan Ness Technical Product Manager, CNABU @nvpnathan #VMworld #CNA2080BU Disclaimer This presentation may contain

More information

Cloud Computing Introduction to Cloud Foundry

Cloud Computing Introduction to Cloud Foundry HES-SO Master of Science in Engineering Cloud Computing Introduction to Cloud Foundry Academic year 2015/16 Cloud Foundry Introduction Cloud Foundry is an Open Source project developing software for Platform-as-a-Service

More information

São Paulo. August,

São Paulo. August, São Paulo August, 28 2018 Going Cloud Native with Cloud Foundry Luis Macedo Sr Platform Engineer, Pivotal @luis0macedo What is Cloud Native Platform? - A platform that delivers predictable deployment

More information

Design and Architecture. Derek Collison

Design and Architecture. Derek Collison Design and Architecture Derek Collison What is Cloud Foundry? 2 The Open Platform as a Service 3 4 What is PaaS? Or more specifically, apaas? 5 apaas Application Platform as a Service Applications and

More information

Taming your heterogeneous cloud with Red Hat OpenShift Container Platform.

Taming your heterogeneous cloud with Red Hat OpenShift Container Platform. Taming your heterogeneous cloud with Red Hat OpenShift Container Platform martin@redhat.com Business Problem: Building a Hybrid Cloud solution PartyCo Some Bare Metal machines Mostly Virtualised CosPlayUK

More information

VMWARE ENTERPRISE PKS

VMWARE ENTERPRISE PKS DATASHEET AT A GLANCE VMware Enterprise PKS is a productiongrade Kubernetes-based container solution equipped with advanced networking, a private container registry, and full lifecycle management. VMware

More information

Disclaimer This presentation may contain product features that are currently under development. This overview of new technology represents no commitme

Disclaimer This presentation may contain product features that are currently under development. This overview of new technology represents no commitme CNA1612BU Deploying real-world workloads on Kubernetes and Pivotal Cloud Foundry VMworld 2017 Fred Melo, Director of Technology, Pivotal Merlin Glynn, Sr. Technical Product Manager, VMware Content: Not

More information

Redis for Pivotal Cloud Foundry Docs

Redis for Pivotal Cloud Foundry Docs Redis for Pivotal Cloud Foundry Docs Version 1.4 User's Guide 2018 Pivotal Software, Inc. Table of Contents Table of Contents Redis for Pivotal Cloud Foundry Redis for Pivotal Cloud Foundry Resource requirements

More information

VMWARE PKS. What is VMware PKS? VMware PKS Architecture DATASHEET

VMWARE PKS. What is VMware PKS? VMware PKS Architecture DATASHEET DATASHEET VMWARE PKS AT A GLANCE VMware PKS is a production-grade Kubernetes-based container solution equipped with advanced networking, a private container registry, and full lifecycle management. VMware

More information

WHITE PAPER. RedHat OpenShift Container Platform. Benefits: Abstract. 1.1 Introduction

WHITE PAPER. RedHat OpenShift Container Platform. Benefits: Abstract. 1.1 Introduction WHITE PAPER RedHat OpenShift Container Platform Abstract Benefits: Applications are designed around smaller independent components called microservices. Elastic resources: Scale up or down quickly and

More information

OPENSTACK BEIJING CONFERENCE. by: Steven Hallett Head of Cloud Infrastructure Engineering and Operations

OPENSTACK BEIJING CONFERENCE. by: Steven Hallett Head of Cloud Infrastructure Engineering and Operations OPENSTACK BEIJING CONFERENCE by: Steven Hallett Head of Cloud Infrastructure Engineering and Operations August 10, 2012 Agenda X.commerce, an Introduction Platform Vision Current Status The Opportunity

More information

TEN LAYERS OF CONTAINER SECURITY

TEN LAYERS OF CONTAINER SECURITY TEN LAYERS OF CONTAINER SECURITY Tim Hunt Kirsten Newcomer May 2017 ABOUT YOU Are you using containers? What s your role? Security professionals Developers / Architects Infrastructure / Ops Who considers

More information

VMWARE PIVOTAL CONTAINER SERVICE

VMWARE PIVOTAL CONTAINER SERVICE DATASHEET VMWARE PIVOTAL CONTAINER SERVICE AT A GLANCE VMware Pivotal Container Service (PKS) is a production-grade Kubernetes-based container solution equipped with advanced networking, a private container

More information

Extending the BOSH Backup and Restore Framework. Therese Stowell, Product Manager Chunyi Lyu, Engineer Platform Recovery Team, Pivotal

Extending the BOSH Backup and Restore Framework. Therese Stowell, Product Manager Chunyi Lyu, Engineer Platform Recovery Team, Pivotal Extending the BOSH Backup and Restore Framework Therese Stowell, Product Manager Chunyi Lyu, Engineer Platform Recovery Team, Pivotal What is the Data in Cloud Foundry Cloud Foundry Data service Cloud

More information

Advanced Continuous Delivery Strategies for Containerized Applications Using DC/OS

Advanced Continuous Delivery Strategies for Containerized Applications Using DC/OS Advanced Continuous Delivery Strategies for Containerized Applications Using DC/OS ContainerCon @ Open Source Summit North America 2017 Elizabeth K. Joseph @pleia2 1 Elizabeth K. Joseph, Developer Advocate

More information

Introduction to the Open Service Broker API. Doug Davis

Introduction to the Open Service Broker API. Doug Davis Introduction to the Open Service Broker API Doug Davis IBM dug@us.ibm.com @duginabox A Brief History... u PaaS with a mission to make managing Cloud apps simple $ cf push myapp $ cf scale myapp -i 5 u

More information

Cloud Foundry and OpenStack

Cloud Foundry and OpenStack Free Signup: www.cloudfoundry.com, code: openstack2013 Cloud Foundry and OpenStack Ferran Rodenas, Dekel Tankel Cloud Foundry, Pivotal frodenas@vmware.com, twitter: @ferdy dekel@vmware.com, twitter: @dekt

More information

70-532: Developing Microsoft Azure Solutions

70-532: Developing Microsoft Azure Solutions 70-532: Developing Microsoft Azure Solutions Exam Design Target Audience Candidates of this exam are experienced in designing, programming, implementing, automating, and monitoring Microsoft Azure solutions.

More information

MQ High Availability and Disaster Recovery Implementation scenarios

MQ High Availability and Disaster Recovery Implementation scenarios MQ High Availability and Disaster Recovery Implementation scenarios Sandeep Chellingi Head of Hybrid Cloud Integration Prolifics Agenda MQ Availability Message Availability Service Availability HA vs DR

More information

TEN LAYERS OF CONTAINER SECURITY. Kirsten Newcomer Security Strategist

TEN LAYERS OF CONTAINER SECURITY. Kirsten Newcomer Security Strategist TEN LAYERS OF CONTAINER SECURITY Kirsten Newcomer Security Strategist WHAT ARE CONTAINERS? Containers change how we develop, deploy and manage applications INFRASTRUCTURE Sandboxed application processes

More information

WHITE PAPER AUGUST 2017 AN INTRODUCTION TO BOSH. by VMware

WHITE PAPER AUGUST 2017 AN INTRODUCTION TO BOSH. by VMware WHITE PAPER AUGUST 2017 AN INTRODUCTION TO by ware Table of Contents What is?...3 Overview...3 What Problems Does Solve?... 4 Use Cases... 6 Deploying...8 Architecture...8 References...8 CookBook: How

More information

How to Keep UP Through Digital Transformation with Next-Generation App Development

How to Keep UP Through Digital Transformation with Next-Generation App Development How to Keep UP Through Digital Transformation with Next-Generation App Development Peter Sjoberg Jon Olby A Look Back, A Look Forward Dedicated, data structure dependent, inefficient, virtualized Infrastructure

More information

Cloud-Native Applications. Copyright 2017 Pivotal Software, Inc. All rights Reserved. Version 1.0

Cloud-Native Applications. Copyright 2017 Pivotal Software, Inc. All rights Reserved. Version 1.0 Cloud-Native Applications Copyright 2017 Pivotal Software, Inc. All rights Reserved. Version 1.0 Cloud-Native Characteristics Lean Form a hypothesis, build just enough to validate or disprove it. Learn

More information

70-532: Developing Microsoft Azure Solutions

70-532: Developing Microsoft Azure Solutions 70-532: Developing Microsoft Azure Solutions Objective Domain Note: This document shows tracked changes that are effective as of January 18, 2018. Create and Manage Azure Resource Manager Virtual Machines

More information

IBM Bluemix platform as a service (PaaS)

IBM Bluemix platform as a service (PaaS) Cloud Developer Certification Preparation IBM Bluemix platform as a service (PaaS) After you complete this unit, you should understand: Use cases for IBM Bluemix PaaS applications Key infrastructure components

More information

OpenShift 3 Technical Architecture. Clayton Coleman, Dan McPherson Lead Engineers

OpenShift 3 Technical Architecture. Clayton Coleman, Dan McPherson Lead Engineers OpenShift 3 Technical Architecture Clayton Coleman, Dan McPherson Lead Engineers Principles The future of *aas Redefine the Application Networked components wired together Not just a web frontend anymore

More information

Setting up Kubernetes with Day 2 in Mind. Angela Chin, Senior Software Engineer, Pivotal Urvashi Reddy, Senior Software Engineer, Pivotal

Setting up Kubernetes with Day 2 in Mind. Angela Chin, Senior Software Engineer, Pivotal Urvashi Reddy, Senior Software Engineer, Pivotal Setting up Kubernetes with Day 2 in Mind Angela Chin, Senior Software Engineer, Pivotal Urvashi Reddy, Senior Software Engineer, Pivotal About Us Angela Software Engineer @ Pivotal Based in Santa Monica,

More information

How CloudEndure Disaster Recovery Works

How CloudEndure Disaster Recovery Works How Disaster Recovery Works Technical White Paper How Disaster Recovery Works THE TECHNOLOGY BEHIND CLOUDENDURE S ENTERPRISE-GRADE DISASTER RECOVERY SOLUTION Introduction Disaster Recovery is a Software-as-a-Service

More information

Red Hat Atomic Details Dockah, Dockah, Dockah! Containerization as a shift of paradigm for the GNU/Linux OS

Red Hat Atomic Details Dockah, Dockah, Dockah! Containerization as a shift of paradigm for the GNU/Linux OS Red Hat Atomic Details Dockah, Dockah, Dockah! Containerization as a shift of paradigm for the GNU/Linux OS Daniel Riek Sr. Director Systems Design & Engineering In the beginning there was Stow... and

More information

Windows Azure Services - At Different Levels

Windows Azure Services - At Different Levels Windows Azure Windows Azure Services - At Different Levels SaaS eg : MS Office 365 Paas eg : Azure SQL Database, Azure websites, Azure Content Delivery Network (CDN), Azure BizTalk Services, and Azure

More information

Backup strategies for Stateful Containers in OpenShift Using Gluster based Container-Native Storage

Backup strategies for Stateful Containers in OpenShift Using Gluster based Container-Native Storage Backup strategies for Stateful Containers in OpenShift Using Gluster based Container-Native Storage Niels de Vos Senior Software Engineer Red Hat Storage Critical features for both Dev and Ops Self-Service

More information

How CloudEndure Disaster Recovery Works

How CloudEndure Disaster Recovery Works How CloudEndure Disaster Recovery Works Technical White Paper How CloudEndure Disaster Recovery Works THE TECHNOLOGY BEHIND CLOUDENDURE S ENTERPRISE-GRADE DISASTER RECOVERY SOLUTION Introduction CloudEndure

More information

Disclaimer This presentation may contain product features that are currently under development. This overview of new technology represents no commitme

Disclaimer This presentation may contain product features that are currently under development. This overview of new technology represents no commitme CNA1142BE Developer-Ready Infrastructure from VMware and Pivotal Merlin Glynn (Vmware) Ramiro Salas (Pivotal) #VMworld #CNA1142BE Disclaimer This presentation may contain product features that are currently

More information

Disclaimer This presentation may contain product features that are currently under development. This overview of new technology represents no commitme

Disclaimer This presentation may contain product features that are currently under development. This overview of new technology represents no commitme CNA1509BU Developer-Ready Infrastructure from VMware and Pivotal Merlin Glynn, VMware Ramiro Salas, Pivotal #VMworld #CNA1509BU Disclaimer This presentation may contain product features that are currently

More information

OpenShift on Public & Private Clouds: AWS, Azure, Google, OpenStack

OpenShift on Public & Private Clouds: AWS, Azure, Google, OpenStack OpenShift on Public & Private Clouds: AWS, Azure, Google, OpenStack Chris Morgan, Technical Director, OpenShift Ecosystem Chuck Svoboda, Cloud Specialist, Federal Solutions June 29, 2016 Agenda What is

More information

IBM Compose Managed Platform for Multiple Open Source Databases

IBM Compose Managed Platform for Multiple Open Source Databases IBM Compose Managed Platform for Multiple Source Databases Source for Source for Data Layer Blueprint with Compose Source for Comprehensive Catalogue for Simplified Scoping Scalable Platform for FutureProof

More information

#techsummitch

#techsummitch www.thomasmaurer.ch #techsummitch Justin Incarnato Justin Incarnato Microsoft Principal PM - Azure Stack Hyper-scale Hybrid Power of Azure in your datacenter Azure Stack Enterprise-proven On-premises

More information

How CloudEndure Works

How CloudEndure Works How Works How Works THE TECHNOLOGY BEHIND CLOUDENDURE S DISASTER RECOVERY AND LIVE MIGRATION SOLUTIONS offers Disaster Recovery and Live Migration Software-as-a-Service (SaaS) solutions. Both solutions

More information

The Post-Cloud. Where Google, DevOps, and Docker Converge

The Post-Cloud. Where Google, DevOps, and Docker Converge The Post-Cloud Where Google, DevOps, and Docker Converge About me Principal Architect, Intel Corporation DevOps, Telemetry, PaaS, Containers, Puppies Former: VMware EMC Nicholas Weaver nicholas.weaver@intel.com

More information

University of Bologna Dipartimento di Informatica Scienza e Ingegneria (DISI) Engineering Bologna Campus

University of Bologna Dipartimento di Informatica Scienza e Ingegneria (DISI) Engineering Bologna Campus University of Bologna Dipartimento di Informatica Scienza e Ingegneria (DISI) Engineering Bologna Campus Class of Computer Networks M Openstack& more Antonio Corradi Luca Foschini Academic year 2017/2018

More information

Open Service Broker API: Creating a Cross-Platform Standard Doug Davis IBM Shannon Coen Pivotal

Open Service Broker API: Creating a Cross-Platform Standard Doug Davis IBM Shannon Coen Pivotal Open Service Broker API: Creating a Cross-Platform Standard Doug Davis IBM Shannon Coen Pivotal Motivations Application development teams require services From app dependencies to team enablement Managed

More information

Agenda. AWS Database Services Traditional vs AWS Data services model Amazon RDS Redshift DynamoDB ElastiCache

Agenda. AWS Database Services Traditional vs AWS Data services model Amazon RDS Redshift DynamoDB ElastiCache Databases on AWS 2017 Amazon Web Services, Inc. and its affiliates. All rights served. May not be copied, modified, or distributed in whole or in part without the express consent of Amazon Web Services,

More information

Container-Native Storage

Container-Native Storage Container-Native Storage Solving the Persistent Storage Challenge with GlusterFS Michael Adam Manager, Software Engineering José A. Rivera Senior Software Engineer 2017.09.11 WARNING The following presentation

More information

Redis for Pivotal Cloud Foundry Docs

Redis for Pivotal Cloud Foundry Docs Redis for Pivotal Cloud Foundry Docs Version 1.5 User's Guide 2018 Pivotal Software, Inc. Table of Contents Table of Contents Redis for PCF Redis for PCF Redis for PCF Release Notes Installing Redis for

More information

CONTAINERS AND MICROSERVICES WITH CONTRAIL

CONTAINERS AND MICROSERVICES WITH CONTRAIL CONTAINERS AND MICROSERVICES WITH CONTRAIL Scott Sneddon Sree Sarva DP Ayyadevara Sr. Director Sr. Director Director Cloud and SDN Contrail Solutions Product Line Management This statement of direction

More information

Amazon Web Services (AWS) Solutions Architect Intermediate Level Course Content

Amazon Web Services (AWS) Solutions Architect Intermediate Level Course Content Amazon Web Services (AWS) Solutions Architect Intermediate Level Course Content Introduction to Cloud Computing A Short history Client Server Computing Concepts Challenges with Distributed Computing Introduction

More information

Kubernetes 101. Doug Davis, STSM September, 2017

Kubernetes 101. Doug Davis, STSM September, 2017 Kubernetes 101 Doug Davis, STSM September, 2017 Today's Agenda What is Kubernetes? How was Kubernetes created? Where is the Kubernetes community? Technical overview What's the current status of Kubernetes?

More information

Amir Zipory Senior Solutions Architect, Redhat Israel, Greece & Cyprus

Amir Zipory Senior Solutions Architect, Redhat Israel, Greece & Cyprus Amir Zipory Senior Solutions Architect, Redhat Israel, Greece & Cyprus amirz@redhat.com TODAY'S IT CHALLENGES IT is under tremendous pressure from the organization to enable growth Need to accelerate,

More information

Is Docker Infrastructure or Platform? & Cloud Foundry intro

Is Docker Infrastructure or Platform? & Cloud Foundry intro Is Docker Infrastructure or Platform? & Cloud Foundry intro A Lecture for InstallFest 2017 by Ing. Tomáš Vondra Cloud Architect at Outline Virtualization and IaaS PaaS Docker Problems with Docker Cloud

More information

Accelerate at DevOps Speed With Openshift v3. Alessandro Vozza & Samuel Terburg Red Hat

Accelerate at DevOps Speed With Openshift v3. Alessandro Vozza & Samuel Terburg Red Hat Accelerate at DevOps Speed With Openshift v3 Alessandro Vozza & Samuel Terburg Red Hat IT (R)Evolution Red Hat Brings It All Together What is Kubernetes Open source container cluster manager Inspired by

More information

Cloud & container monitoring , Lars Michelsen Check_MK Conference #4

Cloud & container monitoring , Lars Michelsen Check_MK Conference #4 Cloud & container monitoring 04.05.2018, Lars Michelsen Some cloud definitions Applications Data Runtime Middleware O/S Virtualization Servers Storage Networking Software-as-a-Service (SaaS) Applications

More information

Important DevOps Technologies (3+2+3days) for Deployment

Important DevOps Technologies (3+2+3days) for Deployment Important DevOps Technologies (3+2+3days) for Deployment DevOps is the blending of tasks performed by a company's application development and systems operations teams. The term DevOps is being used in

More information

Industry-leading Application PaaS Platform

Industry-leading Application PaaS Platform Industry-leading Application PaaS Platform Solutions Transactional Apps Digital Marketing LoB App Modernization Services Web Apps Web App for Containers API Apps Mobile Apps IDE Enterprise Integration

More information

Running MarkLogic in Containers (Both Docker and Kubernetes)

Running MarkLogic in Containers (Both Docker and Kubernetes) Running MarkLogic in Containers (Both Docker and Kubernetes) Emma Liu Product Manager, MarkLogic Vitaly Korolev Staff QA Engineer, MarkLogic @vitaly_korolev 4 June 2018 MARKLOGIC CORPORATION Source: http://turnoff.us/image/en/tech-adoption.png

More information

How CloudEndure Works

How CloudEndure Works How Works How Works THE TECHNOLOGY BEHIND CLOUDENDURE S DISASTER RECOVERY AND LIVE MIGRATION SOLUTIONS offers cloud-based Disaster Recovery and Live Migration Software-as-a-Service (SaaS) solutions. Both

More information

Part2: Let s pick one cloud IaaS middleware: OpenStack. Sergio Maffioletti

Part2: Let s pick one cloud IaaS middleware: OpenStack. Sergio Maffioletti S3IT: Service and Support for Science IT Cloud middleware Part2: Let s pick one cloud IaaS middleware: OpenStack Sergio Maffioletti S3IT: Service and Support for Science IT, University of Zurich http://www.s3it.uzh.ch/

More information

DevOps Course Content

DevOps Course Content DevOps Course Content 1. Introduction: Understanding Development Development SDLC using WaterFall & Agile Understanding Operations DevOps to the rescue What is DevOps DevOps SDLC Continuous Delivery model

More information

Go Further Ford Motor Company. Ford Invests in Making Customer Experience as Strong as Its Vehicles with FordPass

Go Further Ford Motor Company. Ford Invests in Making Customer Experience as Strong as Its Vehicles with FordPass Go Further Ford Motor Company Ford Invests in Making Customer Experience as Strong as Its Vehicles with FordPass Introductions Shaji Thomas (Ford, Senior Systems Engineer Cloud Operations) Mohsin Ahmed

More information

Cloud I - Introduction

Cloud I - Introduction Cloud I - Introduction Chesapeake Node.js User Group (CNUG) https://www.meetup.com/chesapeake-region-nodejs-developers-group START BUILDING: CALLFORCODE.ORG 3 Agenda Cloud Offerings ( Cloud 1.0 ) Infrastructure

More information

Amazon Web Services Training. Training Topics:

Amazon Web Services Training. Training Topics: Amazon Web Services Training Training Topics: SECTION1: INTRODUCTION TO CLOUD COMPUTING A Short history Client Server Computing Concepts Challenges with Distributed Computing Introduction to Cloud Computing

More information

Exam : Implementing Microsoft Azure Infrastructure Solutions

Exam : Implementing Microsoft Azure Infrastructure Solutions Exam 70-533: Implementing Microsoft Azure Infrastructure Solutions Objective Domain Note: This document shows tracked changes that are effective as of January 18, 2018. Design and Implement Azure App Service

More information

5 Things You Need for a True VMware Private Cloud

5 Things You Need for a True VMware Private Cloud 5 Things You Need for a True VMware Private Cloud Introduction IT teams forging their cloud strategies are considering public cloud providers such as Amazon Web Services (AWS) to satisfy growing developer

More information

Kontejneri u Azureu uz pomoć Kubernetesa što i kako? Tomislav Tipurić Partner Technology Strategist Microsoft

Kontejneri u Azureu uz pomoć Kubernetesa što i kako? Tomislav Tipurić Partner Technology Strategist Microsoft Kontejneri u Azureu uz pomoć Kubernetesa što i kako? Tomislav Tipurić Partner Technology Strategist Microsoft Source: Softpedia Credits: James Niccolai A decade ago no one could have seen this coming.

More information

Using DC/OS for Continuous Delivery

Using DC/OS for Continuous Delivery Using DC/OS for Continuous Delivery DevPulseCon 2017 Elizabeth K. Joseph, @pleia2 Mesosphere 1 Elizabeth K. Joseph, Developer Advocate, Mesosphere 15+ years working in open source communities 10+ years

More information

Managing Openstack in a cloud-native way

Managing Openstack in a cloud-native way Managing Openstack in a cloud-native way Alberto García Marcel Haerry Red Hat Cloud Architect Over 5 years helping companies to adopt emerging technologies Network engineer in a previous life Leading the

More information

Use Case: Scalable applications

Use Case: Scalable applications Use Case: Scalable applications 1. Introduction A lot of companies are running (web) applications on a single machine, self hosted, in a datacenter close by or on premise. The hardware is often bought

More information

Document Sub Title. Yotpo. Technical Overview 07/18/ Yotpo

Document Sub Title. Yotpo. Technical Overview 07/18/ Yotpo Document Sub Title Yotpo Technical Overview 07/18/2016 2015 Yotpo Contents Introduction... 3 Yotpo Architecture... 4 Yotpo Back Office (or B2B)... 4 Yotpo On-Site Presence... 4 Technologies... 5 Real-Time

More information

The 12-Factor app and IBM Bluemix IBM Corporation

The 12-Factor app and IBM Bluemix IBM Corporation The 12-Factor app and IBM Bluemix After you complete this section, you should understand: The characteristics of a 12-Factor app Examples of following 12-Factor App methodology in Bluemix 2 What are the

More information

Amazon Web Services (AWS) Training Course Content

Amazon Web Services (AWS) Training Course Content Amazon Web Services (AWS) Training Course Content SECTION 1: CLOUD COMPUTING INTRODUCTION History of Cloud Computing Concept of Client Server Computing Distributed Computing and it s Challenges What is

More information

Microservices. Chaos Kontrolle mit Kubernetes. Robert Kubis - Developer Advocate,

Microservices. Chaos Kontrolle mit Kubernetes. Robert Kubis - Developer Advocate, Microservices Chaos Kontrolle mit Kubernetes Robert Kubis - Developer Advocate, Google @hostirosti About me Robert Kubis Developer Advocate Google Cloud Platform London, UK hostirosti github.com/hostirosti

More information

Development and Operations: Continuous Delivery in Practice

Development and Operations: Continuous Delivery in Practice Development and Operations: Continuous Delivery in Practice Dr. Julie Wagner Senior UX Researcher at Fujitsu EST Copyright 2016 FUJITSU LIMITED Enchantée Studied computer science in Aachen, Germany Majored

More information

Go Faster: Containers, Platforms and the Path to Better Software Development (Including Live Demo)

Go Faster: Containers, Platforms and the Path to Better Software Development (Including Live Demo) RED HAT DAYS VANCOUVER Go Faster: Containers, Platforms and the Path to Better Software Development (Including Live Demo) Paul Armstrong Principal Solutions Architect Gerald Nunn Senior Middleware Solutions

More information

Nevin Dong 董乃文 Principle Technical Evangelist Microsoft Cooperation

Nevin Dong 董乃文 Principle Technical Evangelist Microsoft Cooperation Nevin Dong 董乃文 Principle Technical Evangelist Microsoft Cooperation Microservices Autonomous API Gateway Events Service Discovery Circuit Breakers Commands Aggregates Bounded Context Event Bus Domain Events

More information

Mesosphere and Percona Server for MongoDB. Peter Schwaller, Senior Director Server Eng. (Percona) Taco Scargo, Senior Solution Engineer (Mesosphere)

Mesosphere and Percona Server for MongoDB. Peter Schwaller, Senior Director Server Eng. (Percona) Taco Scargo, Senior Solution Engineer (Mesosphere) Mesosphere and Percona Server for MongoDB Peter Schwaller, Senior Director Server Eng. (Percona) Taco Scargo, Senior Solution Engineer (Mesosphere) Mesosphere DC/OS MICROSERVICES, CONTAINERS, & DEV TOOLS

More information

Reactive Microservices Architecture on AWS

Reactive Microservices Architecture on AWS Reactive Microservices Architecture on AWS Sascha Möllering Solutions Architect, @sascha242, Amazon Web Services Germany GmbH Why are we here today? https://secure.flickr.com/photos/mgifford/4525333972

More information

Designing MQ deployments for the cloud generation

Designing MQ deployments for the cloud generation Designing MQ deployments for the cloud generation WebSphere User Group, London Arthur Barr, Senior Software Engineer, IBM MQ 30 th March 2017 Top business drivers for cloud 2 Source: OpenStack user survey,

More information

CONTINUOUS DELIVERY WITH MESOS, DC/OS AND JENKINS

CONTINUOUS DELIVERY WITH MESOS, DC/OS AND JENKINS APACHE MESOS NYC MEETUP SEPTEMBER 22, 2016 CONTINUOUS DELIVERY WITH MESOS, DC/OS AND JENKINS WHO WE ARE ROGER IGNAZIO SUNIL SHAH Tech Lead at Mesosphere @rogerignazio Product Manager at Mesosphere @ssk2

More information

@joerg_schad Nightmares of a Container Orchestration System

@joerg_schad Nightmares of a Container Orchestration System @joerg_schad Nightmares of a Container Orchestration System 2017 Mesosphere, Inc. All Rights Reserved. 1 Jörg Schad Distributed Systems Engineer @joerg_schad Jan Repnak Support Engineer/ Solution Architect

More information

Kubernetes on Azure. Daniel Neumann Technology Solutions Professional Microsoft. Build, run and monitor your container applications

Kubernetes on Azure. Daniel Neumann Technology Solutions Professional Microsoft. Build, run and monitor your container applications Daniel Neumann Technology Solutions Professional Microsoft Daniel.Neumann@microsoft.com @neumanndaniel Kubernetes on Azure Build, run and monitor your container applications Session objectives Learn how

More information

CONTINUOUS DELIVERY WITH DC/OS AND JENKINS

CONTINUOUS DELIVERY WITH DC/OS AND JENKINS SOFTWARE ARCHITECTURE NOVEMBER 15, 2016 CONTINUOUS DELIVERY WITH DC/OS AND JENKINS AGENDA Presentation Introduction to Apache Mesos and DC/OS Components that make up modern infrastructure Running Jenkins

More information

Red Hat OpenShift Roadmap Q4 CY16 and H1 CY17 Releases. Lutz Lange Solution

Red Hat OpenShift Roadmap Q4 CY16 and H1 CY17 Releases. Lutz Lange Solution Red Hat OpenShift Roadmap Q4 CY16 and H1 CY17 Releases Lutz Lange Solution Architect @AtomicContainer OpenShift Roadmap OpenShift Container Platform 3.2 Kubernetes 1.2 & Docker 1.9

More information

Building a government cloud Concepts and Solutions

Building a government cloud Concepts and Solutions Building a government cloud Concepts and Solutions Dr. Gabor Szentivanyi, ULX Open Source Consulting & Distribution Background Over 18 years of experience in enterprise grade open source Based in Budapest,

More information

Deploying and Operating Cloud Native.NET apps

Deploying and Operating Cloud Native.NET apps Deploying and Operating Cloud Native.NET apps Jenny McLaughlin, Sr. Platform Architect Cornelius Mendoza, Sr. Platform Architect Pivotal Cloud Native Practices Continuous Delivery DevOps Microservices

More information

DevOps and Continuous Delivery USE CASE

DevOps and Continuous Delivery USE CASE DevOps and Continuous Delivery USE CASE CliQr DevOps and Continuous Delivery Page 2 DevOps and Continuous Delivery In the digital economy, increasing application velocity is key to success. In order to

More information

A10 HARMONY CONTROLLER

A10 HARMONY CONTROLLER DATA SHEET A10 HARMONY CONTROLLER AGILE MANAGEMENT, AUTOMATION, ANALYTICS FOR MULTI-CLOUD ENVIRONMENTS PLATFORMS A10 Harmony Controller provides centralized agile management, automation and analytics for

More information

File system, 199 file trove-guestagent.conf, 40 flavor-create command, 108 flavor-related APIs list, 280 show details, 281 Flavors, 107

File system, 199 file trove-guestagent.conf, 40 flavor-create command, 108 flavor-related APIs list, 280 show details, 281 Flavors, 107 Index A Amazon AWS, 7, 10 Amazon RDS DBaaS solutions, 10 service vs. platform, 8 single-tenant DBaaS solution, 6 Amazon RedShift DBaaS solutions, 10 single-tenant DBaaS solution, 6 AMD-V, 17 AMQP server

More information

IBM Planning Analytics Workspace Local Distributed Soufiane Azizi. IBM Planning Analytics

IBM Planning Analytics Workspace Local Distributed Soufiane Azizi. IBM Planning Analytics IBM Planning Analytics Workspace Local Distributed Soufiane Azizi IBM Planning Analytics IBM Canada - Cognos Ottawa Lab. IBM Planning Analytics Agenda 1. Demo PAW High Availability on a Prebuilt Swarm

More information

What s New in Red Hat OpenShift Container Platform 3.4. Torben Jäger Red Hat Solution Architect

What s New in Red Hat OpenShift Container Platform 3.4. Torben Jäger Red Hat Solution Architect What s New in Red Hat OpenShift Container Platform 3.4 Torben Jäger Red Hat Solution Architect OpenShift Roadmap OpenShift Container Platform 3.2 Kubernetes 1.2 & Docker 1.9 Red Hat

More information

IBM Bluemix compute capabilities IBM Corporation

IBM Bluemix compute capabilities IBM Corporation IBM Bluemix compute capabilities After you complete this section, you should understand: IBM Bluemix infrastructure compute options Bare metal servers Virtual servers IBM Bluemix Container Service IBM

More information

Deploying and Operating Cloud Native.NET apps

Deploying and Operating Cloud Native.NET apps Deploying and Operating Cloud Native.NET apps Jenny McLaughlin, Sr. Platform Architect Cornelius Mendoza, Sr. Platform Architect Pivotal Cloud Native Practices Continuous Delivery DevOps Microservices

More information

Dell EMC Enterprise Hybrid Cloud for Microsoft Azure Stack. Ahmed Iraqi Account Systems Engineer Dell EMC North & West Africa

Dell EMC Enterprise Hybrid Cloud for Microsoft Azure Stack. Ahmed Iraqi Account Systems Engineer Dell EMC North & West Africa Dell EMC Enterprise Hybrid Cloud for Microsoft Azure Stack Ahmed Iraqi Account Systems Engineer Dell EMC North & West Africa The next 15 years in IT Digital transformation 3 Digital transformation.the

More information

VMware Cloud Application Platform

VMware Cloud Application Platform VMware Cloud Application Platform Jerry Chen Vice President of Cloud and Application Services Director, Cloud and Application Services VMware s Three Strategic Focus Areas Re-think End-User Computing Modernize

More information

How Microsoft Built MySQL, PostgreSQL and MariaDB for the Cloud. Santa Clara, California April 23th 25th, 2018

How Microsoft Built MySQL, PostgreSQL and MariaDB for the Cloud. Santa Clara, California April 23th 25th, 2018 How Microsoft Built MySQL, PostgreSQL and MariaDB for the Cloud Santa Clara, California April 23th 25th, 2018 Azure Data Service Architecture Share Cluster with SQL DB Azure Infrastructure Services Azure

More information

COMP6511A: Large-Scale Distributed Systems. Windows Azure. Lin Gu. Hong Kong University of Science and Technology Spring, 2014

COMP6511A: Large-Scale Distributed Systems. Windows Azure. Lin Gu. Hong Kong University of Science and Technology Spring, 2014 COMP6511A: Large-Scale Distributed Systems Windows Azure Lin Gu Hong Kong University of Science and Technology Spring, 2014 Cloud Systems Infrastructure as a (IaaS): basic compute and storage resources

More information

Azure Webinar. Resilient Solutions March Sander van den Hoven Principal Technical Evangelist Microsoft

Azure Webinar. Resilient Solutions March Sander van den Hoven Principal Technical Evangelist Microsoft Azure Webinar Resilient Solutions March 2017 Sander van den Hoven Principal Technical Evangelist Microsoft DX @svandenhoven 1 What is resilience? Client Client API FrontEnd Client Client Client Loadbalancer

More information

Peco Karayanev Bryan Wynns

Peco Karayanev Bryan Wynns Peco Karayanev Bryan Wynns The new app stacks Docker Kubernetes OpenShift AWS EC2 Docker Pivotal CloudFoundry Microsoft Azure Docker OpenStack VMWare Container adoption Challenges in cloud native environments

More information

Copyright 2016 Pivotal. All rights reserved. Cloud Native Design. Includes 12 Factor Apps

Copyright 2016 Pivotal. All rights reserved. Cloud Native Design. Includes 12 Factor Apps 1 Cloud Native Design Includes 12 Factor Apps Topics 12-Factor Applications Cloud Native Design Guidelines 2 http://12factor.net Outlines architectural principles and patterns for modern apps Focus on

More information

Transform Your Business To An Open Hybrid Cloud Architecture. Presenter Name Title Date

Transform Your Business To An Open Hybrid Cloud Architecture. Presenter Name Title Date Transform Your Business To An Open Hybrid Cloud Architecture Presenter Name Title Date Why You Need To Transform Your Business Public cloud performance setting new expectations for: IT speed, flexibility

More information

Kubernetes Integration with Virtuozzo Storage

Kubernetes Integration with Virtuozzo Storage Kubernetes Integration with Virtuozzo Storage A Technical OCTOBER, 2017 2017 Virtuozzo. All rights reserved. 1 Application Container Storage Application containers appear to be the perfect tool for supporting

More information

Developing Microsoft Azure Solutions (70-532) Syllabus

Developing Microsoft Azure Solutions (70-532) Syllabus Developing Microsoft Azure Solutions (70-532) Syllabus Cloud Computing Introduction What is Cloud Computing Cloud Characteristics Cloud Computing Service Models Deployment Models in Cloud Computing Advantages

More information