Automate all IT delivery services with a single, open platform
Those who have been in the IT industry awhile realize that there are periodic technological inflection points where a new technology fundamentally changes things. We’re starting to experience one of these inflection points because of automation. Automation as a concept isn’t anything new to any industrialized country, 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 a somewhat new concept. Some engineers looking to go down the path of automating the mundane IT operations tasks are looking for a single tool that delivers on all their use case(s). There is an issue with this approach, as there really isn’t one tool that is built to satisfy every use case. I too have found myself looking for that “one tool to rule them all” or “lord of the tools,” (insert whatever joke you want here) but I am still searching.
In the quest for this mythical tool, I have 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, if I should be searching for a platform that is open and extensible allowing me to integrate with any of the other tool(s) that I need to use 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 have been working with Cisco CloudCenter a lot lately and thought to myself, “Why just Infrastructure as a Service (IaaS) (deploying a virtual machine/operating system to a public, private or hybrid cloud) or application deployment on top of IaaS?”
I further reasoned, “Why couldn’t that platform be used for basic infrastructure tasks like ACI fabric access policies or any other IT infrastructure task?”
Well, it turns out it can!
CloudCenter provides the ability to do this in what is called an external service.
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 ask yourself, “Well, Joe, a plain old Linux box can do that. I can’t believe I just wasted five minutes reading this post.”
Well, I can tell you that you may not get your five minutes back, but there are some distinct advantages to using the CloudCenter platform. One of the nice things about CloudCenter is that there is 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.
Another advantage is the ability to create the variables needed for the tasks during the self-service deployment. Those 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.
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. The Docker containers that run the scripts can also instantiate at certain points within the deployment.
One of the comments that I have 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.”
I don’t disagree with that approach, but I would also submit that if you decide on a platform that has the capability to do both, wouldn’t that 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.
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 please contact WWT here or reach out to your account manager.