So you have heard about cloud computing but are not really sure what you can do with it. Or maybe, your only exposure to the cloud is what you have seen in ads or heard in the media. Let me tell you, what you see on TV is only a fraction of the cloud’s true power. I’m obviously a bit biased, as I work for a cloud infrastructure provider. But that also gives me the ability to really focus in on use cases that seem to be popular this day and age.
As I wrote in my previous article, there are some things that the cloud definitely is not. And, I would like to add that it is definitely not some sort of magical concoction that deploys and repairs itself. Cloud computing, just like traditional hosting, can have issues or outages if not approached and worked with properly. Think of it this way, if you were a football coach, you wouldn’t use your playbook at a baseball game, right? Obviously not. When working with the cloud, you need to design and build specifically for the cloud in order to take advantages of its capabilities and strengths.
With this article, I want to provide some ideas on ways to make cloud computing work for you. That is to say, some best practice suggestions and implementation ideas that can get you down the road toward success. The most important thing to remember when embarking on a cloud adventure is to know that no two cloud are the same. So if someone is trying to sell one a “one size fits all” type of solution, you might want to consider a different vendors.
1) Choose the Right Cloud Layer – In my previous article, I briefly outlined the distinct layers of cloud computing: Application, Platform and Infrastructure. When you are thinking about adopting a cloud strategy, you need to be sure that you select the right layer for your architecture as they can be dramatically different. Even within the same layers there are nuances that can change the direction of your IT rollout. Without completely rehashing the previous article, you need to decide what your business needs. Is it merely that you want to have a shared network drive for backups, document storage, remote access and disaster recovery – a cloud storage, if you will? You are most likely looking at a cloud application like Dropbox or Box.net. On the other extreme is the infrastructure side where you can essentially build that cloud storage example above yourself as a business model or for your enterprise, using a variety of infrastructure components like load balancers, servers, firewalls, storage and other appliances. The infrastructure side provide flexibility and a higher degree of control while on the application side, you get a “pre-packaged” solution that, most likely, will not be tailored exactly to your needs. And right in between these two is the platform layer, where you get more flexibility than the application side, but less than the infrastructure side and you only have access to a framework like .NET or Ruby, for example. But, the underlying infrastructure (e.g., patching, distribution of compute, etc.) is managed for you. So figure out what you really need and how you will use it.
2) Design for the Cloud – When I talk to people about cloud computing, the biggest things that bothers me is the desire to make their cloud model an exact mirror of their physical IT environment (that they might be migrating). Don’t do this, people! The cloud has differences that are pretty significant, especially from traditional hosting. Just because your physical data center has X-number of servers, doesn’t mean that you have to do the same thing in the cloud. Often, physical servers sit under-utilized in terms of storage, CPU processing and RAM. In the cloud, specifically with cloud infrastructure, you have the ability to scale your environment based on usage and projections. If you know when you will have spikes of traffic or need more processing power, spin up more cloud servers, when your traffic has ebbed, spin them down. With the cloud, you pay for what you use, unlike traditional physical infrastructure where you have already paid for the hardware and it just sits there depreciating. Look to do geographic optimization, meaning doing some global load balancing so that the content you are serving makes a shorter hop to get to its destination. Your pages serve faster and your customers are happy. With traditional data centers or even colocation hosting, you have capital outlays or monthly/yearly maintenance plans to set up geographically dispersed environments.
3) Test It Out – The great thing about cloud computing is that you can test it out. It’s important to experiment, especially when you are designing for the cloud (see the previous point). Sometimes I refer to cloud infrastructure as “disposable” infrastructure, meaning that you can create and destroy environments in literally minutes. Test a particular configuration, see how it performs or how well it can be managed, make tweaks to it and test it again. With some cloud providers or environments, you can actually clone the virtual servers that you create so that you can deploy instances of servers and do performance tweaks on them, fine-tuning until you find the optimal configuration. And, you are not paying for lengthy contracts while you are doing this, nor are you begging your IT department to requisition physical hardware. Even armed with just a credit card, you can build up Test and Dev environments for a few hours and tear them down when you are done.
4) Use Consumer Clouds – I previously mentioned some cloud storage services like Box.net and DropBox for cloud backups but actually there are hundreds of thousands of cloud applications available. Things like email solutions (Gmail or Windows Live), hosted application solutions (CRM & ERP), rich media sharing sites like Flickr or YouTube, and others comprise an ever-growing list of cloud solutions available to consumers (and businesses). It’s important to familiarize yourself with all different flavors of cloud computing. Most people know about and use Facebook – that is a prime example – social networking as a cloud. The point here is, the more you experience cloud computing, the more educated you are and the better your decision-making process for corporate or enterprise rollouts of clouds you will be. Learn and choose the right layer (see point #1).
5) Research, Read & Reach Out – Since cloud computing is still relatively new, it goes through changes almost daily with new innovations or services being release from various providers. The problem is, it is often very difficult to keep up with this. I recommend doing lots of research (and this is coupled to #3 above) so that you know the company or cloud partner you are choosing, their capabilities and what you can do with these capabilities. There are many trade journals that cover Cloud Computing like GigaOm, ReadWriteWeb, as well as major research firms like Gartner, Forrester and others, the latter group being a bit more geared toward big business. But, there is also a very active blogging and social media community of cloud advocates, users and evangelists (like me), who would be happy to answer questions and provide suggestions to you if you are going down the cloud path.
I guess that the underlying theme here is that cloud computing is much more consumable than other types of IT. It is designed to be tried and evolve in the process. The most important thing is it should not be a daunting endeavor but rather a catalyst for innovation and eventual business success. I encourage dialog, questions and comments as always as I live and breath many forms of cloud in my daily life, both consumer and corporate.
HTD says: Cloud computing is a tool for innovation. While careful planning should take place with any cloud implementation, the benefits, in my opinion, far outweigh the risks.
This post was written as part of the IBM for Midsize Business program, which provides midsize businesses with the tools, expertise and solutions they need to become engines of a smarter planet.