Companies rely on the cloud for modern app development. Learn the key features that differentiate cloud computing from traditional, on-premises IT architectures.
Key Characteristics of Cloud Computing-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.
- 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.
- 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.
- 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.
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.