What are clouds, and when does it make sense to build cloud solutions? And if you build, what platforms to use? Do I need to provide clients with cloud services? Or maybe it is better to use virtualization? And how does virtualization differ from clouds? These questions are asked by all IT and non-IT companies: from large telecom operators to small start-ups. Let's try to figure it out! In a
previous article, we looked at the concepts of SDN and NFV. The question arises - if both of them are connected with virtualization and networks, then it turned out to be clouds? After all, we all know perfectly well that clouds are the virtualization of resources somewhere on the network. I tried to find a formal definition of clouds, but did not. Definitions were vague and fuzzy, like real clouds. And then I had a feeling that it is impossible to give CLOUDS a clear definition, they are like LOVE, which can only be described and characterized from different sides. Further investigation confirmed this assumption. To begin with, I found the
Cloud Computing standard, which is being developed by NIST (National Institute of Standards and Technology). He identifies 3 dimensions of cloud services:
Clouds

Those. There is no clear definition of the cloud even in the standard. Let's take a closer look at all the measurements:
Service model or service model
The following concepts must have been heard:
')
- IaaS (Infrastructure as a Service) - the provider provides only computing resources (servers, storage, processing, memory, network bandwidth). In this case, a set of prepared OS images can be provided, which unfold in a few minutes. Network connectivity between virtual machines and additional disk resources are also provided. A separate part of IaaS is MaaS (Metal as a Service) - providing access to bare hardware without OS (bare-metal servers). Sample IaaS Provider: AWS. Platforms for building IaaS: VMware, OpenStack, Azure.
- PaaS (Platform as a Service) - the supplier provides the operating system and certain software for the customer to independently implement their services, for example, DB, CMS. Examples: OpenShift, Heroku, Google Cloud Platform, Cloud Foundry.
- SaaS (Software as a Service) - the provider provides software for use by the customer, for example: Microsoft Office 365, Microsoft Exchange, 1C, etc.
It is believed that these clouds are only PaaS and SaaS, but the standard does not confirm this opinion.
Deployment model
Now about the deployment models, which are also well known:
- Private cloud - the infrastructure is deployed within the organization, thereby ensuring security and performance.
- Public cloud — The infrastructure is designed to provide services to third-party customers. For example, AWS, Google Cloud. The advantages are obvious here: you do not need service personnel, fast-expanding resources, you pay only for what you consume (hours, gigabytes), the ability to focus on the idea or business, and not on servicing the infrastructure. Well suited for the rapid deployment of small systems for the organization of startups.
- Community cloud - The infrastructure is shared between several organizations with similar concepts of resource consumption, security policies, etc. Consumers less than in the public cloud, but more than in the private. Example: Google Apps for Government.
- Hybrid cloud is a combination of two or more different cloud infrastructures (private, public or public). Among hybrid clouds, there are interesting use cases, for example: within a private cloud, the organization stores all the necessary up-to-date information, and backup copies are transparently sent to the public cloud.
Functional characteristics
But the functional characteristics of clouds are often not paid attention, whereas for clouds these are essential requirements:
- Broad Access Network - the ability to access resources from the Internet using a variety of devices.
- Rapid Elasticity - Resilience. If necessary, the rapid allocation of additional resources, up to infinity.
- Measured Services - automatic measurement of services and billing for payment.
- On-Demand Self Services, Resource Pooling - allocation of computing resources (resource pooling) upon request from customers (on demand).
It turns out that the Service has the right to be called cloudy, you need to be able to answer the question "Where is it located in all three dimensions?".
The reverse side of the clouds
But with all the advantages of clouds, there are a number of things that can have negative consequences, especially in public clouds:
- The cloud is relatively easy to manage, but software updates affect thousands of users, potentially leading to serious accidents.
- In public clouds, large configurations are not always cheaper; TCO should be considered.
- There are several questions to security in public clouds:
- How are sensitive data handled?
- Are the requirements of the regulator complied with personal data?
- How reliable is data integrity (duplication, backup)?
- What is the protection against hacker attacks?
This is all, of course, not a reason to abandon the use of clouds, but a reason to more thoroughly understand the pros and cons.
Virtualization
Now a few words about virtualization, without which there can be no clouds. Virtualization also has several dimensions that can be conventionally called “Type” and “Virtualization Method”.

I will briefly sit about everyone. For a deeper immersion in the topic I recommend the article
"Review of virtualization methods, architectures and implementations"Types of Virtualization
Server virtualization
- Usually, virtualization means placing multiple virtual servers within a single physical
- But there may still be a combination of several physical servers into one logical one to solve a specific task.
- Distribution + Virtualization = System GRID
Resource virtualization
Resources are RAM, hard drives, and processors. They can also be sliced ​​and distributed in parts to different users.
Application Virtualization
Application Virtualization is what we already know as PaaS and SaaS
Ways of Virtualization
Full virtualization and paravirtualization
The main methods of virtualization are full virtualization and para-virtualization. The scheme of both methods is very similar. There is a hypervisor and virtual machines with guest OS. With full virtualization, no changes are made to the guest OS. With paravirtualization, optimized images for a specific hypervisor are installed. This allows maximum utilization of hardware resources and does not require any changes from applications. An example of a system that implements full virtualization is VMware, an example of paravirtualization is Xen and KVM.
There are several ways to virtualize:
Operating System Level Virtualization
The special feature is that there can be only one guest OS. An example of OS-level virtualization is Linux-VServer:
Containerization
Recently, containerization systems such as Docker or Kubernetes have been used increasingly. They allow you to automatically deploy prepared OS images mainly for automated testing purposes and for CI systems. Containers are very similar to virtual machines, but they do not require a hypervisor, but only the corresponding engine:
Equipment emulation
With this virtualization method, the VM fully emulates the operation of certain hardware. On the one hand, this makes it possible, for example, on one processor to emulate another type of processor. On the other hand, it is clear that this will slow down the work tenfold. An example of an emulator is
Bochs .
OS library emulation
And to complete the picture I will add library emulation. This is the way in which not the whole OS is emulated, but only a part. For example, Wine on Linux is an emulation of libraries for Windows applications.
It turns out that we can virtualize different systems using different methods. Those. we see that many methods can be solved by existing methods and types of virtualization. There is a logical question, when does it make sense to deploy a cloud platform?
Cloud platforms are located above a set of virtual machines, completely isolating the application from both hardware and the structure of the virtual environment. Cloud platforms are used for automatic and manual scale in / scale out, start / stop / configure VM and applications. When it makes sense to stay in virtualization, and when to stay in the cloud? The concept is as follows: when there is a lot of everything - a cloud, a little - virtualization:
- For tasks with a large number of virtual servers, the cloud is better; for tasks with 10-20 virtual machines, you can not deploy a cloud platform.
- If you need to constantly change the configuration of resources - the cloud.
- Many users, data, customers - the cloud.
A few words about the platform for building clouds. There is a lot of information on them, so I’ll give only a dry squeeze:
Cloud Platforms
To build clouds now there are two main platforms, the rest (Eucalyptus, Cloudstack, Microsoft Azure) occupy an insignificant share.
- VMware is a vSphere platform. VMware has collected a huge number of technologies, is developing its own version of OpenStack.
- OpenStack - formed in 2010, is a set of free software projects that can be used to create infrastructure cloud services and cloud storage. The OpenStack Foundation (2012) has more than 1,000 organizations and more than 30,000 members. The main suppliers of the stack: Mirantis, RedHat, HP.
Cloud platforms are typically used by customers to accomplish the following tasks:
- Work with the frequently changing configuration of iron, as we discussed above.
- Providing Internet services and other network applications. Applications must be "Cloud Ready".
- Telco Cloud (also known as SDN & NFV).
- Collection, storage, processing BigData.
I dwell on these tasks in detail and plan on “Cloud Ready” applications in one of the following articles.
Telecoms and Clouds
It is interesting to understand whether mobile telecom operators have clouds? Do they provide cloud services? From open sources the picture is as follows:
Beeline
From the
cloud services provides:
- PaaS: Shared Hosting
- SaaS: Microsoft Office 365
Megaphone
There are
traces on the network that in 2013 MegaFon provided IaaS. Now on the site of the similar you can find the service
Colocation . However, MegaFon has a lot of specialized services:
CDN, M2M, WiFi authentication, VPN, etc.Mts
MTS provides cloud services under the brand name
“Belarusian Cloud Technologies” .
- IaaS in the form of access to your "CloudServer"
- PaaS: SiteBuilder
- SaaS: Microsoft Exchange, Microsoft Lync 2013
RTK / Tele2
Tele2 is not seen in attempts to promote the clouds, but RTC, whose mobile assets are in a joint holding with Tele2 (T2 RTC Holding), has turned seriously. RTK has made the
“National Cloud Platform” and now it provides on its basis:
- IaaS: Virtual Data Centers
- SaaS: 1C, Virtual Office
From the data we can conclude that the provision of cloud services is not a priority for mobile telecom operators, they are more focused on the development of their networks and services. Telecom operators should be contacted for network services, such as: virtual PBX, virtual network, M2M and in general all that can be provided on SDN & NFV technologies: virtual Firewall, DPI, etc. And behind computing clouds it is better to go to specialized providers.
The following articles
- SDN & NFV and what's the Cloud?
- Clouds like love
- Interfaces and Functional Blocks NFV
- Cloud Building Platforms and Cloud Ready Applications
- SDN and NFV Manufacturers and Cases
- Cooking NFV at home
- BigData and NFV - is there a connection?