forked from Linq2Azure/API
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathRequirements.txt
61 lines (44 loc) · 1.72 KB
/
Requirements.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
SCOPE
Phase 1
Manage follownig services:
- Cloud Services
- Deployments
- Instances [crud operations, update config, VIP swap]
- SQL Databases
- Servers [change admin password and configure firewall]
- Databases [change database type and size]
- GeoDr (Linq2AzureEx?)
- Networks
- Traffic Manager [crud]
Phase 2
- Storage accounts [manage keys and configure]
New Service + Production Deployment
LoadSusbcription()
CreateNewService("geo location")
var certificates = CreateCertificates() // shells to makecert / pvk2pfx
UploadCertificates(certificates)
CreateDatabase();
var config = PrepareDeployment() // alters config templates with deployment specifics (certificate thumbprints, sql connection strings etc)
Retry () => PublishDeployment(config, Slot = Production)
Retry () => UpdateProductionDeploymentConfiguration() // enable message processor
Retry () => CreateTrafficManagerPolicies()
New Staging Deployment + VIP Swap
LoadSusbcription()
var certificates = DownloadCertificates(); // we pull down information (thumbprints) from the hosted service about the certificates that are being used
var config = PrepareDeployment() // alters config templates with deployment specifics (certificate thumbprints, sql connection strings etc)
PublishDeployment(config, Slot = Staging)
try
{
Retry () => UpdateDeploymentConfiguration(Slot = Production) // stops message processor & mark as upgrading
UpdateDatabase()
Retry () => VipSwap()
}
catch
{
Retry () => UpdateDeploymentConfiguration(Slot = Production) // enable message processor & remove upgrading flag
throw
}
finally
{
DeleteDeployment(Slot = Staging)
}