Since I started my IT career back in 1999 i have been working with automation on a regular basis. Not every role I’ve had has given me the opportunity of system interaction but every time I’ve had the systems administrator, consultant or architect role I have pushed for automation.
The purpose of creating an automated task is to get rid of a manual task and the same time making sure it’s getting done exactly the way we want.
Automation from my perspective is when you have a solution for a repeatable task. Let’s say you need to create 100 new virtual machines (VMs). You create a process backed by some sort of script that takes care of the task with just a minimum number of input parameters and most importantly, is repeatable.
Over the past years I have been involved in several projects where automation has been taken to another level, orchestration. Orchestration from my perspective is when you combine automated tasks into one single workflow. There are tons of examples when this is needed and one is a self-service portal where you give the consumers the power of standing up and decommission systems without interacting with e.g. service provider or internal system administrators/delivery teams.
The story I want to share is based on a service provider that had to streamline their system delivery process. When the project started the system delivery time (virtual machine plus application) could be as long as 10 working days.
The company had a mixture of manual and automatic processes to stand up a new system and quite a few internal teams were involved in the process. Each team had their own SLAs but even when each team delivered their expected service within the SLA, the total time was not acceptable from a customer standpoint. Here are the tasks:
- Receive order
- Create service ticket and assign to VMware team.
- Request necessary information e.g. IP information
- Create VM, create documentation and assign service ticket to application team
- Install application, update documentation and assign service ticket to backup & restore team
- Install backup & restore agent, perform test backup and recover, update documentation and assign service ticket to monitoring team.
- Add VM and application to monitoring system, verify monitoring, update documentation and assign service ticket to security team.
- Perform security checks, update documentation and assign service ticket to operations team.
- Verify system functionality, update documentation and close service ticket.
- In some cases the application team has to hand over system to operations team.
- Inform customer about the new system and close service ticket.
Converting the manual processes to automatic processes and combining them all together took some time; the entire project was delivered in four major phases:
- Define acceptable delivery terms
- Work out what systems and applications that must be included initially
- Convert the manual processes to automatic processes and combine all the automatic processes into one orchestration workflow.
- Test period
When all was finished the service provider could offer a self-service portal for their customer and the systems (VMs + applications) were delivered in 2-3 hours instead of a maximum of 10 working days.