Beyond 1001 Dedicated Data Service Instances
|
|
- Moris Piers Holt
- 5 years ago
- Views:
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
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 informationCloud 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 informationSã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 informationDesign 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 informationTaming 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 informationVMWARE 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 informationDisclaimer 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 informationRedis 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 informationVMWARE 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 informationWHITE 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 informationOPENSTACK 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 informationTEN 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 informationVMWARE 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 informationExtending 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 informationAdvanced 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 informationIntroduction 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 informationCloud 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 information70-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 informationMQ 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 informationTEN 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 informationWHITE 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 informationHow 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 informationCloud-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 information70-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 informationIBM 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 informationOpenShift 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 informationSetting 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 informationHow 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 informationRed 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 informationWindows 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 informationBackup 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 informationHow 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 informationDisclaimer 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 informationDisclaimer 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 informationOpenShift 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 informationIBM 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
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 informationHow 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 informationThe 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 informationUniversity 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 informationOpen 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 informationAgenda. 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 informationContainer-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 informationRedis 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 informationCONTAINERS 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 informationAmazon 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 informationKubernetes 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 informationAmir 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 informationIs 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 informationAccelerate 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 informationCloud & 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 informationImportant 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 informationIndustry-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 informationRunning 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 informationHow 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 informationPart2: 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 informationDevOps 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 informationGo 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 informationCloud 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 informationAmazon 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 informationExam : 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 information5 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 informationKontejneri 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 informationUsing 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 informationManaging 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 informationUse 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 informationDocument 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 informationThe 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 informationAmazon 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 informationMicroservices. 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 informationDevelopment 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 informationGo 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 informationNevin 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 informationMesosphere 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 informationReactive 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 informationDesigning 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 informationCONTINUOUS 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 2017 Mesosphere, Inc. All Rights Reserved. 1 Jörg Schad Distributed Systems Engineer @joerg_schad Jan Repnak Support Engineer/ Solution Architect
More informationKubernetes 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 informationCONTINUOUS 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 informationRed 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 informationBuilding 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 informationDeploying 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 informationDevOps 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 informationA10 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 informationFile 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 informationIBM 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 informationWhat 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 informationIBM 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 informationDeploying 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 informationDell 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 informationVMware 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 informationHow 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 informationCOMP6511A: 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 informationAzure 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 informationPeco 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 informationCopyright 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 informationTransform 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 informationKubernetes 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 informationDeveloping 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