Know your PaaS from your elbow

Confused about the difference between Software-as-a-Service, Infrastructure-as-a-Service and Platform-as-a-Service?

March 20, 2014

By Alexander Mehlhorn, CEO of Framework One

Confused about the difference between Software-as-a-Service, Infrastructure-as-a-Service and Platform-as-a-Service? You are not alone. Our experience with South African and international companies show a distinct lack of understanding not only of what each of the three entails, but also how companies stand to benefit from these solutions.

Allow me to illustrate the difference between the three:

Infrastructure-as-a-Service (IaaS) provides you with hardware (such as servers) in a virtualised environment. It’s been around for some time; most Internet Service Providers (ISPs) are essentially IaaS providers in that they provide users with everything they need for a virtual server room.

On the other end of the scale is Software-as-a-Service (SaaS) which involves you paying for access to a cloud-based service. Famous examples of this include Microsoft Office365, Google Enterprise and Dropbox. Software-as-a-Service has its limitations in that it forces you work within the parameters set by the provider. In this instance, the scope for scaling up or down is limited.

Slotting in between these two is Platform-as-a-Service (PaaS) which is slightly different: with PaaS you provision all the aspects of the platform on which you want to build your IT environment – processing power, file storage, memory, etc. – and allocate how much of each aspect you need. So if you deal with a lot of data and you need to keep this for extended periods of time, you would ideally want to up your memory and file storage allocations accordingly. PaaS also enables you to scale up any of the allocations as and when it becomes necessary.

Why we love PaaS

Although fairly new, Platform-as-a-Service is enjoying a lot of attention thanks to the success of Amazon EC2 internationally and Microsoft Windows Azure locally.

Azure provides us with access to processing power and security that a small company like us would not be able to afford if we had to make the capital investment into physical equipment ourselves. For a monthly fee, we enjoy access to the most cutting edge processing power and get the protection of some of the foremost security experts in the world. This has played a key role in enabling us to build a successful and growing business with the uninterrupted support of the world’s largest software company.

A robust PaaS solution enables you to enjoy uninterrupted up-time as long as you’re connected to the internet and the power’s on. If a server allocated to your organisation goes down on the provider’s side, the provider should be able to pick it up immediately, allocate a second server to take up the slack and ensure there’s no interruption to your business.

Many local companies are hesitant to embrace PaaS and instead opt for IaaS, but this carries some risk. Quite often, larger companies end up paying more for IaaS than they would had they simply purchased their own hardware, due to the capital expense associated with increasing capacity (for example, purchasing a second server). PaaS, despite a relatively high monthly service fee, at least enables companies to avoid the cost and risks associated with physical server rooms, such as fire, theft, flooding and the like. In an IaaS environment, such risks still exist.

In addition, companies like Microsoft see PaaS as a puzzle; they can develop new pieces of the puzzle to clients that can be integrated into their solutions easily and cost-effectively. It’s this ability to keep adding powerful functionality without slowing down any of the existing operations that stands out for many PaaS evangelists.

PaaS in practice

In order to integrate services and make full use of a PaaS solution you need special skills. Platforms such as Azure requires you to learn new coding skill sets in order to tap into the true power of the Platform-as-a-Service. Training staff to use a PaaS solution needs to be done in-house, but there are great resources available from providers which makes that job easier.

Although it requires quite a significant upfront investment of time and staff resources, we found the best solution for using a Platform-as-a-Service such as Azure is to build our own platform on top of it. We call ours CloudCore; it sits on top of Azure and provides staff with the ability to rapidly develop and deploy business process automation solutions for our clients.

We collaborated with a smartphone app development company to create the popular Android-based expense tracking app ExpenZa. The app pulls financial data from the transactional SMSs sent by banks, so there’s an immense amount of data that needs to be processed at any given time. However, since the app is built on CloudCore, which in turn rests on Azure, none of the data goes through our own servers. Instead, Microsoft’s world-class data centres ensure that we have all the processing power we need, with continuous up-time and cutting edge security.

To have invested in our own infrastructure to achieve the same level of robustness would have financially crippled our company. PaaS levels the playing field in a huge way, allowing smaller companies to match large enterprises in terms of processing power capability at a fraction of the cost of investing in the actual hardware and software.