Process
Our current process is:
Build process produces a windows setup (msi).
This setup consists of a web site deployment and also database scripts - which can create a new database or upgrade an existing version.
The QA person needs to snapshot their Application server and their Database server.
- The QA person then runs the setup on their own windows server.
- The setup installs a web site and updates the database.
The purpose of the snapshots is to give them something to rollback to - to compare any behavioural changes between different versions of the application.
Current Technology and Environments
We rollout to Windows Server 2008r2 and above. The Database servers are Windows Server 2008r2 and above with SQL Server 2008r2.
Our QA is a bit mixed in terms of what Virtualisation is being used. Our teams work in two ways, one with SQL Installed on the server and another process with the traditional app server / sql servers being separate. The servers are running on mix of storage using SSD / SAN and SAS drives, each server generally has 60gb HD, running 4gb ram. SQL Servers have 8gb or more
Drawbacks
The biggest drawback is the speed at which the environments are backed up - in terms of speed and the amount of space they take up.
My Thoughts
One of my ideas is to either create an app / script or use some tool to backup / snapshot the application server and MS SQL database at the same time.
Questions
I would like to know how other people are rolling out changes with a similar process to what we go through.
Additionally:
- What other tools are available for example?
- Also what recommendations would you make?