Automation and the Cloud go hand in hand. Yet many have yet to embrace the true power that can be harnessed from automating your Cloud workload. But what can you do with automation and what business benefits does an automated Cloud offer? In this article, we will look at some common automation cases and the benefits they provide.
Firstly let’s kick off by exploring what Automation in the Cloud is. In this article, we are referring to Cloud automation in the context of infrastructure orchestration. All of the well-known Cloud providers allow different levels of automation. Automation can be created using code. The code can be designed to check multiple statuses and act accordingly. A great example of this is an auto-scaled website.
Different providers have different methods for automating your Clouds and third-party tools also exist that enable automation across multiple Clouds. At Next2IT we are huge fans of Terraform. Terraform allows you to build your infrastructure as code. We often use this to build our clients infrastructure. Taking it further you are able to call Terraform to complete complex tasks across a broad range of infrastructure. The list of supported backend infrastructure can be found here.
Please find the list below for different automation/infrastructure as code services we recommend exploring:
Let’s take a look at some of the ways in which we could harness this power to automate our IT infrastructure.
1. Automated Development Environments
The most common use case for this kind of automation is development. We are able to describe, using code, what our infrastructure needs to look like for the deployment of code/applications. In a super simple example, we might be looking to spin up a website. Our code would describe the required frontend web servers, a load balancer, and a backend database. Once this infrastructure as code has been developed we can guarantee that every time we use it, the environments will be the same. This now means that we can use this code to create a development, testing, and production environment. To expand on this further we could integrate the infrastructure as code to be executed as part of our build process. This will mean every time our developer runs a build, our infrastructure will be rebuilt and the new code deployed. This is extremely effective as it removes the possibility of changes in our infrastructure that result in the application not working correctly.
2. Infrastructure efficiencies
Another common use case for automation is to scale Cloud resources. Let’s use another really simple example to explain the process and result. In this example, a business has a Human Resources application that is required to be accessible during business hours. Currently, the business is running this application on virtual machine infrastructure. As a result, this virtual machine is running 24×7 365. But as the application isn’t required all the time this means that the business is paying for services it does not require. This is where automation can come in and make serious cost savings. In this example we do not require Terraform instead, we can make use of the Cloud providers platforms. Each has different solutions but the results are the same. What we can look to do is to build some code that queries our Virtual Machines at a scheduled time (in this example 6 pm) and if the server is running shut it down. Then we can configure the same query at a different scheduled time (in this example 7 am) and if the server is shutdown start it.
Expanding on this if the server is only required during working hours we would yield a 60% saving as the machine would actually be mostly off! This is another great example of the power of automation.
3. Single Tasks
In our final example, we will look at automating infrastructure to perform a single task. Great examples are conversations, let’s say you have a system that converts or perhaps does a data import at a given time. It may be that it connects to a data source and destination. The import process pulls the data converts it into the correct format and exports it to a destination. This kind of task only needs to be completed on-demand or at scheduled points. As a result, it would be rather costly to have a server devoted to running this available 24×7 365. With automation, we can create the infrastructure using a platform like Terraform and link an automation system to a webhook. That way when this conversation is required the application requesting the service can call a webhook. That webhook will then spin up the required infrastructure to allow the process to take place. Upon completion, another webhook can be used to delete the infrastructure used todo the import/data conversion. As you can imagine this type of automation can be used to complete some seriously complex tasks in an efficient manner.
In conclusion, if you are not currently using automation for your infrastructure, then there is a high probability your infrastructure is not very efficient. At Next2IT we are automation experts and would love to help solve your challenges. Please get in touch and one of our automation experts would be more than happy to help design your infrastructure for the future.