In this article

The future is automated

Those who have been in the IT industry awhile realize there are periodic inflection points where a new technology fundamentally changes things. We're starting to experience one of these inflection points thanks to automation.

Automation as a concept isn't anything new to the industrialized world, as the manufacturing industry has been using automation for years. Automation isn't necessarily new to IT either, but the ability to automate all the necessary components to deliver IT services is somewhat new.

Some engineers looking to automate mundane IT operations tasks are seeking a single tool that delivers on all of their use cases. There is an issue with this approach: there really isn't one tool built to satisfy every use case. I, too, have found myself looking for "one tool to rule them all" or "the lord of the tools," (insert whatever joke you want here — but I am still searching.

The ultimate platform

In the quest for this mythical tool, I've found a wide range of tools that are good at some use cases but lacking in others. In this search, I began to question if looking for a single tool was the right way to go. Or instead, should I be searching for an open and extensible platform that allows me to integrate with any of the other tools I need for a given use case? This platform would need to be able to have many out-of-the-box integrations plus the ability to add my own integrations without having to wait on the OEM to create and validate them.

I've been working with Cisco CloudCenter a lot lately and caught myself thinking, "Why just Infrastructure as a Service (IaaS) (deploying a virtual machine/operating system to a public, private or hybrid cloud)? Why not application deployment on top of IaaS?"

I further reasoned, "Why couldn't CloudCenter be used for basic infrastructure tasks like ACI fabric access policies or any other IT infrastructure task?"

Well, it turns out it can!

External Service

CloudCenter provides the ability to do this in what is called an External Service.

External Service via CloudCenter
External Service via CloudCenter

The best way to describe the external service is the ability to run an external script or program from a Docker container without deploying a virtual machine within the cloud infrastructure. This container runs the script/program and then goes away.

You may say to yourself, "Well, a plain old Linux box can do that. I can't believe I just wasted five minutes reading this post!"

Advantages

Well, while you won't get your five minutes back, I can tell about some of CloudCenter's distinct advantages. One of the nice things about CloudCenter is that there's a drag and drop canvas that allows for serialization of the tasks you want to run. The workflow can be single threaded or in parallel, as you can see below.

Single or parallel workflows
Single or parallel workflows

Another advantage is the ability to create the variables needed for the tasks during the self-service deployment. Variables that are created at the time of the deployment manifest themselves as environment variables on the Docker container. Environment variables can then be passed into the script(s) or substituted within the script(s) by CloudCenter.

Environment variables
Environment variables

CloudCenter can also pull the scripts, programs, configuration files or deployment artifacts from a centralized repository, which leads to the concept of Infrastructure as Code (IaC). The Docker containers that run the scripts can also instantiate at certain points within the deployment.

External service initialization
External service initialization

One of the comments I've heard about CloudCenter is, "We aren't even close to being able to automate and orchestrate our application deployment, which also includes the underlying IaaS. We need to be able to automate the underlying infrastructure first."

While I don't disagree with that approach, I'd submit that if you decide on a platform that has the capability to do both, wouldn't doing both automation and orchestration make the most sense? You could start off by building your underlying infrastructure automations while learning the platform, then move to IaaS and eventually into application deployment automation and orchestration.

Conclusion

The road to turning your private, public or hybrid cloud into a self-service automated IT environment might not be as far away as you once thought. Using CloudCenter as a highly extensible API broker can help you get there.

For more information on extensible infrastructure automation with Cisco CloudCenter, contact us here or reach out to your local WWT Account Manager.

Technologies