Also See: When looking to choose the right cloud provider, read our Comprehensive Guide to Cloud Computing.
Most technology experts list cloud computing as one of the most influential IT trends of the twenty-first century. Over the past two decades, cloud computing has revolutionized enterprise IT to the point where most organizations now take a "cloud-first" approach to their technology needs.
According to the MIT Technology Review, the phrase "cloud computing" was probably first used in the mid-1990s at a now-defunct company called NetCentric. Then in 1999, Salesforce.com introduced the idea of accessing enterprise applications through a Web browser, a concept that grew into the software as a service (SaaS) model. In 2002, Amazon launched Amazon Web Services, and four years later it debuted its Elastic Cloud Compute (EC2) service, the first widely used infrastructure as a service (IaaS) offering.
Since then, cloud computing has become nearly ubiquitous among enterprises; several research reports have found that between 90 and 100 percent of companies use at least one cloud service. The boom in cloud has prompted great growth in related fields, particularly cloud analytics.
Most experts expect the cloud computing market to continue to grow as organizations migrate more applications and data to the cloud. IDC predicts, that public cloud spending will reach $122.5 billion in 2017, a 24.4 percent year-over-year increase. It anticipates that public cloud spending will grow seven times faster than overall IT spending through 2020, at which point the market will be worth $203.4 billion. Clearly, the advantages in cloud costs – the desired to trim data center costs – have driven cloud adoption.
Gartner, which includes more types of services in its public cloud forecasts, says, "The worldwide public cloud services market is projected to grow 18 percent in 2017 to total $246.8 billion, up from $209.2 billion in 2016." And it adds, "Gartner predicts that through 2020, cloud adoption strategies will influence more than 50 percent of IT outsourcing deals."
On the private cloud side, IDC forecasts that spending for on-premises private cloud infrastructure will increase 16.6 percent this year. Similarly, Gartner says, "The use of private cloud and hosted private cloud services is also expected to increase at least through 2017."
Yet despite the massive growth in cloud usage, confusion persists about what exactly cloud computing is and the benefits it offers to enterprises.
What is Cloud Computing?
A lot of different organizations have put together definitions of cloud computing, but the definition that is probably accepted the most widely throughout the technology industry comes from the National Institute of Standards and Technology (NIST) at the U.S. Department of Commerce. First released in September 2011, the complete cloud computing definition publication runs for seven pages and is too long to include here. It includes the following five "essential characteristics" that all cloud computing environments share:
- On-demand self-service: A consumer can unilaterally provision computing capabilities, such as server time and network storage, as needed automatically without requiring human interaction with each service provider.
- Broad network access: Capabilities are available over the network and accessed through standard mechanisms that promote use by heterogeneous thin or thick client platforms (e.g., mobile phones, tablets, laptops, and workstations).
- Resource pooling: The provider’s computing resources are pooled to serve multiple consumers using a multi-tenant model, with different physical and virtual resources dynamically assigned and reassigned according to consumer demand. There is a sense of location independence in that the customer generally has no control or knowledge over the exact location of the provided resources but may be able to specify location at a higher level of abstraction (e.g., country, state, or datacenter). Examples of resources include storage, processing, memory, and network bandwidth.
- Rapid elasticity: Capabilities can be elastically provisioned and released, in some cases automatically, to scale rapidly outward and inward commensurate with demand. To the consumer, the capabilities available for provisioning often appear to be unlimited and can be appropriated in any quantity at any time.
- Measured service: Cloud systems automatically control and optimize resource use by leveraging a metering capability at some level of abstraction appropriate to the type of service (e.g., storage, processing, bandwidth, and active user accounts). Resource usage can be monitored, controlled, and reported, providing transparency for both the provider and consumer of the utilized service. To codify the technical aspects of what a cloud vendor provides, every customer needs a Service Level Agreement.
Gartner summarizes those key points in its definition of cloud computing, which says cloud computing is "a style of computing in which scalable and elastic IT-enabled capabilities are delivered as a service using Internet technologies." Moreover, cloud leverages a number of key technologies that boost the efficiency of software development, including containers, a method of operating system virtualization that allows consistent app deployment across computing environments.
Cloud computing represents a major generational shift in enterprise IT.
Cloud Computing Services
A lot of different types of a cloud services fall under the overall category of cloud computing. The NIST cloud computing definition identifies three cloud service models: software as a service (SaaS), platform as a service (PaaS) and infrastructure as a service (IaaS).
Those three models continue to dominate cloud computing, but various vendors have also introduced other types of cloud services that they market with the "as a service" label. For example, vendors offer database as a service (DBaaS), disaster recovery as a service (DRaaS), function as a service (FaaS), storage as a service (SaaS), mobile backend as a service (MBaaS), security as a service (SECaaS), networking as a service (NaaS) and a host of others. Some people lump all these various cloud services together with the label "everything as a service" or "XaaS."
However, most of these other types of cloud computing services fall under one of the three major categories:
In the SaaS model, users access applications via the Web. Their application data resides in the software vendor's cloud infrastructure, and users can get to it from any Internet-connected device. Instead of paying a flat fee, as is typical with traditional software, users purchase a subscription, often on a monthly or yearly basis.
The world's largest SaaS vendors include Salesforce.com, Microsoft, Intuit, Google, ADP, SAP, Oracle, IBM, Cisco and Adobe.
IaaS vendors provide access to computing, storage, networks and other infrastructure resources. Using an IaaS is very similar to using a server, storage appliance, networking device or other hardware, except that it is being managed as a cloud rather than as a traditional data center.
Amazon Web Services is the leading public IaaS vendor. Others include Microsoft Azure, Google Cloud, IBM SoftLayer and VMware vCloud Air. Organizations like HPE, Dell Technologies, Cisco, Lenovo, NetApp and others sell infrastructure that allows enterprises to set up their own private IaaS services.
You can think of PaaS as the middle ground between IaaS and SaaS. PaaS solutions don't offer applications for end-users, the way SaaS vendors do, but they offer more than just the infrastructure provided by IaaS solutions. Typically, they bundle together the tools that developers will need to write, deploy and run their own applications. For example, a PaaS might include the operating system, database, Web server, content management system and development tools that an organization might need to set up a Web application. PaaSes are meant to be easier to use than IaaS offerings, but the line between what counts as IaaS and what counts as PaaS is sometimes blurry. Most PaaS offerings are designed for developers, and they are sometimes called "cloud development platforms."
The list of leading public PaaS vendors is very similar to the list of IaaS vendors, and it includes Amazon Web Services, Microsoft Azure, IBM Bluemix, Google App Engine, Salesforce App Cloud, Red Hat OpenShift, Cloud Foundry and Heroku.
Private vs. Public vs. Hybrid
You can also categorize cloud computing services based on deployment model. In general, organizations have three different cloud deployment options: public cloud, private cloud and hybrid cloud. Each has its own strengths and weaknesses.
Just as the name suggests, a public cloud is available to businesses at large, for a wide variety of remote computing needs. These cloud services are managed by third-party vendors and hosted in the cloud vendors' data centers. A key benefit here is that organizations don't have to worry about buying, deploying, managing or maintaining hardware because the vendor takes care of that for them. On the other hand, public cloud users give up the ability to control the infrastructure, which can raise security and compliance concerns. Many vendors offer cloud cost calculators to help users understand the likely charges ahead of time.
The public cloud enables companies to tap into remote computing resources.
A private cloud is a cloud computing environment used only by a single organization. It can take two different forms: organizations can build their own private clouds in their own data centers or they can use a hosted private cloud service. Like a public cloud, a hosted private cloud is operated by a third party, but each customer gets dedicated infrastructure set aside for its needs rather than using shared servers and other resources.
A private cloud allows organizations to enjoy some of the scalability and agility benefits of cloud computing without some of the security and compliance concerns that can arise with a public cloud. However, a private cloud is generally more expensive and more difficult to maintain than a public cloud.
The private cloud allows a company the control and security needed for compliance and other sensitive data issues.
A hybrid cloud is a combination of a public cloud and a private cloud that are managed as a single environment. This sort of arrangement can be particularly beneficial when enterprises have some data and applications that are too sensitive to entrust to a public cloud but that need to be accessible to other applications that do run on public cloud services. Hybrid clouds are also helpful for "cloudbursting," which involves using the public cloud during spikes in demand that overwhelm an organization's private cloud. Managing a hybrid cloud can be very complex and requires special tools.
It's important to note that a hybrid cloud is managed as a single environment. When organizations have more than one cloud— public, private and/or hybrid — that they manage independently, experts call it a "multi-cloud environment." Already, the average enterprise is using more than one cloud, and most market researchers expect multi-cloud and hybrid cloud environments to dominate the enterprise for the foreseeable future.
The hybrid combines the various cloud models to enable great flexibility and scalability.
Cloud Computing Benefits
As already mentioned, each type of cloud computing has its own unique advantages and disadvantages. In general, however, all types of cloud computing offer the following benefits:
- Agility and Flexibility: Cloud environments enable end users to self-service their own needs. So whether it is a private cloud or a public cloud, users should be able to quickly provision the resources they need for new projects. In addition, because cloud environments are virtualized and pool resources, organizations can move workloads around to different servers and expand or contract the resources dedicated to a particular job as necessary.
- Scalability: The same virtualization and pooling features that make it easy to move workloads around also make it easy for organizations to scale up or down as usage of particular applications increases or decreases. It is somewhat easier to scale in a public cloud than a private cloud, but both offer scalability benefits in comparison to a traditional data center.
- Availability: Again, because resources are virtualized in a cloud environment, it's easier to recover if a particular piece of infrastructure experiences an outage. In most cases, organizations can simply failover to another server or storage device within the cloud, and users don't notice that a problem has occurred. And again, the availability benefits are even more pronounced for public clouds than private clouds.
- Location Independence: Users access all types of cloud environments via the Internet, which means that they can get to their applications and data from any Web-connected device, anywhere on the planet. For enterprises seeking to enable greater workforce mobility, this can be a powerful draw.
- Financial Benefits: In general, cloud computing services are less expensive traditional data centers. However, that isn't always true in every case, and the financial benefit varies depending on the type of cloud service used. For all types of cloud, however, organizations have a greater ability to chargeback computing usage to the particular business unit that is utilizing the resources, which can be a big aid for budgeting.
Cloud Computing Drawbacks
Of course, cloud computing also has some drawbacks that offset its benefits. First of all, demand for knowledgeable IT workers remains high, and many organizations say it is difficult to find staff with the experience and skills they need to be successful with cloud computing. Experts say this problem will likely diminish over time as cloud computing becomes even more commonplace.
In addition, as organizations move toward multi-cloud and hybrid cloud environments, one of their biggest challenges is integrating and managing all the various services they use. Some organizations also experience problems related to cloud governance and control when end users begin using cloud services without the knowledge or approval of IT.
But the most commonly cited drawbacks of cloud computing center around cloud security and compliance.
Most of the security concerns around cloud computing relate primarily to public cloud services. Because enterprises don't have control over the physical infrastructure hosting their data and applications in the public cloud, they need to make sure that the vendor is taking adequate measures to prevent attacks and meet compliance requirements. In addition, because public clouds are shared environments, organizations have concerns that another organization using the same service might be able to gain access to their data.
However, some security experts argue that public cloud services are actually more secure than traditional data centers. Most cloud vendors have large security teams, and they employ the latest technologies to prevent and mitigate attacks. Smaller enterprises simply don't have as many resources to devote to securing their networks.
In any event, organizations should not just assume that their cloud vendors have appropriate safeguards in place. Vendors and users share responsibility for cloud security. Before using any cloud computing service, organizations should investigate the vendor's security precautions. In addition, there are many steps cloud users can take on their end to make themselves more secure, and organizations need to make sure they have adequate cloud security policies and technologies in place.
Cloud Computing Companies
If you're ready to start experimenting with cloud computing, you might want to try one of the following top cloud companies. Most offer free trials or free tiers for their services so that you can see the benefits they offer without making a financial commitment.
- Amazon Web Services — AWS is the leading IaaS and PaaS vendor, and it has a very extensive portfolio of services available. Many of those services include free tiers that allow users to try them out with no charge.
- Microsoft — Microsoft now offers much of its most popular software, including Office and its Dynamics enterprise software, on a SaaS basis. And Microsoft Azure is the second largest IaaS and PaaS vendor. Microsoft's cloud computing platform is particularly popular with enterprises that have hybrid clouds.
- IBM — Like Microsoft, IBM also has SaaS, PaaS and IaaS capabilities. In addition, it sells software, hardware and services to organizations interested in setting up private clouds.
- Google — Google's G Suite includes SaaS office productivity tools that compete with Microsoft Office. And the company also has very popular IaaS and PaaS offerings.
- Oracle — Like IBM, Oracle offers SaaS, PaaS, IaaS and private cloud solutions to its customers. It launched its cloud services later than the other leading technology vendors, but its cloud has been growing rapidly.
- Salesforce.com — Salesforce is best-known for its enterprise SaaS solutions, but it also has two different PaaS solutions: App Cloud and Heroku Enterprise.
Looking for a cloud provider? Read our cloud comparison guide.