On the way to home, I had about 7 hours free for the next flight in Moscow. So, I decided to spend this time on writing of my first article in a series of cloud computing topics, the next generation of Internet and computing development at all. Before to start talking what actually cloud computing is, one should clearly understand about the term called services in IT, since these two concepts are strongly linked and mutually reinforcing each other.
Service is a means of delivering value to customers by facilitating outcomes customers want to achieve without the ownership of specific costs and risks.
[Information Technology Infrastructure Library]
Consequently, a service is ready-to-use deliverable application, system etc. to the customer, which allow customers to do their business without worrying about underlying technology or IT infrastructure. From the user’s perspective, the offering should meet customer criteria.
Cloud computing refers to applications and services that run on a distributed network using virtualized resources and accessed by common Internet protocols and networking standards. It is characterized by the notion that resources are virtual and limitless and that details of the physical systems (Hardware, RAM, Network etc.) on which software runs are abstracted from the user. This means the system deployed in cloud environment has ability to run multiple operating systems on a single physical system and share the underlying hardware resources, i.e. virtualization; and running of applications on physical systems that are not specified, data is stored in locations that are unknown, administration of systems is outsourced to others, and access by users is everywhere, i.e. abstraction. Further details about virtualization and abstraction concepts will be considered in upcoming articles.
The definition of cloud computing has a number interpretations:
- a parallel and distributed computing system consisting of a collection of inter-connected and virtualized computers that are dynamically presented as one or more unified computing resources
- a large pool of easily usable and accessible virtualized resources (such as hardware, development platforms and/or services) computing resources that can be dynamically reconfigured to adjust to a variable load (scale), allowing also for an optimum resource utilization
- a pool of computing resources that typically exploited by a pay-per-use model (users pay for what they actually use) in which guarantees are offered by the Infrastructure Provider by means of customized Service Level Agreements
- clouds are hardware- based services offering compute, network, and storage capacity that are highly abstracted from the user and infrastructure capacity is highly elastic.
However the most generic definition and widely using interpretation of cloud computing can be written as:
Cloud Computing is a pay-per-use model for enabling available, convenient, on-demand network access to a shared pool of configurable computing resources (e.g. networks, servers, storage, applications, services) that can be rapidly provisioned and released with minimal management effort or service provider interaction.
[The National Institute of Standards and Technology]
Cloud computing represents a real paradigm shift in the way in which systems are deployed. The massive scale of cloud computing systems was enabled by the popularization of the Internet and the growth of some large service companies (Google, Amazon, IBM, Microsoft etc.). Cloud computing makes the long-held dream of utility computing possible with a pay-as-you-go, infinitely scalable, universally available system.
So, the belief about cloud computing as file sharing system or file hosting services (understanding of majority cloud newbies) like Dropbox, Google Drive, Cloud Mail.Ru etc. is not completely correct, the possibility of file hosting/sharing service is only one of the optional features of cloud computing.
Этот пост также доступен на: Russian