To read the first part of this series, check out "Avoid Being Plowed by the Cloud." 

Unless you’ve been living in a cave—or at least a cave without broadband—for the past two years, you know that vendors of so-called “cloud services” have been hawking their wares non-stop, claiming that their product (the latest form of “outsourcing,” basically) can save you money, and that only a fool wouldn’t opt for the cloud. So if the cloud decision is all about money (and it is, actually), let’s think about cloud costs a bit.

You’ll Need More Internet Bandwidth

First, there’s the point that I made last month: when you send your servers out to the cloud, the people don’t go with them. If your people are still in your building but the servers are out on the Internet, you’re going to have to invest in (and maintain) a lot of new Internet bandwidth and its attendant switches, routers, etc, and that ain’t gonna be cheap.

Entry and Exit Costs

Next, ask the question, “How much would it cost to get into the cloud, and then to get out of the cloud?” If you’re opting for an Infrastructure as a Service approach, such as Amazon’s EC2 or Microsoft’s Hyper-V Cloud Service Provider Program (now, there’s a catchy name, eh?), then transfer costs aren’t too bad. In the worst case, you have to rebuild an existing physical server on a virtual machine running on the cloud vendor’s network, which is annoying and time-consuming but not impossible. In many cases, you’ll be able to use some sort of physical-to-virtual (P2V) tool like VMware Converter or Sysinternal’s Disk2VHD to quickly convert a physical system to a ready-for-virtualization one, and if you’re truly lucky then your server is already implemented on some popular virtual format, like a VHD or VMDK, and you may be able to just upload its file to the cloud vendor.

If, on the other hand, you intend to exploit a Software as a Service (SaaS) or Platform as a Service (PaaS) sort of cloud, then you will almost certainly need to rewrite your applications or adopt your new cloud vendor’s applications. For example, you can’t take just any Windows server-based application and drop it on an Azure cloud, as Azure is basically a very large web hosting service for ASP.NET applications. Azure is, however, only basically an ASP.NET platform, as the rules for writing ASP.NET apps on Azure are just different enough from the rules for running them atop a home-built IIS 7.5 system that rewrites will be in order. Understand also that I’m using Azure as one example—you’ll need rewrites for just about any SaaS or PaaS-type cloud.

Furthermore, that might not be your only set of rewrite costs. What if you find that you can’t control your costs on the cloud as well as you’d like? What if, after a year in the cloud, you realize that it’s costing you tons of money and delivering no new benefits, now what? Well, of course you can dust off your old racks, fire up your old servers and decamp from the cloud… or can you? Well, of course in the last year, you’ve updated, debugged and improved your software, which is now trapped in the cloud. Just as you had to rewrite the code to get it into the cloud, it’ll take a rewrite to free it from the cloud, and of course that means more dollars.

If You Give Things Away, Maybe the Cloud’s Not for You

The web is a great place to create and cultivate a community of customers. For instance, I’ve run a web-based business for 15 years doing what zillions of other businesses do: I give away a lot of (hopefully) useful information in the hopes of attracting buyers for my products and services. But what does that mean cost-wise? All I really need is a good computer, onto which I install Windows Server in some version. I then set up IIS, drop the content on, and I’m in business. My annual costs from that point on (besides my time to run the thing) are reasonable and predictable, mostly electricity and Internet connection. So long as ten million people don’t all decide to visit my site at the same time, my infrastructure needs are taken care of: the more visitors, the merrier, to a point.

Ah, but what would happen if I were to move my site out to a cloud? Well, at that point, I’d be paying for every single click that someone makes on one of my web pages, whether that click generates a sale or not… eek. All of a sudden, running a free online tech support forum with 8,000 members doesn’t sound like such a good idea. Every single part of the website, I’d soon be thinking, has to generate revenue, or it’s got to go. Is that the future of the web? I surely hope not.

Cloud computing is a viable alternative for many folks, so it’s worth giving a look. Just be sure to consider all of the costs before diving in. I hope I’ve suggested three useful things to think about this month—join me next month for more cloud chat!