ian watson - devops at callcredit….a year nearer awesome
TRANSCRIPT
Ian WatsonHead of DevOps at CallcreditEmail : [email protected] : @purplemarauder
I am….
Actual Deployment planCheck if access to the deployment packages is available.
• R:\Callcredit Development DML\LL\Builds\Release- v6.1.56.14856.zipExtract
the relevant (Web or App) files zip within the release to c:\program files\callcredit\LL\ on each Web and App servers. Ensure the correct rollback version location is known.
Deployment Steps
Instruction Done (1,2&3) Done (4,5&6)Run script to take the first 3 pairs of Web and App servers out of the pool“C:\scripts\scripts” on WIN**WB01 server….(run Phase 1 script).
ENSURE YOU ARE NOT REMOVING ALL SERVERS FROM THE POOL
On the app server:
• Open a command prompt in the "Release" folder, e.g. "C:\Program Files\callcredit\LL\ v6.1.56.14856\Release"• Enter the command:• Teardown_APP On the app server:
• Open a command prompt in the "Release" folder, e.g. "C:\Program Files\callcredit\LL\ v6.1.56.14856\Release"• Enter the command:• nant -D:"config=siteconfigid" -D:"encrypt.key=yourencryptionkey“
ptionkey = see app support passwordsafe) (where siteconfigid:• Live = “LV”• Site 2 QA = “qa”• Site 2 CT = “ct”
On the web server, open INETMGR and delete the following:
From IIS ? Callcredit Web Site ? services
• Admin • Call• DL1• DL2• LL
From IIS ? Callcredit Web Site
• Call • DL• LL
On the web server:
• Open a command prompt in the "Release" folder, e.g. "C:\Program Files\callcredit\LL\ v6.1.56.14856\Release"• Enter the command:• Teardown_WEB
On the web server:
• Open a command prompt in the "Release" folder, e.g. "C:\Program Files\LL\ v6.1.56.14856\Release"• Enter the command:• nant -D:"config=siteconfigid" -D:"encrypt.key=yourencryptionkey"
(where yourencryptionkey = see app support passwordsafe) (where siteconfigid:• Live = “LV”• Site 2 QA = “qa”• Site 2 CT = “ct”
On each of the App servers:
Under component services\computers\COM+Applications\CAST Job controller\Roles\Permitted Users\
Add the user: ServerName\_LL_CS_WebSvc
e.g. OLSWINxxAP0x\ LL_CS_WebSvc
the user should already be present under computer Management users
On each of the App servers:Open DCOMCNFG -> services\computers\COM+Applications\CAST Job controller
Right click on the component and:
• Shut down• Disable• Enable
DBA should run following script on ML_Lookup_Vws5 databse:
UPDATE vw_IDType SET [Desc] = 'Passport' WHERE [ID] = 5
Rerun the pairing scripts to update COM+ configs (if COM+ has been updated) ENSURE YOU ARE RUNNING THE CORRECT “PHASE” SCRIPT TO MAINTAIN SEPERATION BETWEEN UPGRADED AND NOT UPGRADED VERSIONS OF THE RELEASE!!
QA can then verify the web and app tier install
Add the 3 pairs back into the pool and remove next 3 pairs (run phase 2 script).
ENSURE YOU ARE RUNNING THE CORRECT “PHASE” SCRIPT
Repeat above steps for each pair
Once paired testing is complete, add all servers back into pool (run Phase 3 script)
ENSURE YOU ARE RUNNING THE CORRECT “PHASE” SCRIPT
QA will perform a final BIGIP test.
Universal Truths
You can’t ‘do’ DevOps…
…. in a windows Environment
…. on an Enterprise scale
…. in a database-centric companyWRONG!
Death to Manual Deployments!
Numbers from : Octopus Deployment Automation Survey 2013, State of Software Delivery: Trends in the market now and in the future (2014), Puppet Labs State of DevOps Report 2014
Death to Manual Deployments!
Numbers from : Octopus Deployment Automation Survey 2013, State of Software Delivery: Trends in the market now and in the future (2014), Puppet Labs State of DevOps Report 2014
Death to Manual Deployments!
Numbers from : Octopus Deployment Automation Survey 2013, State of Software Delivery: Trends in the market now and in the future (2014), Puppet Labs State of DevOps Report 2014
Continuous Delivery
What :
We make sure our software is always potentially shippable throughout its entire lifecycle and that any build could potentially be released to users at the touch of a button using a fully automated process.
Why :
We can put the release schedule in the hands of the business rather than IS. Be this with a regular rhythm or on demand.
Aug Sept Oct Nov Dec Jan Feb Mar Apr0
10
20
30
40
50
60
70
80
Test Pre-Prod Prod
Click icon to add pictureDeployments/Month
Achievements so far…
A new definition of done
“it’s been coded and tested”
“it’s working in Production”
Achievements so far…
Packaged, scripted deployments are now the standard rather than the exception
40% of products deploying via Octopus Deploy
Next steps along the road - Culture- Complete the move from Project Teams to Product Teams- Really treating Pre-Production and Production the same
- We need to breed more champions across the company – Development, Security, Operations, Business
Next steps along the road - Monitoring- MUCH more monitoring – proactive rather than reactive and visible to everyone- Log aggregation – choose a tool and allow access to Dev and Ops- Get development teams delivering monitoring as a standard part of any system
Next steps along the road - Environments- IaaS – internally and externally
- MUCH more monitoring – proactive rather than reactive and visible to everyone
- The Cloud – use the best technology for the required solution
Next steps along the road – Delivery- Blue/Green deployments with zero downtime- Continuous performance testing