It is widely accepted that cloud computing will be the norm in just a few short years. Here are the details you need to know to get ready.
What is cloud computing, exactly?
Cloud computing refers to the delivery of computing services over a proprietary network or the Internet. Those services mainly include infrastructure (i.e. servers, storage devices, etc.), development platforms, and software applications. The Cloud refers to the many data centers located throughout the world that house the hardware necessary to offer cloud services. The recent proliferation of virtualization technology, on which cloud computing is based, has contributed to its current popularity.
The buzz around cloud computing is deafening. As the technology matures and best practices are developed, it is clear that it offers numerous advantages. Many IT managers see moving to the Cloud as a way to stay lean after trimming the fat with virtualization.
The International Data Corporation (IDC) expects worldwide spending on public cloud services to triple over the next several years, from $21.5 billion in 2010 to $72.9 billion in 2015.
At the outset, the topic was so broad, it was hard to define. However, a general consensus has been reached among experts about the main characteristics of a cloud service:
- On-demand, self-service provided as part of a standard package that includes everything the user needs. The user can start using the service immediately and also administer and provision resources without any interaction with the service provider. Any changes are configured by the user; no code modification is required.
- The service is available anytime, anywhere via standard web browsers and Rich Internet Application (RIA) clients on desktops, laptops, smart phones, tablets, or any other type of hand held device. It should not require installing any application or plug-in, or purchasing additional hardware or software licenses to use the service itself.
- The collective resources of the provider are pooled through multi-tenancy, which basically means that software is installed once on a server and then its data and configuration settings are partitioned virtually so that multiple entities or tenants operate in isolation of each other while sharing the same physical resources, like storage, processing power and memory.
- The capacity of the service is scalable and elastic. Scalability refers to the service provider’s ability to increase or decrease the amount of resources allocated to the users’ applications and data. Elasticity, on the other hand, refers to how quickly those resources can be allocated. An application’s architecture determines its scalability but elasticity is a direct result of being deployed on a cloud infrastructure. In short, the service must allocate resources dynamically, and rapidly, based on the demands of the application.
- And lastly, public cloud services are paid for by the user on a pay-as-you-go basis. Whether that is by hour or by data transfer or some other metric is determined by the service provider and the type of service in question.
3 Types of Cloud Computing
Cloud computing services fall into three categories, Infrastructure-as-a-Service (IaaS), Platform-as-a-Service (PaaS), and Software-as-a-Service (SaaS).
An IaaS provider satisfies its customers’ needs for computing resources by supplying servers (both physical computers and virtual machines), block storage, networking components and other hardware like firewalls and load balancers. All of these resources across the data center are pooled to provide on-demand access. The service provider may also provide the operating system and some applications with which users build their own customized software images. Ultimately, though, the provider is responsible for the equipment and the customer is responsible for the applications running on the equipment.
Each virtual machine can be directly accessible through the Internet or placed on a Virtual Private Network (VPN). A private virtual LAN (VLAN) with static IP addresses may be part of the package, if required. The exact services provided depend on the vendor.
IaaS saves companies money because they do not have to invest in expensive equipment and only have to pay for what they use. Customers are billed using a utility model, whereby the resources are made available to them on an as-needed basis and they are charged based on actual usage. Consequently, IaaS is also referred to as Utility Computing.
IaaS is the basis of public, private and hybrid clouds as well as cloud hosting, backup and storage services. IaaS is also used by application developers to test new software before it is released and when a lot of resources are required to process large batches of data.
Note: Cloud storage services are usually offered in conjunction with other types of cloud services, often IaaS.
A PaaS provider supplies an environment in which software developers can build and deliver web-based applications and services over the Internet. Once the application is built, it runs on the provider’s servers and is delivered to the users via the Internet. Again, the exact services provided will vary by vendor but all will include tools for design, development, testing, deployment, and hosting. Other support services like developer collaboration and community forums, security, storage, application versioning and more are also likely to be included. Like IaaS, the cost of PaaS is determined by actual usage.
The advantages of using a PaaS provider are that operating systems can be changed easily to ensure compatibility, development teams from all over can work together on a project, and development costs are greatly reduced.
A SaaS provider hosts software applications and the data stored therein. No part of the software resides on the user’s computer. Rather, users access the software over the Internet and typically pay for it with a subscription. The subscription replaces the need for licenses. The costs of SaaS are minimal considering the amount of functionality and computing resources you get compared to the cost of buying your own software and equipment.
The advantages of a SaaS for the user are that they do not have to pay huge licensing fees, need massive amounts of storage in-house, or have to worry about backing up data. Another plus is that specially trained IT staffers are not required to maintain the software as that is all taken care of by the vendor.
Business applications like Salesforce.com, NetSuite, Cornerstone OnDemand, Google Apps and MSOffice 365 are examples of SaaS. So are web-based email services designed for use by the general public like those of Yahoo!, Gmail and Hotmail. Web services fall into this category as well and provide direct marketing functions, financial data, payroll processing and credit card processing. Examples are ADP, Bloomberg, PayPal, Strike Iron and Xignite.
Other types of SaaS
Some companies contract with Managed Service Providers (MSP), a sub-category of SaaS, to manage various internal systems, like telephony and computer networks. Cloud-based MSPs tend to focus on subscription-based infrastructure management services like network- and application-monitoring that are often security-related and include virus scanning of email and anti-spam filtering. Alcatel-Lucent, Check Point, Dell SecureWorks, Google Postini Services, IBM, Joyent Cloud and Verizon all offer managed security services. CenterBeam and HP are examples of vendors that offer desktop management services that enable companies to outsource many everyday IT functions. Spiceworks offers free managed service provider software.
Service commerce platforms combine characteristics of SaaS and MSP. Vendors like Rearden Commerce and Ariba sell automated solutions for businesses to buy and sell goods and services. Their software is integrated with the systems of both buyers and sellers, helping them manage spending, process purchase orders and payments, negotiate contracts, manage their supply chain and control costs.
Cloud Computing Delivery Models
Cloud services are made available according to three delivery models: public, private, and hybrid.
- Public - A public cloud is basically the outsourcing of computing resources like equipment, storage or software applications to a 3rd party. Those resources are available to the user over the Internet using a web browser or web service. Anyone with access to the Internet can sign up to use a public cloud; web-based email and social networking sites are types of public cloud services. A public cloud service is useful for workloads that vary greatly (like those of websites and blogs) and for smaller companies that do not have the capital to invest in infrastructure themselves. Public clouds may also be appropriate if users are scattered among various locations and need access to company data. Many companies use public cloud storage services for data storage and back-up instead of purchasing costly physical storage devices and software.
- Private - A private cloud is similar except that it is located in a data center on a proprietary network inside a company’s firewall to provide greater control, security, and performance. A private cloud is managed by the company’s IT department and supplies services to a limited number of users, usually the employees of the company or a particular department. Private clouds are good for companies in highly regulated industries where compliance issues are paramount and for high-performance applications that process massive amounts of data. The cost of setting up a private cloud can be substantial and so they are most often employed by mid- to large-size corporations.
- Hybrid - A hybrid cloud is a combination of the two designed for companies of any size that require a more customized solution. For example, a company might store its archival or back-up data in a public cloud but store the data vital to its day-to-day operations in a private cloud.
Should I invest in the Cloud?
Although, technically, anyone with an Internet connection can access the Cloud and use its services, there are aspects of cloud computing that make it better in some cases than others. For example, not all applications are well-suited to the Cloud. Latency is an issue for industries like e-commerce and finance that rely on time-critical applications. Moreover, many companies are reluctant to move mission-critical applications and data to the cloud because they lose a certain amount of control. Software development is ideally suited to the Cloud, however. PaaS speeds up the entire software development life cycle and makes it easy to deliver the application to users. Additionally, cloud storage is great for backup, archiving, disaster recovery, and primary storage.
Here’s a breakdown of the advantages and disadvantages to consider when putting together your cloud strategy:
Cloud computing benefits
- Less expensive – The costs associated with purchasing and maintaining equipment and software are reduced or eliminated. You only have to pay for what you use. You don’t need a lot of money up front. You don’t need to hire people with special skills. And, you don’t need to pay for powering tons of equipment that take up a lot of room.
- Fewer staff people with greater focus and more time – With public cloud services, you get experts who watch over your data and applications as part of the package. You don’t have to hire additional IT staffers with specialized training or experience. If you go with a private cloud, fewer people are needed because your resources are consolidated and can be controlled from a centralized location. And with less maintenance to worry about and automated processes in place, your IT department can spend more time on strategic initiatives.
- Increased Agility/Scalability – Resources can be scaled up or down on the fly. Provisioning servers, virtual machines, and storage takes minutes instead of weeks.
- Remote access – Your users have access to your applications and data anytime, anywhere as long as they have access to the Internet.
- Disaster Recovery – Cloud computing dramatically increases recovery times over traditional backup methods. You can move virtual machine images and data from one data center to another over the Internet because they are hardware independent. Plus, you no longer have to load the operating system, applications, patches and data onto your servers manually. The other obvious benefit is that you can easily and frequently back-up data to an off-site location.
- Easier to Use – Many cloud services have GUIs that make it simple to get up and running quickly. You don’t necessarily have to understand the underlying technology in order to use it. With SaaS in particular, you can often start using the application as soon as you sign up.
- Improved service and performance – Increased utilization of resources, more powerful technology than you might otherwise be able to afford, and dedicated people lead to better service and higher performance levels.
Cloud computing pitfalls
- Downtime – Network availability is an issue; outages do happen. So do incorrect access policies and other mistakes that can lead to the inability to access critical data. Contracts called Service Level Agreements between the provider and the customers that spell out guaranteed levels of service are meant to address these types of problems.
- Device security - Employees lose mobile devices and fail to use strong passwords; updated malware and antivirus definitions, timely patches and updates are critical.
- Data integrity – Potential problems that affect the integrity of a company’s data include corruption, misplacement, accidental deletion, physical accidents, malicious acts, hardware failures and a lack of proper policies.
- Privacy & confidentiality of data – Data is vulnerable while being transmitted outside of the corporate firewall and once in the data center, it has to be kept separate from other companies’ data. Reliable identity authentication is also extremely important. Whether you choose a public or private cloud influences how much you have to worry about security issues. In some cases, a hybrid cloud may be the answer to your concerns. It is up to you to make sure that your cloud service provider has adequate safeguards in place to protect critical applications and sensitive data in case of hardware failures, natural disasters, cyber crime or data breaches.
- Compliance – Even though the cloud computing vendor is managing your applications and data, you are still responsible for making sure both you and they are compliant with any regulations governing your industry’s handling of data, including privacy and data retention, notification of breaches, etc.
What are some good resources on cloud computing?
For additional information on cloud computing, check out these articles: