Bill has a manual task that he does every day, sometimes twice a day. The task is well documented and only takes 10 minutes to complete. Doing the task manually rarely results in error. Bill is learning Ansible and considering which tasks he will automate. He believes it will take him 10 hours to automate, test, fix and release this task. Is it a good candidate for automation?
Jane is writing a new feature. She has asked her manager for more time so that she can automate as much toil as possible, but he is reluctant because the new feature must go live as soon as possible. Jane estimates that all toil tasks combined will take about 1 hour per week. Documenting the toil tasks so that her colleagues can carry them out effectively will take about 5 hours. She also estimates that automating a large percentage of the toil, thus reducing toil to about 30 minutes per week, will take her about 15 hours. What arguments could Jane bring to her manager to convince that it would be time well spent?
John is evaluating third-party products and he has narrowed the choices to two. The first choice has almost every feature required but it has no built-in API. The second choice only has about half of the new features requested, but it does have the required APIs. Without an API, John knows that the software engineering team will not be able to add any future features or easily automate any toil. With the API, the software engineering team could implement the missing features and automate toil, but this would be a lot of extra work. Which option should John choose?
Lisa wants to spend 50% of her time reducing toil through automation. She has asked her manager for the time required but he is reluctant. He argues that all the toil tasks are well documented, therefore anyone can do them. What arguments could Lisa bring to her manager to convince him that automating is a good idea that can improve productivity and efficiency?
Post your opinion on each of the above stories. There is no right and wrong answer. Review other students' opinions and discuss.
Bill must go ahead with automating. Since he is already spending time to learn Ansible, this will help in using his newly learned knowledge.
Jane could argue that as the business grows, the time spent of toil will also grow linearly. It will help if she is going to document steps of automation and how to maintain it.
John should go with the second option. They can request the to add missing features later. And since there is an option to automate with the second option, this could be a better fit in the future.
Lisa can show how too much time spent of toil is decreasing their efficiency and spending time to automate will free time to develop more.
Apart from Ansible, what other automation features are suggested by RH?
John's choice is really hard. It would be awesome to hear from others who have been in this situation to describe their experiences. Personally, I have spent way too many time implementing web scrapers to interact with systems that didn't have the API we need!
About automation features suggested by Red Hat, I cannot really speak as an authority, but I can offer an opinion
Bash ships with (nearly?) all Linux distributions, and can be a perfectly fine automation solution for many (simple, and not so simple) scenarios. Python and any other scripting language can also be useful- and for SRE development work, some knowledge about coding is very important.
Platforms such as OpenShift/Kubernetes are also very "automatable" by themselves. There are many different ways to manage clusters; DO380 contains some information about GitOps practices, and we will expand this topic on DO480.
It's certainly (IMHO) a case more of having a problem and then finding the right tool for the job, although Ansible, due to the huge amount of modules available, is certainly an automation tool that can apply to a huge variety of scenarios.