šŸ“œ ā¬†ļø ā¬‡ļø

Cloud computing (overview)

Cloud computing (English cloud computing, the term cloud processing is also used) is a data processing technology in which software and / or hardware is provided to the user as a service.

The cloud refers to the remote servers on which virtual environments and software are deployed. The user does not have direct access to the hardware, and usually the Internet is used to access the servers. In cloud computing, there are several types of services, for convenience in their designation they use the abbreviation ā€œas a serviceā€, that is, ā€œas a serviceā€ or ā€œas a serviceā€.

SaaS (Software as a service; software as a service) is a software delivery model in which a provider develops and manages a web application independently, giving users access to it via the Internet.
')
PaaS (Platform as a service; platform as a service) is the provision of an integrated platform for developing, testing, deploying, and supporting applications as services. In the cloud, there is a set of programs, core services and libraries, on the basis of which it is proposed to develop its own applications. In addition, PaaS is also understood to mean certain parts of complex systems, for example, a database or communications system.

IaaS (Infrastructure as a service; infrastructure as a service) is the provision of hardware resources, usually combined on the basis of virtualization, as a service. IaaS consists of three main components - hardware (servers, data storage systems, client systems, network equipment), operating systems and system software (virtualization, automation, basic resources management tools), and middleware software for managing hardware and software.

aaS (Communication as a service; communication as a service) - it is meant that communication services are provided as services; This is usually IP-telephony, mail and instant communication (chat, IM).

WaaS (Workplace as a service; workplace as a service) is the provision of a workplace as a service, a special case of infrastructure, as a service.

Cloud computing architecture


The cloud is built on one or more servers interconnected by virtualization systems. Also, virtualization technologies allow dividing the hardware power into parts that correspond to the current needs of users accessing the hardware as a service. As a result, the user moves from the acquisition, management and depreciation of hardware resources to the purchase of server time, disk space, network bandwidth required to perform their tasks.

Separate software and hardware virtualization. Software virtualization currently prevails over hardware due to the fact that for a long time, processor manufacturers could not properly implement support for virtualization. The process of introducing new technology into processors required a serious change in their architecture, the introduction of additional instructions and modes of operation of processors. Despite the fact that software platforms are very advanced in terms of speed and the provision of management tools for virtual machines, hardware virtualization technology has some undeniable advantages over software:

The approach to cloud systems differs in the degree of control over the low level that is provided to the client.

IaaS - the ā€œinfrastructure as a serviceā€ model provides a virtualized environment based on some clustered servers. In fact, the user is provided with a virtual machine that runs on the provider's systems, within which there are all the possibilities for installing the OS first, and then the necessary software settings. Provided hardware resources can be flexibly and almost instantly changed up or down. It is also possible to take as a service several such virtual servers; accordingly, you can create your local network between them. The user is not given access to a level lower than the virtualization layer (Xen or VMware is most often used).

PaaS - a platform-as-a-service model has maximum flexibility and extensibility, but this turns into providing not just a virtual machine or some resources, but entire libraries and APIs. The user is given the opportunity to run their own applications, often seriously limiting the choice of programming language and additional libraries. But such an application will be able to flexibly receive resources on request. In this model, the user does not have access not only to the hardware, but also to the operating system and the virtualization environment. All that the user works with is calls to the API and libraries provided by the service.

There is a dependency: the simpler the language and the API within which the programs work, the easier and more flexible to scale them. Therefore, it is extremely difficult to find resources familiar to web developers in cloud systems, at least in a standard form, for example, traditional SQL relational DBMSs are extremely poorly suited for scalable systems (with rare exceptions, like Oracle or DB2). Instead, they use their own development as well as third-party open solutions. One of the most popular solutions was the key-value data warehouse and system based on Google BigTable, as well as its open counterparts. This is very similar to a regular cache — the application writes any data to the storage, associating it with some key, digital or simple string, then extracts or deletes it, indicating the key. More advanced systems implement entire data structures, lists, queues, and even allow SQL-based samples with sorting and filters. Access to the file system often changes, which is replaced by the similarity of the usual storage, supplemented by the map / reduce system for processing large amounts of data.

SaaS - in the ā€œapplication as a serviceā€ model, the user has access only to a specific application. The user has no access to the API or to the program code of the application. All that is available to it is a software environment, usually in a browser window and file storage for its documents. A vivid example of such a service can be called Google Docs for working with office documents and Adobe Air for working with images.

The main advantages of cloud computing:

Disadvantages of cloud computing.

Source: https://habr.com/ru/post/69038/


All Articles