Do you know your PaaS from your IaaS? If you do great, you can just head on over here http://aka.ms/azuredevcampscanada and register to learn more about Windows Azure, but if you don’t then keep reading!
The term "cloud” or “the cloud” gets tossed around almost as much as “Web 2.0”, but what does it all actually mean? Realistically I won’t be able to cover that in this blog post, I mean just look at all those words over there, the cloud is a pretty big concept. But what I can do is shed some light on the 3 models of cloud computing (SaaS, PaaS & IaaS) to get you started.
SaaS, which stands for Software as a Service, is the first model and one that you are probably more aware of than you might think. SaaS just means you are running an application (usually within your browser) without having to install anything. Sound familiar? It should! That is of course unless you’ve never used web mail or online banking, or pretty much anything that you need to log into via your browser. Even traditional desktop applications (those that you would normally install from a CD/DVD) are being converted to SaaS; take Microsoft Office which is also available via your browser (www.office365.com) all without installing anything on your machine. If you are building a web application then you yourself are developing using the SaaS model.
The PaaS model, which stands for Platform as a Service, is perhaps lesser known yet still core to most cloud services and is a major part of Windows Azure. PaaS offerings allow consumers (that would be you) to create software using the tools and libraries from the provider (that would be us, aka Windows Azure). Take the Windows Azure Cloud Services as an example, these are services from Windows Azure that allows you to build and run web applications quickly by focusing on just your application and data needs, and not much else. How? The platform takes care of most of the crux such as the runtime (.NET, PHP, node.js etc.), middleware, OS, virtualization, servers, storage, networking, load balancing etc. You simply bundle and upload your code and you’re good to go (ok I might be over simplifying here but you get the idea). Windows Azure has many such services as part of its platform that you can leverage to build your applications. These services include databases, storage, caching, queues and more. It’s these services that allow you to ignore the bits that aren’t critical to your application so you can focus on those that are.
Lastly we have IaaS which is the foundation that all other models are built on. IaaS stands for Infrastructure as a Service and is the most basic of cloud computing models whereby a provider offers resources such as computers as either physical machines or more commonly as virtual machines for your consumption. Other resources such as networking, firewalls, load balancers and storage are also generally part of a complete IaaS offering. IaaS is what we most commonly associate with “the cloud”. As you may have guessed Windows Azure has great support for IaaS with our recently launched Virtual Machines offering. If you have ever heard someone say “spin up more nodes” or “create new instances”, or generically proclaim that something is “cloud scale”, usually what they are referring to is creating more virtual machines as a means to scale out their application or service. Sometimes this is done only temporarily, as a response to sudden and unexpected traffic increases, or permanently as their user base grows.
So there you have it, SaaS, PaaS and IaaS, the 3 models of cloud computing. Hopefully you’ve learned a little about these models and are eager to continue learning. But how you ask? By attending one of our in person or online Windows Azure DevCamps! Check out http://aka.ms/azuredevcampscanada for more details.
Follow me @marc_gagne