Cloud entails an ever-expanding list of tools and techniques, but the key characteristics of cloud computing remain the same.
AWS was the first to popularize cloud computing as an alternative to on-premises infrastructure when it began selling computing resources and storage instances in 2006. Google and Microsoft followed soon after. Today, cloud computing extends from infrastructure to software-as-a-service models and everything in between, including AI, containers, serverless computing, databases, IoT, dedicated networking, analytics, business apps and much more.
Each subset has its own benefits and challenges, but several core cloud computing features underpin all of them. Explore these eight key characteristics of cloud computing that help explain why it's the go-to destination for building and deploying modern applications.
1. On-demand computing and self-service provisioning
AWS, Microsoft Azure, Google Cloud and other public cloud platforms make resources available to users at the click of a button or API call. With data centers all over the world, these vendors have vast amounts of compute and storage assets at the ready. This represents a radical departure for IT teams accustomed to an on-premises procurement process that can take months to complete.
Cloud computing's characteristic of self-service provisioning goes hand in hand with on-demand computing capabilities. Instead of waiting for new servers to be delivered to a private data center, developers can select the resources and tools they need -- typically through a cloud provider's self-service portal -- and build right away. An admin sets policies to limit what IT and development teams can run, but within those guardrails, employees have the freedom to build, test and deploy apps as they see fit.
2. Resource pooling
Public cloud providers rely on multi-tenant architectures to accommodate more users at the same time. Customers' workloads are abstracted from the hardware and underlying software, which serve multiple customers on the same host. Cloud providers increasingly rely on custom hardware and abstraction layers to improve security and speed users' access to resources.
3. Scalability and rapid elasticity
Resource pooling enables scalability for cloud providers and users because compute, storage, networking and other assets can be added or removed as needed. This helps enterprise IT teams optimize their cloud-hosted workloads and avoid end-user bottlenecks. Clouds can scale vertically or horizontally, and service providers offer automation software to handle dynamic scaling for users.
Traditional, on-premises architectures can't scale as easily. Typically, enterprises have to plan for peak capacity by purchasing servers and other infrastructure assets; those extra resources sit idle during lulls in activity.
While scalability tends to describe longer-term cloud infrastructure plans, rapid elasticity is more of a short-term characteristic. When demand unexpectedly surges, properly configured cloud applications and services instantly and automatically add resources to handle the load. When the demand abates, services return to original resource levels.
4. Pay-per-use pricing
This cloud computing characteristic shifts IT spending from Capex to Opex, as providers offer per-second billing. Though this can generally be seen as a positive, IT teams must be careful since their resource needs likely aren't static. VMs should be right-sized, turned off while not in use or scaled down as conditions dictate. Otherwise, organizations waste money and can end up with sticker shock when the monthly bill arrives.
This pricing model was once the only way to pay for cloud, but vendors have since added various pricing plans that often provide cheaper costs in exchange for longer-term commitments.
5. Measured service
Measuring service usage is useful for both a cloud provider and its customers. The provider and the customer monitor and report on the use of resources and services, such as VMs, storage, processing and bandwidth. That data is used to calculate the customer's consumption of cloud resources, and feeds into the pay-per-use model. The cloud provider, meanwhile, can better understand how customers utilize its resources and potentially improve the infrastructure and services offered.
6. Resiliency and availability
Cloud providers use a number of techniques to guard against downtime, such as minimizing regional dependencies to avoid single points of failure. Users can also extend their workloads across availability zones, which have redundant networks connecting multiple data centers in relatively close proximity. Some higher-level services automatically distribute workloads across availability zones.
Of course, these systems aren't foolproof. Outages occur and enterprises must have contingency plans in place. For some, that means extending workloads across isolated regions or even different platforms, though that can come with a hefty price tag and increased complexity.
To date, there have been no known breaches of the underlying resources of the major cloud platforms. And while many enterprises balked at migrating workloads because of security fears, those concerns have largely subsided, partly due to the benefits of the above characteristics of cloud computing. Cloud vendors employ some of the best security experts in the world and are generally better equipped to handle threats than most in-house IT teams. In fact, some of the biggest financial firms in the world say the cloud is a security asset.
However, this doesn't absolve users of their duties. Public cloud providers follow the shared-responsibility model -- they tend to the security of the platform and users handle their own apps that sit on top. Failure to fully grasp those delineations has led to some embarrassing, high-profile exposures of sensitive corporate data.
8. Broad network access
A big part of the cloud's utility is its ubiquity. Users can access data or upload data to the cloud from anywhere with an internet connection. Because most enterprises have a mix of operating systems, platforms and devices, the cloud is an attractive option.
Cloud providers preserve that broad network access by monitoring and ensuring various metrics that reflect how customers access cloud resources and data: latency, access time, data throughput, etc. These factor into quality of service requirements and service-level agreements.