Through the first published state government cloud computing strategy in the nation, Michigan focused on tapping emerging cloud computing technologies and business models to dramatically increase IT agility. The resulting program, MiCloud, delivered a fully automated, self-service cloud computing platform without purchasing any new products or services.
We delivered the MiCloud Data Storage service for $126,757 in staff time, while the MiCloud Automated Hosting service cost $118,329 in labor. Any organization eager to explore cloud computing can apply some of our tactics described below.
Capitalize on your team
Do you know what you need to be a cloud expert today? Business cards. Print some for your organization’s techies. That’s how the vendors do it.
With all seriousness, the cloudscape changes every six months. If your team is starting today, then they’re only six months behind the top cloud experts in the world. Create a small cross-functional group and replicate the work of others.
Use what you have
If your organization is anything like the state of Michigan, then you probably already have more than enough tools. Use the ones you know (see sidebar).
Select your first cloud service
Choose an IT service that your team delivers and knows well, and reframe it as a standard commodity to solve a business problem. We picked storage for many reasons. Michigan already had fabulous gold, silver and bronze tiered storage options. But they were complex, costly and billed by allocation rather than usage. Plus, they were tied to slow manual processes. Costs and delivery were not well aligned with the business. We were able to pilot the solution using our existing free storage pool.
Don’t ask customers for cloud service requirements
Media and vendor hype have made this impossible. You’ll spend hours trying to untangle their wildly disparate perceptions, beliefs and expectations about cloud computing. Save that conversation for the pilot, when you’ll have something concrete to show them.
Define your first cloud service
Match the business problem that you are trying to solve with a “reference service,” instead of gathering requirements. A reference service is a cloud service that has proved to be technically workable and commercially viable.
Dramatically lower the complexity and risk of your efforts by standing up a solution that emulates a reference service. You’ll need minimal tweaks in order to move to production. Your first service may be internally or externally provisioned. It’s not critical to determine the perfect provisioning up front. The right answer is changing rapidly. Cultivate your ability to flexibly re-source and multi-source, as opportunities arise over the lifecycle of the service.
One thing is certain: Your organization must control the part of any cloud service that touches your customers.
Build your interface
Build your own web pages with a provider-agnostic service interface for users to submit and track their requests. Notepad and straight HTML work fine for this purpose. Most vendor-provided cloud interfaces give users too much choice and control. Limit the service options to what makes sense for your environment.
Strive for simplicity
A cloud service delivers a simple, standard commodity. People should be genuinely disappointed when they find out how your cloud service works. If your solution is exotic or cool, then you did it wrong.
Automate wherever possible
Human touches take time and cost money. Automate as many cloud service delivery tasks as possible. Preapproved requests and automated notifications will allow for both rapid service delivery and control of virtual resource sprawl. Many robust application programming interfaces, callable by simple scripts, are now available for automating IT service delivery. Also, consider pre-provisioning resources such as VLANs and IP addresses. Use cloud automation scripts to manage them.
Build an automation engine
MiCloud Process Orchestrator is our internally developed, data-driven, workflow automation engine. PO is just a set of simple Windows PowerShell scripts; the entire cloud management engine can run on the spare capacity of a single server.
Later this year, Michigan will release PO as an open-source solution that includes the MiCloud service-oriented architecture solution pattern, storage service fulfillment scripts and virtual server fulfillment scripts. You can create this same type of capability through Windows PowerShell or Unix scripting.
Here’s what your simple automation engine should do:
- Capture requests that are related to your cloud services, when they are submitted through your service interface.
- Validate the requestor’s credentials and permissions with your Lightweight Directory Access Protocol (LDAP) directory.
- (Optional) Manage any associated approvals.
- (Optional) Reserve IT resources tracked in your configuration management database (CMDB).
- Invoke the scripts that perform cloud resource provisioning and management.
- Create new configuration items in your CMDB that represent the newly created cloud entities.
- E-mail results and access to the new cloud entities to your requestors.
- (Optional) E-mail notifications to service stakeholders and requestor managers.
- Capture usage metrics.
- (Optional) Update configuration item usage metrics in your CMDB for cloud entities.
- (Optional) Transform those usage metrics into billing events and send them to your billing system interface.
Expand the initiative
Once you have one cloud service success, expand the effort. By harnessing the cloud delivery stack you’ve built and tapping your team’s growing expertise, you can deliver the next cloud service even faster.
Bootstrapping a cloud services program will delight your customers and create a recruiting and retention advantage for your IT organization. Automate mundane tasks related to commodity service. Free up your IT staff to focus on complex, challenging and satisfying service delivery work.
HAVE ON HAND
The state of Michigan used existing tools as the ingredients for its cloud computing recipe. Here’s what you’ll need:
- E-mail system: You have one — maybe more than one.
- Directory service:Any LDAP-based service will do.
- Scripting language: If you have a Windows Server OS, then you already own PowerShell, which is fantastic. Or if you’re a Unix shop, you already know about the many powerful scripting shells available.
- Configuration management database: If you don’t have a CMDB tool, create any type of database, rename it CMDB and you’re in business. PostgreSQL is a wonderful, open-source database.
- Service catalog: Don’t have one? Create a set of web pages. Notepad and straight HTML are free and fine for this purpose. Describe your services and options and make these pages available to your customers.
- Web server: This will host the cloud “service interface” web pages. Provide links to these web pages from your service catalog. This doesn’t have to be a dedicated server; you can use one with spare capacity.
- An IT resource: This will be delivered and managed automatically by your cloud service solution. Examples include data storage, virtual servers or application access.
- Automation engine: As the plumbing that makes all the components function as a unified, automated whole, this tool manages approvals, performs automated fulfillment of requests, sends notifications and makes usage-based billing calculations.