If you’re just starting to research cloud computing, you may get a little confused about all the cloud configurations available to you. You’ve probably heard terms and abbreviations such as Software-as-a-Service (SaaS), Platform-as-a-Service (PaaS), and Infrastructure-as-a-Service (PaaS), and learning how they differ might seem daunting. Consider this a primer – Cloud Computing 101.
If you’ve had any experience with cloud computing already, it’s likely to have been with SaaS. Salesforce.com pioneered this delivery model more than a decade ago, and it has become a profitable business model for large numbers of businesses. In SaaS, rather than purchasing a license for software and installing it on in-house hardware, you contract with an application service provider that runs software on its own hardware and provides you with credentials to access it.
SaaS has some attractive benefits. With it, you no longer have to buy or support hardware for each application, which can reduce your capital expenditures and, potentially, personnel costs for administration staff. You pay as you go, generally as an operational rather than a capital expense. Because SaaS applications are priced competitively with on-premise alternatives, but without the need for hardware on which to run them, total costs are therefore generally lower. SaaS applications tend to be updated more frequently than packaged software, and you always run the most up-to-date version. Users typically connect with SaaS applications through a secure channel, using HTTPS and sometimes virtual private networks (VPN), and interact with them via a familiar web browser.
However, there are tradeoffs to using SaaS as well. Your data is stored on your providers’ servers, which may complicate things for organizations that have regulatory governance restrictions imposed upon them by legislation such as HIPAA or PCI. Because the applications run remotely, they may be subject to network latency, which users experience as slow response times, or even downtime (though infrastructure failure can be an issue with in-house applications too). SaaS applications don’t always integrate well with other vendors’ applications, including those you may already be running in-house, and it may be challenging to migrate away from any given vendor should you choose to switch.
Nevertheless, the SaaS model is a popular choice for applications of all scope, from niche applications to enterprise suites for human resources management (HRM) and enterprise resource planning (ERP). Among the many SaaS vendors are Salesforce.com, Dropbox, QuickBooks, and Microsoft Office 365.
If SaaS is like going to a restaurant and being presented with a meal, PaaS is like being given access to a fully stocked kitchen. It’s an excellent option if your primary business is preparing
food software. As with SaaS, PaaS providers host software on their own hardware and charge organizations a fee for their resources.
The “platform” part of PaaS involves a software stack that includes infrastructure services (networking, load balancing, security), application services, operation services, and APIs for working in languages such as Java, PHP, Ruby, Python, and Perl. With these tools, developers can build custom cloud-based applications and integrate them with the PaaS provider’s other resources, including a deployment infrastructure and managed hosting services. PaaS services let organizations develop, test, deploy, and host applications.
One potential downside of PaaS, as with SaaS, is vendor lock-in. If your PaaS provider doesn’t do all you want, it may not be easy to change platforms without giving up all you’ve developed on your current platform. And not all PaaS providers support all the languages you may want to use.
PaaS providers include Amazon Web Services (AWS) Elastic Beanstalk, Google App Engine, Microsoft’s Windows Azure, Engine Yard, Heroku, Salesforce.com’s Force.com, and Red Hat OpenShift.
To extend the food prep metaphor, IaaS is like being given an empty room and told to customize the kitchen of your dreams – or a living room or game room.
IaaS vendors provide only the underlying compute, storage, and networking resources. Their clients can customize and deploy them in whatever ways suit their business, and use whatever development tools or methodologies work best for them. Businesses are responsible for maintaining the resources they use, but they pay only for the whatever resources they deploy, and only for as long as the resource infrastructure is running.
Two main varieties of IaaS are public and private clouds. Public cloud vendors provide pay-as-you-go infrastructure services over the public Internet. They use a multi-tenant model, in which server resources are shared by multiple customers. By contrast, a private cloud is for the exclusive use of a single organization. You can install and manage a private cloud at a hosting provider’s facility or in your own data center.
Well-known IaaS public cloud platforms include AWS Elastic Compute Cloud (EC2), Google Compute Engine, Windows Azure (yes, it’s both PaaS and IaaS), and Rackspace. Private cloud platforms include OpenStack and CloudStack. Some organizations uses resources from both public and private clouds to maintain a single application. This combination is referred to as a hybrid cloud.
Obligatory plug for my (now former) employer
With any sort of cloud computing, but especially with IaaS, it helps to have a hand to hold as you venture in for the first time. RightScale has seven years of experience at helping organizations get started on the cloud, and our customers have launched more than five million servers to date. The RightScale CloudSight program provides professional consulting that helps companies define a cloud roadmap, assess their application portfolio, design cloud architectures, and create implementation plans. When you’re done planning and are ready to roll out cloud services, we offer pre-built templates for most common use cases and popular operating systems and applications. We also offers PlanForCloud.com, a free cloud cost forecasting tool based on a global database of price points from multiple cloud providers, which enables organizations to perform sophisticated cloud cost forecasting.
When you’re ready to get serious about cloud computing, try RightScale Cloud Management for free.