Not sure what cloud computing is, or how it can benefit your business? In this article, I’ll introduce you to the cloud, help you interpret the buzzwords, and explain how your business might save time and money using a cloud hosting service such as Windows Azure, Amazon EC2, or Rackspace.
Discovering the Cloud and Cloud Computing
People use “cloud” as a buzzword when describing either the Internet or an intranet in association with some type of service or application offering. When you hear the term “public cloud,” think of the Internet; when you hear “private cloud,” think of your company’s intranet. Usually, “cloud” by itself refers to the public cloud.
The phrase “cloud computing” refers to Internet or intranet applications and services that you typically access, run, or manage via a Web browser. Such services often don’t require you to install software on your computer.
Here’s another way to look at it: Cloud computing is the delivery of computing as a service rather than as a product. Instead of purchasing, installing, and running a program on your local computers, the program runs on the provider’s computers, and you pay a monthly or yearly fee for access.
You can find three main types of cloud computing service providers.
- Software as a Service (SaaS) providers, such as Google Docs, Microsoft Office 365, and Salesforce, are services designed for end users. As such, they represent the end result of cloud computing.
- Platform as a Service (PaaS) offerings, such as Windows Azure, are services that IT personnel use in application development and for providing applications (SaaS) and Web hosting to end users. Basically, your IT staff gets remote access to virtual computers hosted at the provider’s data centers. PaaS providers typically offer a managed Windows or Linux operating system, which means that your business can dedicate more resources to development and fewer to configuring and maintaining the OS. The trade-off is that your IT personnel will have less control over the underlying OS.
- Infrastructure as a Service (IaaS) providers, such as Amazon EC2 and Rackspace Cloud Hosting, are similar to PaaS providers, but they usually offer your IT personnel more control over the OS. Although they typically don’t provide automatic OS updates, your business can use the raw infrastructure to develop and deploy applications on pretty much any platform or OS.
PaaS and IaaS Providers
I’ll focus on PaaS and IaaS providers here. If you’re familiar with the concept of virtual computing, you might think of these services as providing virtual machines (like VMware or VirtualBox) via the Internet.
PaaS and IaaS providers supply access to their shared data centers, giving you the reliability, redundancy, and security of a global enterprise data center network. This saves you time and money, because you don’t need to purchase and set up servers from scratch, and you pay only for the resources you consume. These services are particularly cost-effective for short-term projects, but they also deliver scalable, on-demand resources. For instance, within minutes you can double the amount of memory that your website might need to respond to a surge of end users.
One of the drawbacks of using a cloud computing host is that your data resides on another party’s servers. This arrangement might raise privacy and security issues for companies dealing with sensitive data, but you can mitigate the risk by employing data encryption and choosing a cloud host with security certifications and accreditations.
Most PaaS and IaaS providers offer per-hour pricing for each instance, role, or server. Each of these is, in essence, a separate virtual computer on which you can run one, a few, or even hundreds of applications.
The PaaS platform Windows Azure can supply and manage the operating system, which is great if your applications don’t require a specialized OS. You can concentrate on building, deploying, and managing cloud applications without worrying about OS updates and patches.
Windows Azure offers three main roles, or OS choices.
- Web role: This Windows Azure-supplied OS, preloaded with Internet Information Services 7, permits the development of applications using Web technologies such as ASP.NET, PHP, and Node.js.
- Worker role: This Windows Azure-supplied OS can run arbitrary code or host any type of application (including Apache Tomcat and Java Virtual Machines), and you can use it in conjunction with a Web role.
- Virtual Machine role: You, the customer, supply the OS by uploading a Windows Server 2008 R2 (Enterprise or Standard) VHD image. Unlike with the Web and Worker roles, with this role (currently in beta) you’re responsible for keeping the OS up-to-date.
You can use any language, framework, or tool to build applications on Windows Azure. Features and services are exposed through REST (Representational State Transfer) protocols. The Windows Azure client libraries are available for multiple programming languages, and are released under an open-source license. They are hosted on GitHub.
Microsoft offers a three-month free trial of Windows Azure that includes the company's Small Compute instance and other resources sufficient for IT personnel to test and become familiar with Windows Azure. Like other cloud hosts, Microsoft has a pay-as-you-go pricing scheme, a per-hour cost for each role when deployed. You can estimate your monthly bill using the company's calculator.
Microsoft’s service level agreement guarantees 99.95 percent uptime for its compute services when you have at least two instances of a role running.
SQL Azure provides a scalable relational cloud database service built on SQL Server technologies that Windows Azure applications or your on-premises applications can use. It supports exporting and ongoing synchronization with your on-premises databases. You can pay as you go, or make a six-month commitment for reduced pricing; in either case, you can purchase this feature independently or along with other Windows Azure platform products.
Microsoft’s cloud storage lets you store structured or unstructured data for use with your Windows Azure applications or other applications via REST and managed APIs. You can also mount storage as virtual hard drives inside your Windows Azure applications by using the Windows Azure Drive feature, and you can move your virtual hard drives between private and public clouds. Microsoft offers pay-as-you-go pricing for Windows Azure Storage and Windows Azure Drive.
Next Page: Amazon Services, Rackspace, and How to Choose a Host