5 approaches to cloud automation

How do you avoid the messy, painful business of manually provisioning and maintaining cloud resources - and keep an eye on costs? For starters, you can't automate what you can't see
326 readers like this.
CIO Anticipating and Architecting the Future of Retail

There’s plenty of overlap between infrastructure automation and one of its more modern (and large) subcategories: cloud automation. That makes sense because many of the principles or approaches to cloud automation here aren’t that different from on-premises infrastructure.

“Much of the automation you might put in place for a  hybrid cloud infrastructure will be similar to, or even the same as, automation you might want in an on-prem environment,” says Gordon Haff, technology evangelist at Red Hat. “For example, it’s important for a CI/CD pipeline to continuously test and scan wherever the associated infrastructure is located.”

[ How does your hybrid cloud strategy stack up? Get the free eBook: Hybrid Cloud Strategy for Dummies. ]

Automation becomes even more important in the context of hybrid cloud or multi-cloud environments.

Likewise, many of the key concepts of infrastructure automation – such as containersorchestration, microservices architecture, and automated build pipelines (or CI/CD) – still very much apply when talking about cloud automation. We dug into those concepts recently in our article, How to approach infrastructure automation.

Five cloud automation approaches

In this article, we’re focused more specifically on cloud automation approaches. How do you avoid the messy, painful business of manually provisioning and maintaining cloud resources? A question like this one becomes even more important when you’re asking in the context of hybrid cloud or multi-cloud environments.

1. Ensure full visibility as the foundation for cloud automation

You can’t automate what you can’t see, at least not in a manner conducive to positive results.

“The first need is visibility across all environments,” says Jesse Stockall, chief architect at Snow Software. “The discovery capabilities of cloud management platforms provide an inventory of all resources in a single pane of glass.”

The major cloud platforms offer built-in discovery and visibility capabilities, and Stockall says they might suit your needs if you’re working with a single provider or environment.

“But in hybrid, multi-cloud, and even multiple subscription/account environments, native tooling can’t aggregate all the data into a single view,” Stockall says.

That means you’d otherwise have to manually manage this need with a variety of tools instead of automatically bringing everything into a single place. The latter is a better approach for more complex, diverse environments. A cloud management or monitoring platform that offers that “single pane of glass” that Stockall describes – essentially, automatically unifying all of the needed data in one place – can streamline long-term operations.

For example, if you are using  Kubernetes or Red Hat’s OpenShift enterprise Kubernetes platform, there is a lot of cloud-native tooling either built in, in the process of being integrated, or available to add-on in the form of open source tools - such as Prometheus for monitoring, observability tools, Jaeger for distributed tracing, and Grafana to build consoles. For more detail, read 5 open source Kubernetes projects to watch in 2021.

[ Read also: OpenShift and Kubernetes: What’s the difference? ]

2. Use auto-scaling wherever possible

One general benefit of hybrid cloud and multi-cloud is the ability to scale rapidly without having to build out your own physical infrastructure to handle peak or excess capacity. (In fact, early definitions of hybrid cloud were based on that premise: the ability to “burst” to a public cloud from on-premises infrastructure as needed. That’s too narrow to encompass today’s potential use cases, but it remains a key capability of hybrid cloud strategies.)

If you’re still manually adding cloud resources when they’re needed, however, you’re missing out on one of the fundamentals of cloud automation: auto-scaling. Felipe Gimenez, associate manager of cloud operations at Mission, recommends using it wherever possible.

This has become one of the big appeals of Kubernetes: It offers multiple approaches to autoscaling resources.

“If you’ve ever received an ‘insufficient capacity’ error when trying to launch an application, you undoubtedly already know the productivity losses and frustration that not having enough instances can cause,” Gimenez says. “But [customers] who are using your applications to make purchases – or employees [who] depend on your mission-critical software – don’t have time to wait around for more of an instance type to become available. Tapping into automation tools can ensure that your cloud resources scale instantly to fit demand and server loads.”

This has become one of the big appeals of Kubernetes: It offers multiple approaches to autoscaling resources. The major cloud platforms also offer native tools.

Gimenez adds that autoscaling can also help keep cloud costs under control by only adding resources when they’re actually needed, whether you use a single cloud or have a hybrid cloud or multi-cloud environment. There’s some strategic decision-making involved that may depend on variables like the platforms and tools you’re using, not to mention your autoscaling goals.

“Do you want to make sure customers never experience slow response times, or can you afford some slowness to keep costs down?” Gimenez asks, for example. “Variables like these will inform how you define the best automated scaling strategy for your business.”

[ Read also: 5 hybrid cloud trends to watch in 2021. ]

3. Develop a plan for cost monitoring and optimization

Speaking of spending, this is another area where automation can make a significant difference. It’s also one where the considerations for public cloud are very different than in on-premises environments.

“One aspect of public clouds is starkly different from infrastructure that’s running in your own datacenter,” Haff says. “That’s the pay-by-use billing model, which makes keeping close track of costs in one or more public clouds an imperative.”

There’s not really a catch-all solution here, but more likely a mix of tools and tactics – especially in hybrid cloud and multi-cloud settings.

“Understanding all the different costs associated with public clouds and optimizing for future spend requires a lot more know-how than just pressing a button,” Haff says. “However, savvy admins will use a combination of [largely automated] policies and alerts to steer users towards appropriate resource types, shutdown inactive resources, and inform them if usage has shot up for some reason.”

[ Related read: Hybrid cloud costs: 5 misconceptions that can cost you money. ]

Cloud providers offer various reporting and planning tools, and there are third-party options, too. The general idea here: If you’re managing cloud spending in an entirely manual or ad hoc fashion, you’re probably spending more than is necessary or simply tying up people’s time.

“There’s no all-in-one tool to automate public cloud cost control, especially when multiple clouds are involved,” Haff says. “So it’s important to become familiar with and use the many options that are available to get a handle on costs so they don’t race out of control – and lead to an uncomfortable conversation with your CFO.”

Let’s look at two more important approaches that help:

Kevin Casey writes about technology and business for a variety of publications. He won an Azbee Award, given by the American Society of Business Publication Editors, for his InformationWeek.com story, "Are You Too Old For IT?" He's a former community choice honoree in the Small Business Influencer Awards.