Skip to content

Commit 68daa0d

Browse files
Implemented SKU support for XM
1 parent eb7f15d commit 68daa0d

File tree

2 files changed

+222
-25
lines changed

2 files changed

+222
-25
lines changed

Sitecore 8.2.1/xm/azuredeploy.json

+219-25
Original file line numberDiff line numberDiff line change
@@ -159,15 +159,15 @@
159159
},
160160
"cm.hostingplan.skuname": {
161161
"type": "string",
162-
"defaultValue": "S1"
162+
"defaultValue": "B2"
163163
},
164164
"cm.hostingplan.skucapacity": {
165165
"type": "int",
166166
"defaultValue": 1
167167
},
168168
"cd.hostingplan.skuname": {
169169
"type": "string",
170-
"defaultValue": "S1"
170+
"defaultValue": "B2"
171171
},
172172
"cd.hostingplan.skucapacity": {
173173
"type": "int",
@@ -191,13 +191,13 @@
191191
},
192192
"sqldatabase.maxsize": {
193193
"type": "string",
194-
"defaultValue": "10737418240"
194+
"defaultValue": "268435456000"
195195
},
196196
"sqldatabase.serviceobjectivelevel": {
197197
"type": "string",
198198
"defaultValue": "S1"
199199
},
200-
"searchservice.cdlicacount": {
200+
"searchservice.replicacount": {
201201
"type": "int",
202202
"defaultValue": 1
203203
},
@@ -207,15 +207,15 @@
207207
},
208208
"rediscache.skuname": {
209209
"type": "string",
210-
"defaultValue": "Basic"
210+
"defaultValue": "Standard"
211211
},
212212
"rediscache.skufamily": {
213213
"type": "string",
214214
"defaultValue": "C"
215215
},
216216
"rediscache.skucapacity": {
217217
"type": "string",
218-
"defaultValue": "0"
218+
"defaultValue": "1"
219219
},
220220
"sitecoreTags": {
221221
"type": "object",
@@ -238,6 +238,200 @@
238238
"type": "securestring",
239239
"minLength": 8,
240240
"maxLength": 128
241+
},
242+
"sitecore.sku" : {
243+
"type" : "string",
244+
"defaultValue": "xM1",
245+
"allowedValues": [
246+
"xM1", "xM2", "xM3", "xM4", "xM5"
247+
],
248+
"metadata": {
249+
"description" : "Sitecore SKU controls the sizes and service levels of the provisioned resources"
250+
}
251+
},
252+
"sitecore.skumap": {
253+
"type" : "secureObject",
254+
"defaultValue" : {
255+
"xM1": {
256+
"CmHostingPlan" : {
257+
"SkuName" : "[parameters('cm.hostingplan.skuname')]",
258+
"SkuCapacity" : "[parameters('cm.hostingplan.skucapacity')]"
259+
},
260+
"CdHostingPlan" : {
261+
"SkuName" : "[parameters('cd.hostingplan.skuname')]",
262+
"SkuCapacity" : "[parameters('cd.hostingplan.skucapacity')]"
263+
},
264+
"CoreSqlDatabase" : {
265+
"Edition": "[parameters('sqldatabase.edition')]",
266+
"MaxSize": "[parameters('sqldatabase.maxsize')]",
267+
"ServiceObjectiveLevel": "[parameters('sqldatabase.serviceobjectivelevel')]"
268+
},
269+
"MasterSqlDatabase" : {
270+
"Edition": "[parameters('sqldatabase.edition')]",
271+
"MaxSize": "[parameters('sqldatabase.maxsize')]",
272+
"ServiceObjectiveLevel": "[parameters('sqldatabase.serviceobjectivelevel')]"
273+
},
274+
"WebSqlDatabase" : {
275+
"Edition": "[parameters('sqldatabase.edition')]",
276+
"MaxSize": "[parameters('sqldatabase.maxsize')]",
277+
"ServiceObjectiveLevel": "[parameters('sqldatabase.serviceobjectivelevel')]"
278+
},
279+
"Searchservice" : {
280+
"SkuName": "[parameters('searchservice.skuname')]",
281+
"Partitions" : "[parameters('searchservice.partitioncount')]",
282+
"Replicas" : "[parameters('searchservice.replicacount')]"
283+
},
284+
"RedisCache" : {
285+
"SkuName": "[parameters('rediscache.skuname')]",
286+
"SkuFamily": "[parameters('rediscache.skufamily')]",
287+
"SkuCapacity": "[int(parameters('rediscache.skucapacity'))]"
288+
}
289+
},
290+
"xM2": {
291+
"CmHostingPlan" : {
292+
"SkuName" : "B2",
293+
"SkuCapacity" : 1
294+
},
295+
"CdHostingPlan" : {
296+
"SkuName" : "B2",
297+
"SkuCapacity" : 2
298+
},
299+
"CoreSqlDatabase" : {
300+
"Edition": "Standard",
301+
"MaxSize": "268435456000",
302+
"ServiceObjectiveLevel": "S1"
303+
},
304+
"MasterSqlDatabase" : {
305+
"Edition": "Standard",
306+
"MaxSize": "268435456000",
307+
"ServiceObjectiveLevel": "S1"
308+
},
309+
"WebSqlDatabase" : {
310+
"Edition": "Standard",
311+
"MaxSize": "268435456000",
312+
"ServiceObjectiveLevel": "S1"
313+
},
314+
"Searchservice" : {
315+
"SkuName": "Standard",
316+
"Partitions" : 1,
317+
"Replicas" : 1
318+
},
319+
"RedisCache" : {
320+
"SkuName": "Standard",
321+
"SkuFamily": "C",
322+
"SkuCapacity": 1
323+
}
324+
},
325+
"xM3": {
326+
"CmHostingPlan" : {
327+
"SkuName" : "B2",
328+
"SkuCapacity" : 1
329+
},
330+
"CdHostingPlan" : {
331+
"SkuName" : "B2",
332+
"SkuCapacity" : 3
333+
},
334+
"CoreSqlDatabase" : {
335+
"Edition": "Standard",
336+
"MaxSize": "268435456000",
337+
"ServiceObjectiveLevel": "S1"
338+
},
339+
"MasterSqlDatabase" : {
340+
"Edition": "Standard",
341+
"MaxSize": "268435456000",
342+
"ServiceObjectiveLevel": "S1"
343+
},
344+
"WebSqlDatabase" : {
345+
"Edition": "Standard",
346+
"MaxSize": "268435456000",
347+
"ServiceObjectiveLevel": "S1"
348+
},
349+
"Searchservice" : {
350+
"SkuName": "Standard",
351+
"Partitions" : 1,
352+
"Replicas" : 1
353+
},
354+
"RedisCache" : {
355+
"SkuName": "Standard",
356+
"SkuFamily": "C",
357+
"SkuCapacity": 1
358+
}
359+
},
360+
"xM4": {
361+
"CmHostingPlan" : {
362+
"SkuName" : "B2",
363+
"SkuCapacity" : 1
364+
},
365+
"CdHostingPlan" : {
366+
"SkuName" : "S3",
367+
"SkuCapacity" : 4
368+
},
369+
"CoreSqlDatabase" : {
370+
"Edition": "Standard",
371+
"MaxSize": "268435456000",
372+
"ServiceObjectiveLevel": "S1"
373+
},
374+
"MasterSqlDatabase" : {
375+
"Edition": "Standard",
376+
"MaxSize": "268435456000",
377+
"ServiceObjectiveLevel": "S1"
378+
},
379+
"WebSqlDatabase" : {
380+
"Edition": "Standard",
381+
"MaxSize": "268435456000",
382+
"ServiceObjectiveLevel": "S2"
383+
},
384+
"Searchservice" : {
385+
"SkuName": "Standard",
386+
"Partitions" : 1,
387+
"Replicas" : 1
388+
},
389+
"RedisCache" : {
390+
"SkuName": "Standard",
391+
"SkuFamily": "C",
392+
"SkuCapacity": 1
393+
}
394+
},
395+
"xM5": {
396+
"CmHostingPlan" : {
397+
"SkuName" : "B2",
398+
"SkuCapacity" : 1
399+
},
400+
"CdHostingPlan" : {
401+
"SkuName" : "S3",
402+
"SkuCapacity" : 8
403+
},
404+
"CoreSqlDatabase" : {
405+
"Edition": "Standard",
406+
"MaxSize": "268435456000",
407+
"ServiceObjectiveLevel": "S1"
408+
},
409+
"MasterSqlDatabase" : {
410+
"Edition": "Standard",
411+
"MaxSize": "268435456000",
412+
"ServiceObjectiveLevel": "S1"
413+
},
414+
"WebSqlDatabase" : {
415+
"Edition": "Standard",
416+
"MaxSize": "268435456000",
417+
"ServiceObjectiveLevel": "S3"
418+
},
419+
"Searchservice" : {
420+
"SkuName": "Standard",
421+
"Partitions" : 1,
422+
"Replicas" : 1
423+
},
424+
"RedisCache" : {
425+
"SkuName": "Standard",
426+
"SkuFamily": "C",
427+
"SkuCapacity": 1
428+
}
429+
}
430+
}
431+
},
432+
"resourceSizes" : {
433+
"type": "object",
434+
"defaultValue": "[parameters('sitecore.skumap')[parameters('sitecore.sku')]]"
241435
}
242436
},
243437
"resources": [
@@ -246,8 +440,8 @@
246440
"name": "[variables('cmHostingPlanNameTidy')]",
247441
"apiVersion": "[variables('webApiVersion')]",
248442
"sku": {
249-
"name": "[parameters('cm.hostingplan.skuname')]",
250-
"capacity": "[parameters('cm.hostingplan.skucapacity')]"
443+
"name": "[parameters('resourceSizes').CmHostingPlan.SkuName]",
444+
"capacity": "[parameters('resourceSizes').CmHostingPlan.SkuCapacity]"
251445
},
252446
"properties": {
253447
"name": "[variables('cmHostingPlanNameTidy')]"
@@ -262,8 +456,8 @@
262456
"name": "[variables('cdHostingPlanNameTidy')]",
263457
"apiVersion": "[variables('webApiVersion')]",
264458
"sku": {
265-
"name": "[parameters('cd.hostingplan.skuname')]",
266-
"capacity": "[parameters('cd.hostingplan.skucapacity')]"
459+
"name": "[parameters('resourceSizes').CdHostingPlan.SkuName]",
460+
"capacity": "[parameters('resourceSizes').CdHostingPlan.SkuCapacity]"
267461
},
268462
"properties": {
269463
"name": "[variables('cdHostingPlanNameTidy')]"
@@ -423,10 +617,10 @@
423617
"type": "databases",
424618
"apiVersion": "[variables('dbApiVersion')]",
425619
"properties": {
426-
"edition": "[parameters('sqldatabase.edition')]",
620+
"edition": "[parameters('resourceSizes').CoreSqlDatabase.Edition]",
427621
"collation": "[parameters('sqldatabase.collation')]",
428-
"maxSizeBytes": "[parameters('sqldatabase.maxsize')]",
429-
"requestedServiceObjectiveName": "[parameters('sqldatabase.serviceobjectivelevel')]"
622+
"maxSizeBytes": "[parameters('resourceSizes').CoreSqlDatabase.MaxSize]",
623+
"requestedServiceObjectiveName": "[parameters('resourceSizes').CoreSqlDatabase.ServiceObjectiveLevel]"
430624
},
431625
"name": "[variables('coreDbNameTidy')]",
432626
"location": "[parameters('location')]",
@@ -439,10 +633,10 @@
439633
"type": "databases",
440634
"apiVersion": "[variables('dbApiVersion')]",
441635
"properties": {
442-
"edition": "[parameters('sqldatabase.edition')]",
636+
"edition": "[parameters('resourceSizes').MasterSqlDatabase.Edition]",
443637
"collation": "[parameters('sqldatabase.collation')]",
444-
"maxSizeBytes": "[parameters('sqldatabase.maxsize')]",
445-
"requestedServiceObjectiveName": "[parameters('sqldatabase.serviceobjectivelevel')]"
638+
"maxSizeBytes": "[parameters('resourceSizes').MasterSqlDatabase.MaxSize]",
639+
"requestedServiceObjectiveName": "[parameters('resourceSizes').MasterSqlDatabase.ServiceObjectiveLevel]"
446640
},
447641
"name": "[variables('masterDbNameTidy')]",
448642
"location": "[parameters('location')]",
@@ -482,10 +676,10 @@
482676
"type": "databases",
483677
"apiVersion": "[variables('dbApiVersion')]",
484678
"properties": {
485-
"edition": "[parameters('sqldatabase.edition')]",
679+
"edition": "[parameters('resourceSizes').WebSqlDatabase.Edition]",
486680
"collation": "[parameters('sqldatabase.collation')]",
487-
"maxSizeBytes": "[parameters('sqldatabase.maxsize')]",
488-
"requestedServiceObjectiveName": "[parameters('sqldatabase.serviceobjectivelevel')]"
681+
"maxSizeBytes": "[parameters('resourceSizes').WebSqlDatabase.MaxSize]",
682+
"requestedServiceObjectiveName": "[parameters('resourceSizes').WebSqlDatabase.ServiceObjectiveLevel]"
489683
},
490684
"name": "[variables('webDbNameTidy')]",
491685
"location": "[parameters('location')]",
@@ -503,10 +697,10 @@
503697
"location": "[parameters('location')]",
504698
"properties": {
505699
"sku": {
506-
"name": "[toLower(parameters('searchservice.skuname'))]"
700+
"name": "[toLower(parameters('resourceSizes').SearchService.SkuName)]"
507701
},
508-
"cdlicaCount": "[parameters('searchservice.cdlicacount')]",
509-
"partitionCount": "[parameters('searchservice.partitioncount')]"
702+
"replicaCount": "[parameters('resourceSizes').SearchService.Replicas]",
703+
"partitionCount": "[parameters('resourceSizes').SearchService.Partitions]"
510704
},
511705
"tags": {
512706
"provider": "[parameters('sitecoreTags').provider]"
@@ -519,9 +713,9 @@
519713
"location": "[parameters('location')]",
520714
"properties": {
521715
"sku": {
522-
"name": "[parameters('rediscache.skuname')]",
523-
"family": "[parameters('rediscache.skufamily')]",
524-
"capacity": "[parameters('rediscache.skucapacity')]"
716+
"name": "[parameters('resourceSizes').RedisCache.SkuName]",
717+
"family": "[parameters('resourceSizes').RedisCache.SkuFamily]",
718+
"capacity": "[parameters('resourceSizes').RedisCache.SkuCapacity]"
525719
},
526720
"enableNonSslPort": false
527721
},

Sitecore 8.2.1/xm/azuredeploy.parameters.json

+3
Original file line numberDiff line numberDiff line change
@@ -19,5 +19,8 @@
1919
},
2020
"licenseXml": {
2121
"value": ""
22+
},
23+
"sitecore.sku" : {
24+
"value" : ""
2225
}
2326
}

0 commit comments

Comments
 (0)