Cloud Computing is a model that provides ubiquitous and convenient on-demand access to a common pool of configurable computing resources (eg, a set of networks, servers, data warehouses, applications, and services) that can be quickly provided to service providers. provider.
The idea of cloud technologies appeared in the 1960s, but their practical use began in 2006 when Amazon implemented a project called Elastic Computing Cloud (Amazon EC2), which provides the client with remote computing resources. The metaphor "cloud" was used as an image of complex infrastructure, behind which all the technical details are hidden. Following Amazon, similar services were developed and introduced by Google, Sun, and IBM. Microsoft went further and in 2008 announced, and in 2010 released the first release of the cloud operating system Windows Azure. Today, many large companies offer their own cloud computing systems, including HP, Dell, Oracle, and others.
A company that uses cloud technology can get the following benefits:
- Deployment speed. Leading providers can access cloud computing resources in a matter of hours.
- Save money needed to purchase and maintain your own computing infrastructure.
- Ability to access computing resources from any computer with Internet access.
- Ability to organize collaboration with data.
- Easy to scale. The company receives as many computing resources as it needs during this period of time, easily increasing or decreasing their number, can only pay for their actual use and save on the purchase of software licenses
- High reliability, because the cloud provider uses backup power supplies, contains security, hires highly qualified personnel, regularly backs up data, provides high resistance to DDOS attacks.
- Small companies can get the same tools that large corporations have used for many years. For example, the Lync Online service from the Microsoft Office 365 cloud allows even one person to hold a webinar for 250 participants.
Cloud solutions can be divided into three main types.
The choice depends on what part of the work the company is willing to outsource.
- SaaS (Software-as-a-Service), software as a service
The company's employees work in the programs they need via the Internet.
Advantages: updates, operability, and other technical issues and problems related to the use of programs are solved by the provider, the service can be used in a few minutes after ordering.
Disadvantages: not all programs are available in this format, limited software customization capabilities, for large companies this solution is more expensive than other types of clouds or (sometimes) than programs installed on their computers.
- PaaS (Platform-as-a-service), a platform as a service
The company leases a platform that provides computing services, storage services, and data services. The company can use arbitrary virtual machines with a variety of system and user programs. The provider ensures the reliable operation of these computers and programs. Such cloud solutions are good for large companies and bad for small ones.
Advantages: high flexibility (you can build a computer system of any capacity and install all the necessary applications), the ability to use advanced and sometimes unique technologies (artificial intelligence, big data, etc.), if the role of a cloud provider is a company like Oracle, Microsoft, Apple or Google), the ability to pay only for the resources actually used.
Disadvantages: only specialists with specific knowledge and skills can assemble the system from virtual components, each platform imposes its own limitations, the basic cost of renting a platform is relatively high.
- IaaS (Infrastructure-as-a-service), infrastructure as a service
The company rents a server and computing resources. The cloud provider guarantees server performance and virtualization technologies.
Advantages: the cloud provider is engaged in updating the hardware, the company can manage the performance and parameters of the server, install any operating systems and programs, configure them according to their current requirements, get a good value for money.
Disadvantages: to configure and maintain the software, you need to have an appropriate specialist in the company's staff, you have to take into account the characteristics of a particular server and virtualization technologies used by the provider — which loses flexibility.