📜 ⬆️ ⬇️

In simple words: We deal with "cloud" services.



Previously, to deploy any application, you had to buy and configure your own physical servers. Such an approach had a large number of shortcomings, for example, if it only had one and a half servers for the application to work properly, it still had to pay for two — the costs of maintaining and maintaining the infrastructure turned out to be unreasonably high.

Today we have such services that allow you to customize a virtual server and data storage for your own needs. In this case, the costs depend on the required amount of computational (and other) resources - you only pay for what you use.
')
The roots of cloud computing go back to high-performance computing. Even large companies such as IBM and HP took part in the race to increase computing power.

“However, engineers and researchers quickly realized that this approach didn’t scale well,” said Pradeep Padala, founder of ContainerX. “Therefore, the search began for alternative methods of computing: distributed systems began to be developed, combining the power of a huge number of computers.”

Academic projects such as Condor have emerged — a distributed network of computers deployed at the University of Wisconsin-Madison. To date, there are 350 desktop UNIX stations installed that provide access for users from all over the world. There were other projects, such as distributed.net and SETI @ home - at that time this idea was innovative, and it was also quite interesting to search for extraterrestrial civilizations.

Then came BAC from CERN, which spawned an incalculable number of research projects that spent billions of dollars. As part of this whole movement, grid calculations have come into fashion. The definition of grid computing is very close to what we call “computing as a service.” An example is the Globus Toolkit .

Simultaneously with all this, in the technical industry, VMware and Xen were involved in the popularization of virtualization, which made it possible to run several machines at once on one physical machine. This transformed the IT industry, and its ease of use attracted the attention of startups, which were hard to buy and maintain their own equipment.

Below is a classic computer computing model. Access to servers, applications and services is provided via the network.



By turning to cloud computing, an organization gets the opportunity to customize the infrastructure at its discretion, spending less funds and effort. In other words, this model is aimed at increasing the availability of computing resources and combines five characteristics: on-demand self-service, wide access via the Internet, pooling of resources, ability to quickly adapt, and measurability.

Self-service means that consumers should be able to easily and at their own wish use (or, on the contrary, disable) additional computing power without contacting personnel and technicians on the side of the service provider.

Wide availability means that all the features offered by the supplier are available through the network. Work with them is carried out on the basis of standard mechanisms - this makes it possible to use various client platforms, such as mobile phones, tablet computers and personal computers.

The provider pooling its computing resources so that they can be dynamically redistributed according to the needs of users - this is the so-called multi-tenancy principle. There is a feeling of independence from the location when the customer does not know exactly where the resources are located, but can determine their location at the abstract level (country or region).

The ability to quickly adapt is the ability to quickly scale resources to the needs of the customer. From the point of view of the client, the possibilities offered to him look unlimited, which he can use at any time.

Cloud systems automatically monitor and optimize resource utilization. This is done by measuring various parameters (data storage size, computing power, bandwidth). Thus, both the supplier and the consumer receive full information on the volume of services rendered / consumed.

As for the cost of services, the process of their formation can be quite complicated, and the price tag varies from supplier to supplier. Jason Lemkin (Jason M. Lemkin), partner of SaaStr Ventures, believes that if your product is better, then you should not hesitate to inflate the price.

If you introduce any new feature that can dramatically change the user experience, then there is nothing wrong with that if you try to extract the maximum benefit from it. "If your product is five times more serious than a competitor, then you can ask for it 5 times more," says Jason.



In addition to the characteristics, there are three more service models: software as a service (SaaS), platform as a service (PaaS), and infrastructure as a service (IaaS). They differ in the degree of control provided.

In the case of IaaS, the client is able to use the cloud infrastructure at his own discretion and independently manage processing and storage resources, as well as networks. “The user can create a virtual infrastructure and change it at any time,” says consultant Ewan Leith. Outsourcing became popular back in the days when companies wanted to use computers, but did not want to bear the cost of maintaining and maintaining them. For this reason, today we have virtualization technology.

Virtualization is the provision of a set of computing resources or their logical combination, abstracted from a hardware implementation, that is, one physical machine can support several virtual ones. Thus, the physical resources are pooled, and the hypervisor allocates them to the virtual machines that run the guest operating systems.

You do not need to buy equipment, you do not need to build your own data center, you do not need to hire system engineers who are responsible for servicing equipment at the physical level. This part of the service you give the cloud provider. In your area of ​​responsibility is the management of the operating system, installation and configuration of applications.

The second layer is a platform as a service or PaaS. In the transition from the IaaS model to the PaaS model (Platform as a Service), the control of operating systems and databases is additionally transferred to the side of the cloud provider. In this case, clients do not have to think about the disk space that needs to be allocated, and the load distribution between servers. Examples of PaaS are Google App Engine, Heroku and Force.com.

Software as a service (SaaS) is the latest level of cloud computing, usually complementing PaaS. This software is for the end user, for example, providing work with e-mail or text. Very often it is provided by subscription. Examples of SaaS are Google Apps, Salesforce.com, and Microsoft Business Productivity Online Suite.

For the SaaS option to the side of the cloud provider, the questions of installing and configuring applications, monitoring, backup, secure transmission to the Internet — that is, all tasks — are additionally transferred. If you decide to use this model, then you don’t even have to be in the technical team as the service provider manages everything.

There are several deployment models: private cloud, public cloud, public cloud, hybrid cloud.

Private cloud is an infrastructure that is located within the same organization. This deployment model is designed to meet the needs of internal workers, ensuring a high level of data security. A private cloud is created, for example, to provide a corporate email service to a subsidiary.

The public cloud is an infrastructure designed for free use by the general public. This type of cloud may be owned by, for example, commercial, scientific, and government organizations.

However, the word “public” does not mean at all that user data is available to absolutely everyone - security mechanisms for access control are still implemented here. The main advantage of using a public cloud is ease of setup and low cost. The service provider does all the work necessary to create the cloud, and the consumer only adjusts the necessary amount of resources.

The public cloud (community cloud) has similarities with the private and public cloud. This is a type of infrastructure designed to be used by a specific consumer community from organizations that have common tasks. A public cloud can be managed by third-party organizations and exist both inside and outside the jurisdiction of the owner. In this case, the responsibility for maintaining the cloud is shifted from the shoulders of member organizations to the entire community.

A hybrid cloud is a composition of two or more types of clouds that are interconnected by standardized data transfer technologies. Very often, companies run business critical applications in a private cloud, while other applications run in a public cloud.

PS A couple of our publications on the topic on Habré:

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


All Articles