Inside the Briefcase

Augmented Reality Analytics: Transforming Data Visualization

Augmented Reality Analytics: Transforming Data Visualization

Tweet Augmented reality is transforming how data is visualized...

ITBriefcase.net Membership!

ITBriefcase.net Membership!

Tweet Register as an ITBriefcase.net member to unlock exclusive...

Women in Tech Boston

Women in Tech Boston

Hear from an industry analyst and a Fortinet customer...

IT Briefcase Interview: Simplicity, Security, and Scale – The Future for MSPs

IT Briefcase Interview: Simplicity, Security, and Scale – The Future for MSPs

In this interview, JumpCloud’s Antoine Jebara, co-founder and GM...

Tips And Tricks On Getting The Most Out of VPN Services

Tips And Tricks On Getting The Most Out of VPN Services

In the wake of restrictions in access to certain...

Understanding PaaS Limitations

May 1, 2012 No Comments

Written by: Gabriel Monroy, co-founder and CTO of OpDemand

PaasBy many accounts 2012 is the year Platform-as-a-Service goes mainstream.  PaaS offerings from Heroku and Cloud Foundry are awash in positive press.  Stories of progressive developers adopting and succeeding with PaaS are increasingly common. Even IaaS poster-child Netflix is now promoting a PaaS strategy.

Is PaaS really ready for prime time?

For low-volume web applications built using common stacks, the answer is a resounding yes.  Deploying a standard Ruby-on-Rails application on Heroku couldn’t be easier.  The PaaS workflow is ideal for today’s agile development teams.  Although adoption is still nascent and there aren’t many high-profile PaaS success stories yet, there will be soon.

But before you get swept up in PaaS fever, it is important to note that there are some fundamental drawbacks of PaaS that all IT decision makers should be aware of.

Vendor Lock-in

The most common criticism of PaaS is vendor lock-in – and rightfully so. PaaS users are at the mercy of their provider when it comes to price increases, unwanted technology changes and shifts in provider direction that (in extreme cases) can even require entirely rewriting your application.

Application Requirements

In order for PaaS technology to deploy and scale different applications in the same fashion, all applications must conform to a set of rules and best practices – for example Heroku’s twelve-factor app methodology.  This means:

  • Your applications must conform exactly to PaaS vendor specifications
  • It probably won’t be worth porting your legacy applications to a PaaS
  • You should only consider PaaS for new apps built with modern stacks

Runtime Limitations

PaaS runtimes are optimized for a specific set of languages and frameworks.  Google App Engine only supports Python, Java and Go.  Cloud Foundry only supports Java, Node.js and Ruby.  Because access to the operating system is restricted, even if your desired programming language and framework are supported, chances are you will find yourself fighting against runtime limitations:

  • The version of your desired framework and runtime may not be available
  • You may not be able to install the dependencies and libraries you need
  • You may be blocked from performing common OS-level system calls

Add-on Limitations

PaaS providers understand that most applications require some type of backing data store, caching layer, message­-bus and other middleware services.  Some PaaS providers offer a set of add-ons to fill this gap.  Because add-ons are built to support the most commonly requested use-cases, they often prove limiting:

  • Available add-ons may be insufficient or unsuited to your use-case
  • Integrating your own add-on equivalents may be difficult or impossible
  • You may have limited control over managing multi-tenant add-ons

Operational Limitations

PaaS providers strive for a NoOps methodology, where IT infrastructure is abstracted, IT operations skillsets are irrelevant and developers can operate deployments themselves.  While this may be feasible for simple applications, PaaS can limit critical operational capabilities:

  • You may be prevented from customizing build and deploy automation
  • You may be unable to debug live production deployments
  • Your security, networking and storage options may be severely limited
  • You may have no control over hosting decisions, including an inability to deploy to specific geographic locations

It’s important to note that not all PaaS’s contain all of these limitations.  For example, Cloud Foundry’s VM model offers greater control over hosting decisions.  Heroku build packs can be customized provided you have the expertise. However, with all Platform-as-a-Service you give up some measure of control in exchange for a streamlined workflow and less operational headache.  The trade-off may be worth it; it may not. The answer depends on the PaaS, the application and the organization it is serving.

Gabriel MonroyGabriel Monroy is the CTO of OpDemand, a next-generation platform for agile cloud infrastructure management. Gabe is an expert in information systems design with a focus on automating secure and scalable systems in the cloud. Gabe has advised public and private companies on a range of issues including cloud computing, software and systems security and IT operational efficiency.

Leave a Reply

(required)

(required)


ADVERTISEMENT

DTX ExCeL London

WomeninTech