Cloud entails an ever-expanding list of tools and techniques, but the key characteristics of cloud computing remain the same.
Cloud computing is the on-demand availability of computer system resources, especially data storage (cloud storage) and computing power, without direct active management by the user. Large clouds often have functions distributed over multiple locations, each location being a data center. Cloud computing relies on sharing of resources to achieve coherence and economies of scale, typically using a “pay-as-you-go” model which can help in reducing capital expenses but may also lead to unexpected operating expenses for unaware users.
Advocates of public and hybrid clouds note that cloud computing allows companies to avoid or minimize up-front IT infrastructure costs. Proponents also claim that cloud computing allows enterprises to get their applications up and running faster, with improved manageability and less maintenance, and that it enables IT teams to more rapidly adjust resources to meet fluctuating and unpredictable demand, providing the burst computing capability: high computing power at certain periods of peak demand.
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.
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.
There are basically 5 essential characteristics of Cloud Computing.
Broad network access:
The Computing services are generally provided over standard networks and heterogeneous devices.
The Cloud computing services does not require any human administrators, user themselves are able to provision, monitor and manage computing resources as needed.
The Computing services should have IT resources that are able to scale out and in quickly and on as needed basis. Whenever the user require services it is provided to him and it is scale out as soon as its requirement gets over.
The IT resource (e.g., networks, servers, storage, applications, and services) present are shared across multiple applications and occupant in an uncommitted manner. Multiple clients are provided service from a same physical resource.
The resource utilization is tracked for each application and occupant, it will provide both the user and the resource provider with an account of what has been used. This is done for various reasons like monitoring billing and effective use of resource.
Cloud computing shares characteristics with:
Client–server model: Client–server computing refers broadly to any distributed application that distinguishes between service providers (servers) and service requestors (clients).
Computer bureau: A service bureau providing computer services, particularly from the 1960s to 1980s.
Grid computing: A form of distributed and parallel computing, whereby a ‘Super and virtual computer’ is composed of a cluster of networked, loosely coupled computers acting in concert to perform very large tasks.
Fog computing: Distributed computing paradigm that provides data, compute, storage and application services closer to the client or near-user edge devices, such as network routers. Furthermore, fog computing handles data at the network level, on smart devices and on the end-user client-side (e.g. mobile devices), instead of sending data to a remote location for processing.
Mainframe computer: Powerful computers used mainly by large organizations for critical applications, typically bulk data processing such as census; industry and consumer statistics; police and secret intelligence services; enterprise resource planning; and financial transaction processing.
Utility computing: The “packaging of computing resources, such as computation and storage, as a metered service similar to a traditional public utility, such as electricity.”
Peer-to-peer: A distributed architecture without the need for central coordination. Participants are both suppliers and consumers of resources (in contrast to the traditional client-server model).
Green computing: Study and practice of environmentally sustainable computing or IT.
Cloud sandbox: A live, isolated computer environment in which a program, code or file can run without affecting the application in which it runs.