06 December 2016
In the previous post, I wrote about my experience changing the operations of a Software Company, improving the development process.
After we tackle this problem, we move to the next one: How can we bring the automation to our client installer?
To give some context, the software is installed on client premises, thus we have deployed a fair number of network, tiers and security configurations to met the customer requirements. When the software is metadata driven and has a Service Oriented Architecture (SOA), it’s crucial to do the installation in the right way. Since it based on installation notes (sometimes with a dozen of pages), the operator will miss a step (we are all humans, and we get tired). And we know what that means… Everything will fall apart, a rollback needs to be applied to the environment, time is wasted, and ultimately the customer will be unhappy. Our first priority is the customer (as any business should focus), and we want to make sure that all the processes can run smoothly.
Using our experience with Octopus Deploy, we started to explore the Offline Package Drop feature whereby the target environment doesn’t need an agent installed, which is the perfect scenario for a deployment in client premises (since the client will operate using isolated networks, and we can’t access to them for security reasons).
After the initial experiments, the stakeholders decided to support the project, and we design and implement a client installer on top of an Octopus Process. This allows:
Currently, we are rolling out the project internally, with one of the customers facing teams. Until now it had been a success, gathering feedback for further iterations (a software component is not static). Sooner it will be applied by the customer in a UAT environment and we will collect more metric statistics and feedback.
Happy customers, happy days! :)