Luiz - Fotolia

Get started Bring yourself up to speed with our introductory content.

7 key characteristics of cloud computing

Companies rely on the cloud for modern app development. Learn the key features that differentiate cloud computing from traditional, on-premises IT architectures.

Cloud entails an ever-expanding list of tools and techniques, but the key characteristics of cloud computing have always remained the same.

AWS was the first to popularize cloud computing as an alternative to on-premises infrastructure when it began selling compute and storage instances in 2006. Google and Microsoft followed soon after. Today, cloud computing extends from IaaS to SaaS and everything in between, including AI, containers, serverless, databases, IoT, dedicated networking, analytics, business apps and much more.

Each subset has its own benefits and challenges, but there are several core features that underpin all of them. Explore these 7 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

AWS, Microsoft Azure, Google Cloud and other public cloud platforms make resources available to users at the click of a button or API call. These vendors have massive amounts of compute and storage assets at the ready, inside data centers all over the world. This represents a radical departure for IT teams accustomed to an on-premises procurement process that can take months to complete.

  1. Self-service provisioning

This characteristic of cloud computing goes hand in hand with on-demand computing. 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, they have the freedom to build, test and deploy apps as they see fit.

  1. 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 users on the same host. Cloud providers increasingly rely on custom hardware and abstraction layers to improve security and speed users' access to resources.

  1. Scalability

Resource pooling enables scalability for cloud providers and users because compute, storage and networking 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 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 and have those extra resources sit idle during lulls in activity, which can rack up costs.

  1. 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 need to 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 they receive their monthly bill.

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.

  1. Resiliency

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.

  1. Security

Enterprises' infrastructure management responsibilities change, depending on whether they choose an on-premises, IaaS, PaaS or SaaS deployment.

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 corporate 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 the 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.

Dig Deeper on Cloud pricing and cost optimization

Join the conversation


Send me notifications when other members comment.

Please create a username to comment.

What do you consider to be the most important characteristic of cloud computing and why?
I would turn to international standards for a starting point. 

The ISO/IEC and ITU-T have common texts for Cloud computing terminology with six key characteristics (e.g. ISO/IEC 17788 which equals ITU-T X.3500). I would consider whether or not putting public and private cloud on the same baseline is practical to begin with (depends on the use context for the cloud computing definition). Another thing to consider is the age of standards. As material updating content is ongoing apparently (looking at the standards in development), if the time for definitions would be now, I would consider possible extensions e.g. to cloud native domain (as a subset) and consider additional characteristics relating to infrastructure as code, immutable infrastructure etc (as long as the focus would be in the "IaaS"/"PaaS" domain type of services). Finally, if the use for this would be in some interoperation related area (hybrid cloud, cloud federation, cloud brokering, inter-cloud etc) I would not look for generalizations or too much support from general definitions, but rather focus on describing the case itself as a custom solution.