NEW YORK -- Cloud computing templates offer IT a way to customize and standardize cloud builds while removing some of the guesswork.
In general, cloud computing templates help IT teams keep some control over their cloud technology, according to Mark Szynaka, founder of consultancy CloudeBroker, who spoke on the topic at the Modern Infrastructure Decisions conference here on April 11.
"Cloud templates are a good way to get a hold of cloud management and configuration management," Szynaka said.
Using templates means that multiple competing systems or applications can be tested, testing rounds can be expedited, and development and production environments can easily be separated. Templates can make the cloud effort "relatively painless," Szynaka said, "and get [return on investment] fairly quickly."
Szynaka offered conference attendees some tips on understanding templates and figuring out whether to use them and how to use them.
What are cloud computing templates?
While the cloud can add needed automation to IT systems, there may be some aspects of cloud deployment that you want to control manually, Szynaka said.
Cloud templates use scripting tools to create individual server builds that can become standards for cloud applications. These templates exist in the layer between Infrastructure as a Service (IaaS) and Platform as a Service (PaaS). They're owned by the business and allow IT to manage the configuration of a particular cloud server.
Puppet Labs' Puppet and Opscode's Chef are two common open source tools in the template market, and RightScale Cloud Management and Racemi CloudPath as other options. These tools front-end the scripting for you, he said.
"Cloud templates are offspring of enterprise standard builds," Szynaka said. "With the cloud, you get a bigger choice of standard builds."
For example, in the pre-cloud computing era, when a department asked for a server for a new network management app, IT admins may have balked because it wasn't a standard build. Now, a cloud template can allow IT to create and save that particular server build.
And as an organization's use of cloud computing -- specifically IaaS -- grows, templates become invaluable.
"They become important when you get above 50 or 60 servers in the cloud," Szynaka said. "These tools allow you to keep control of these images. IaaS wasn't meant to be reader-friendly," and templating allows users to give servers individual names, rather than the IaaS-issued ones.
Choosing cloud templates
Cloud templates aren't a cure-all for every IT shop, however.
"They're good for IT shops that like programming," Szynaka said. "If you don't have staff that likes doing scripts, then consider configuration management SaaS [tools]."
There are four types of templates available: basic server, full server, application server and off-the-shelf server.
Each comes with varying features and levels of complexity and support; for example, the basic is a simple machine image with an operating system, while the off-the-shelf edition is preconfigured with application support available. (Those off-the-shelf options are available in the Amazon Web Services Marketplace.)
It's important for IT to choose the model that's right for them, Szynaka said. And templates generally are useful for IT teams that know what they want and know that they want some control of their cloud servers, but don't want to build from scratch.
Best ways to use cloud templates
There are a few occasions in which cloud templates really make sense, Szynaka noted.
Licensing, for example, can become simpler when a cloud provider is involved. In one situation, he had wanted to configure Oracle software and Microsoft SQL on a server and couldn't get a straight answer on the licensing. Szynaka made a best guess in that case, but a cloud app template removes the uncertainty.
"If you load an application template, you can get the license already on it," he said.
Of course, that template might become more expensive over time.
"Amazon will charge you four pennies per hour, but the licensing is already on it," Szynaka said. "The convenience of having everything laid out will come at a price."
For DevOps, templates can be invaluable because they allow developers to try several data configurations in an isolated area and decide which one works best.
"Once you've locked down the configuration," he said, "save that off to the side, then make clones of that [template] to deploy. If the clone doesn't work, I'll roll back to my golden repository."
And for disaster recovery (DR), create clones with templates then leave them to be spun up in the event of disaster. In the case of DR, it is important to upgrade the DR site whenever the primary production system is upgraded. If the DR site is in the cloud, "make a copy of the configurations," Szynaka said, "then send the copy to the multi-tenant public cloud."
Training can also be a hotspot for cloud templates, he said. Configuration management tools can help those not inclined to programming. Build a server template first using that tool, Szynaka advised, then look at it with a development tool such as Chef. That will help nonprogrammers in the IT department and others, such as students and interns, to become familiar with the underside of a cloud server build.
Cloud computing templates bring their own challenges, namely portability. The lack of interoperability among cloud providers can be problematic, Szynaka said.
"Building configurations that are identical in two different providers is very difficult," he said. "If you're leveraging add-on features in the cloud, those things may not be portable." Testing will be key to knowing if your server is truly portable, and designing using generic concepts will be extremely useful.
For IT teams moving systems to the cloud, striking a balance between too much and too little control over cloud computing may well include templates.
"You may find that there are some aspects of deployment in the cloud that you want to keep control of," Szynaka said. "Templates fit into your toolkit."