What is cloud automation?
Cloud Automation : Definition
Cloud Automation is defined as using devops tools such as ansible, salt stack, chef or puppet to create a program or set of programs that interact with the native APIs within a Public Cloud to control the infrastructure to execute tasks that would normally be done manually.
The move to Public Cloud providers is rapidly increasing more than ever before.
Many companies sight dramatic cost savings, scale and business agility as some of the top reasons to run workloads in the Cloud.
What most companies DON’T realize is that these three benefits are only HALF realized by utilizing Cloud infrastructure. The other half of the equation is gained from Automating applications with Cloud infrastructure using open source change and configuration management tools.
The marriage of Cloud Infrastructure with Automation tools is the key to success. This is true for any company wanting to take advantage of Cloud Computing.
Do I need to Automate Cloud Infrastructure?
Simple answer is: NO.
Many customers today migrate their applications to a Cloud provider. Furthermore, they simply run their workloads in a very similar manner to how they traditionally have run their applications.
There are differences with how Cloud infrastructure needs to be managed vs a traditional on premise environment. The manual IT processes such as troubleshooting, patching and configuring infrastructure remain about the same.
People are managing the process. You are still able to achieve scale and agility. Next, an IT person has to be the one manually REACTING to monitoring or situations that occur within the environment.
Why enter Automation into the Cloud Equation?
This simple answer is throughout history.
When any process is done manually there are two outputs.
One: The process takes more time. The process takes more people. The process is prone to errors (human’s are not fallible). Go back to farming prior to mechanization. Grain harvesting was done by hands and consisted of three separate operations – reaping, threshing and winnowing. Mechanization lead to the combine harvester, or simply the combine.
This new machine combined all three operations and automated them leading to a revolution in grain production.
What are the benefits of Automation in Cloud Computing?
Each compute instance has a specific size which is allocated to a specific HOURLY COST.
But the real question becomes the level of UTILIZATION of that instance.
Through Automation, when your monitored infrastructure reaches a certain point of low utilization. Instances could either be eliminated or migrated to a smaller more cost effective instance.
For example, it the peak time was say 12 hours and usage dropped significantly for the other 12 hours. Why not migrate the application to more cost effective instances given you are being billed at an hourly rate?
Now if this was done manually the steps and time it would take would be nearly impossible. By using the auto scaling features within a Public Cloud and or tools such as Ansible, Chef or SaltStack these infrastructure changes can he done seamlessly within minutes with no disruption to the application user.
Faster Provisioning Times
Business users and developers are often frustrated with IT Operations. Why? Because of the length of time it takes to get infrastructure provisioned.
The problem is these teams don’t understand all the steps that need to be completed. Also, the checks that need to be be done before the infrastructure is turned over.
If something’s not right the best case is it will not work. Worse case is downtime or security violations.
But what if all the manual steps could be eliminated. In addition, having the various processes are handled by a program built in Ansible, Salt Stack or Chef.
If a set of run books or “Cook Books” were created to handle the various deployment option requests, the provisioning time could be reduced from hours to minutes.
Again..the concept is a machine program checking, testing and progressing the process instead of a human.
Eliminating Human Error
The last major benefit is around human error. Humans are fallible creatures that make mistakes.
Most IT people understand that outages and security breaches are often times the result of people deviating from what they should have done. Therefore, often this is not on purpose but on accident. If we go back to the farming example…mistakes lead to injuries or deaths and could severely impact the production output of a farm.
While no one will be seriously injured in the IT world when mistakes happen…it could have dire consequences to the business.
When automation is used in a Cloud environment, the expected outcome will always be reached in a predictable manner. If it is not reached, than Operations has learned of a new situation which the infrastructure needs to be automated to react to.
Overtime the infrastructure and applications will run more efficiently.
Related: Cloud Automation Benefits
Treating Infrastructure like Cattle vs Pets
Automation cloud infrastructure can be very daunting for many operations people as many of the concepts we have grown up with are challenged or thrown out the window.
One of the best ways to start to think of Cloud infrastructure and why automation is so valuable is another farm analogy. The idea of treating infrastructure as cattle and and not pets.
This analogy runs along the lines that IT Operations has been trained to treat VMs and those applications running on the VMs as pets. If an application starts to perform poorly, Operations receives a monitoring alert from the VM and migrates that VM using vMotion out of production into an area where they can diagnose the issue.
Is it network, storage, compute or the application?
IT Operations job is to quickly figure out the issue and fit it. Think if taking your pet to a veterinarian. You want your pet to get a diagnosis, treatment and to go home with you know what’s wrong and what needs to be done to bring your pet back to good health.
In the Cloud word, when utilizing automation, infrastructure will receive the same treatment as cattle (sorry any vegetarians out there).
The concept is that when monitored infrastructure is alerted to an issue, whether it be storage, networking or compute, new infrastructure is provisioned, the application is migrated to the new infrastructure and the old infrastructure is killed (or slaughtered).
IT Operations does not need to triage or what went wrong and fix it. The goal of IT operations is to quickly migrate the application to new infrastructure to ensure no users are impacted.
Many IT operations teams are starting to adopt DevOps automation tools such as Ansible, SaltStack, Chef or Puppet. These open source advanced change management tools enable Operations to integrated into the native APIs within Cloud infrastructure and create automated programs. In addition to saving incredible amounts of time there’s also a significant savings of money.
If you are not familiar with these tools or who to create this automation it is best to work with a DevOps consulting company. Especially, who can help assess your team’s skills sets and train your team on the right DevOps tools to enable you to leverage the Cloud to it fullest potential.
Thanks for reading: What is Cloud Automation?
In conclusion, we hope you now have a better understanding about cloud automation and why it’s so popular. If you have any questions, we’re here to help.
PiNimbus is a DevOps consulting company specializing in Automation and Containers. PiNimbus helps companies transform they deliver infrastructure and applications to users. Contact us today for a free quote