Platform-as-a-Service Versus Infrastructure-as-a-Service (PaaS vs IaaS)
Cloud computing comes in many flavors of providing compute power to users.
A person can sign up for a service, provide a credit card, and have access to practically unlimited computational resources. In this post we discuss the difference between what makes a platform-as-a-service (PaaS) compared to infrastructure-as-a-service (IaaS).
PaaS vs. IaaS
IaaS allows for a user to get a virtual machine on demand. The virtual machine can be a bare bones system running an operating system, or one with a preloaded software stack (LAMP stack). The user is in charge of managing the resources on that machine. Memory and CPU usage are left to the user to administer. The most popular public IaaS provider is Amazon, with EC2 (Elastic Compute Cloud). Other competitors include Google Compute Engine, RackSpace, DigitalOcean, Azure, and Linode.
PaaS takes the abstraction higher. A platform hosts an application without the user having to worry about CPU or memory usage, or even the number of machines needed to satisfy their user base. PaaS users can worry just about their application and let the service worry about the rest. This is great for businesses who want to focus on their core competence and just work on their business application. The most popular public PaaS is Google App Engine, where Google’s staff worries about the infrastructure, security, and scalability of your application. Other PaaS offerings include Heroku and EngineYard.
Public versus Private
There is an inflection point in costs, where having your application or service hosted on a public provider becomes more costly than to just bring it in-house. For those businesses they have open source options to run the same sort of public services (IaaS and PaaS) on self hosted resources. For EC2 compatibility there is Eucalyptus, and for Google App Engine, there is AppScale. A nice feature about AppScale is that it too can run on public clouds as well as private clouds, giving your applications the ultimate portability.
You can get started on a private deployment of AppScale on your laptop right now with 5 minutes of setup time.
Originally published at blog.appscale.com on November 5, 2013.