Luiz - Fotolia
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.
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.
- 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.
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.
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.