One of the hallmarks of the Internet is its flexibility. This feature extends to all services built upon it including cloud infrastructure. A few weeks ago, I looked at the difference between the major tiers of cloud services – namely SaaS, PaaS, and IaaS. So how is an enterprise to decide what level of service it desires? There is no doubt that each has its benefits and drawbacks. Every business is unique with its own pool of resources, requirements, and skills. The choice of cloud platform and cloud strategy will vary greatly. Here are the factors that you need to take into consideration.
While all vendors try to make their products as easy-to-use as possible, there’s no denying that certain offerings are more technically challenging than others. In the earlier article I had given the example of a simple blog application and illustrated how it would run differently on the three types of services.
Let’s say we have a WordPress blog that is, in reality, a PHP application. Starting up and maintaining a blog using SaaS is trivial. It requires almost no technical expertise whatsoever. The interface is clean, simple and graphically based. Now let’s move up one step and see the additional technical requirements for hosting a WordPress blog on a PaaS infrastructure.
If we take a look at Amazon’s Beanstalk application that offers a PaaS like service for running PHP applications, we quickly see that it becomes more complicated. To start, you need to deploy your PHP code to the remote servers. For this you require knowledge of a version control system known as “git”. While git is tremendously powerful, it requires a certain mastery of the commandline interface and in depth concepts. This can be daunting even to experienced programmers who may have gotten used to their own versioning systems instead.
In addition to that you need to know how to set up a database, configure the various options etc. None of these steps is daunting for an IT administrator but they’re certainly not optimal for the average blogger.
Control, Flexibility, Cost
The benefit of PaaS and IaaS over SaaS is having far greater control and flexibility over your application environment. You can determine the ports, number of database requests, and a host of other parameters that are simply unavailable using an SaaS deployment. You might be able to obtain better performance and more efficient use of resources for your application. You may also find that you are able to tweak your configuration to run at a lower cost than what you would be paying with SaaS.
Businesses need to take all these factors into consideration and weigh the pros and cons of each approach. If you prefer prebuilt solutions that require little or no technical expertise, then SaaS is the best option for you. If you have a knowledgeable IT team, you can probably deploy a more customized web application uniquely suited to your needs using PaaS or IaaS.