How to maximize the benefits of the cloud – IaaS or PaaS?
Working with companies and organizations every day, one topic comes up without fail – and that’s issues around moving applications to the cloud. I certainly have learned that there are misconceptions and ambiguity around what that really means.
So, if your company is thinking about moving its applications to the cloud and considering different options for Cloud Platforms – here is a quick primer on understanding more about what that means.
One prefatory question: why would you want to move to cloud in the first place? Let’s accept it that we all know cloud computing increases efficiency, helps improve cash flow and offers many more benefits.
The next big question how can you maximize the benefits of the cloud? The answer lies within what type of cloud platform should you consider adopting. There are essentially two flavors – IaaS (known as Infrastructure-as-a-Service) and PaaS (or Platform-as-a-Service).
IaaS platform mainly provides the underlying infrastructure, including network, storage, processors, and virtualization technology. Consider Amazon web services or Amazon cloud, which is the world’s premier cloud platform. Amazon’s cloud flavor is IaaS – that is, you’re utilizing Amazon hardware (the cloud infrastructure through deployed apps). It’s a bit like virtual private hosting (more commonly used not too long ago). Yet it’s much more like a shared infrastructure where you get your own instance of servers and machines called AMI (Amazon Machine Images). With AMI, you can deploy Unix, Windows or even pre-built Oracle instances. The model is most flexible and does not really “lock-in” with any specific vendor. But this model requires a whole lot of operational work. You may get an operating system, but you still have to manually configure, manage and update numerous components.
The other type of cloud platform is PaaS in which you’re not really deploying machine images on the cloud hardware and infrastructure. Rather, you’re using a PaaS platform as a development instance. The PaaS environment provides the underlying infrastructure resources but also the application development platform. Force.com (popular Salesforce.com cloud), for example, provides a complete development platform with its own language and database. Similarly, if you use a cloud platform like Heroku, you’re using PaaS, and same for the Google app engine where you rely on a server provided by (and proprietary to) Google.
Some of the criteria you should consider when evaluating the two options:
1. Flexibility: IaaS provides you the maximum flexibility while with PaaS you are locked-in with the vendor (more or less)
2. Time to market: PaaS is no doubt is much faster way for getting to the market
3. Operations Talent: If you already have good talent and want to keep these resources IaaS may be a better option but with PaaS you can save some personnel cost here.
4. Costs: IaaS is typically less costlier than PaaS
5. Technology – With IaaS you can pretty much use your existing technology stack and resources but with PaaS there is some learning curve and in some cases a steep one.
6. Security requirements: Again with PaaS you are at the mercy of the platform provider but with IaaS you still have some control over this.
The list can be longer but both options are capable of providing true benefits of moving to the cloud.
The bottom line is before you make your move to the cloud with your products and apps, be sure to consider the key differences between using IaaS or PaaS. I welcome your input on these ideas and feel free to add your own stories or experiences in moving into the cloud. Also stay tuned for my next post where I’ll talk about the cloud and data security.
Image courtesy of KROMKRATHOG – FreeDigitalPhotos.net