Cloud technology types of services. What is cloud computing? Application of cloud technologies

A sociological survey conducted in the United States showed that 54% of respondents are firmly convinced that they have never used cloud technologies. In fact, the situation is completely different - more than 95% of Internet users use cloud technologies without even knowing it. You use them when you watch online videos, play online games, download music via iTunes, check your Gmail mail or access Facebook.

So, before our eyes, and completely imperceptibly for us, there was a revolution in the field of computer technology.
We use more and more powerful and resource-intensive programs that require more and more powerful hardware for their work. We are forced to operate with ever larger amounts of data, and this data needs to be stored somewhere. But if you think about it, then this super-powerful program is not so often used by us, and without it it would be possible to buy a simpler computer (like on your own). And we also don’t need terabytes of data every day.

That's about the same logic (only, of course, at a higher level) was guided in 2006 by Eric Schmidt, who was then the head of , proposing a new model of computer technology. Actually, he did not propose anything fundamentally new, distributed computing was widely used before, but he coined the term "cloud" and after his speech, the model he proposed began to develop rapidly.

Today's data centers contain enormous amounts of computing power and huge amounts of disk space. Modern software and communication channels allow servers located on different continents to work as a whole. It is only necessary to create a convenient access system, and then the entire array of this power can be provided to those who need it. Virtualization tools allow you to divide computing power into individual consumers in any proportion.

And such an access system was developed. Now the user can access remote computing resources through the web service.
In the corporate sector, several areas of cloud technologies are already operating and rapidly developing.

Types of cloud technologies

The first, lowest level is the provision of the right to use software (SaaS) as a service. The consumer does not need to buy expensive software and a powerful workstation on which he can work. There is no need to keep specialists who will install, configure and maintain all this economy. He simply leases the right to use this software and pays only for the time he used. Moreover, it can work on any device that has access to the Internet, be it even a tablet or even a smartphone. After all, all calculations are performed on the cloud side of the provider, and only the results are displayed on the user's device.

The next level is the provision as a service of the platform. In this case, the consumer receives at his disposal operating systems, database management systems or development and debugging tools on which he can develop and deploy his projects.

And finally, at the highest level, the entire infrastructure of a large corporate computer network is provided to the consumer in the cloud.
Well, what do we, ordinary users, have from cloud technologies. We have already mentioned that we often use services deployed in the clouds without knowing it ourselves. In addition, we have dozens of different cloud storages at our disposal. All of them offer approximately the same functionality of services.

Usually the user is prompted to download and install a small program and create a folder to store the files that you want to place in the cloud storage. You must configure the synchronization settings for files and folders located on the local computer (as ) and in the cloud. Everything that will be stored in the cloud will be available to you from any device via a web interface. You can open free access to a folder or file to any person by sending him the appropriate link.

Let's take a look at some of the most popular repositories

Windows 8 and Windows Phone 8 were already built with the cloud in mind, and the same can be said for Apple's operating systems. 90% of Microsoft's research budget is used to develop this particular area. This means that the pace of development of cloud technologies will only increase.

Students often ask questions: What is cloud computing? What are cloud services? What is a cloud site? What does cloud, cloud file storage mean? How is cloud computing used in education? SaaS service for B2C and B2B sales? SaaS ERP and SaaS CRM systems and solutions? What cloud computing models are used to develop web applications? Modern data centers on the basis of which cloud services are created: SaaS, PaaS and IaaS?

First, let's look at what "cloud" (cloud) and "cloud computing" (cloud computing) are. "Cloud" is an innovative model (concept) of organizing IT infrastructure, which consists of distributed and shared configurable hardware and network resources, as well as software deployed at remote (cloud) data centers of suppliers (providers). That is, the cloud is a new approach to organizing IT infrastructure.

Cloud computing is a model for providing remote access to shared computing resources that are physically distributed on many remote devices that form the so-called cloud.

Cloud computing is a model of providing the consumer with scalable computing resources as a service via the Internet. Cloud computing is a model for presenting IT as a service to the consumer over the Internet.

Let's analyze the fundamental definition of cloud computing, proposed by the National Institute of Science and Technology on July 24, 2011.

Definition of "cloud computing"

Cloud computing- a model for providing ubiquitous and convenient network access on demand to a pool of shared configurable computing resources(eg, networks, servers, storage, applications, and services) that can be rapidly provisioned and released with minimal effort of management or interaction with the provider. This cloud model is represented (described) by five main characteristics, three service models and four deployment models.

Key Features of Cloud Computing, which distinguish them from other types of calculations (Internet resources):

  1. Self-service on demand. The consumer, as necessary, automatically, without interaction with each service provider, can independently determine and change computing power, such as server time, data storage volume.
  2. Broad (universal) network access. Computing capabilities are available over long distances over the network through standard mechanisms, which contributes to the widespread use of heterogeneous (thin or thick) client platforms (terminal devices).
  3. Consolidation of resources. The provider's configurable computing resources are pooled to share distributed resources with a large number of consumers.
  4. Instant resource elasticity (instant scalability). Cloud services can be quickly provisioned, expanded, contracted, and released based on consumer needs.
  5. Measurable service (accounting for the consumed service and the ability to pay for services that were actually used). Cloud systems automatically manage and optimize resource usage by performing measurements at some level of abstraction appropriate to the type of service.

If the model (concept) of providing distributed and shared configurable computing resources corresponds to the above characteristics, then this is cloud computing.

Service models of cloud computing or cloud computing:

  1. Software as a Service ( SaaS) is software as a service. In this cloud computing delivery model, the consumer uses the provider's applications running on the cloud infrastructure, which are available to the client through an interface (web browser) or program interface. Consumers cannot manage and control the cloud's underlying infrastructure, including the network, servers, operating systems, data stores, or even change application-specific settings.
  2. Platform as a Service ( PaaS) is platform as a service. A model for providing cloud computing, in which the consumer gets access to the use of the software platform: operating systems, DBMS, application software, software development and testing tools. In fact, the consumer receives for rent a computer platform with an installed operating system and specialized tools for developing, hosting and managing web applications. The consumer does not manage the underlying infrastructure of the cloud, including the network, servers, operating systems, or data stores, but manages deployed applications and possibly environment configuration settings.
  3. Infrastructure as a Service ( IaaS) - infrastructure as a service. A model for providing cloud computing, in which the consumer gets the opportunity to manage processing and storage facilities, as well as other fundamental computing resources (virtual servers and network infrastructure), on which he can independently install operating systems and application programs for his own purposes. In fact, the consumer rents abstract computing power (server time, disk space and network bandwidth) or uses IT infrastructure outsourcing services. The consumer does not manage the underlying infrastructure of the cloud, but manages the operating systems, storage, and applications it deploys.

Cloud computing deployment models, i.e. cloud computing:

  1. Private cloud (private cloud) - an infrastructure designed to use cloud computing on the scale of one organization.
  2. Community cloud - a cloud infrastructure that is designed for the exclusive use of cloud computing by a specific community of consumers from organizations that solve common problems.
  3. Public cloud (public cloud) - an infrastructure designed for the free use of cloud computing by the general public.
  4. Hybrid cloud (hybrid cloud) is a combination of different cloud infrastructures (private, public or communities) that remain unique objects, but are interconnected by standardized or proprietary technologies that provide the ability to exchange data and applications.

Rice. 1. Cloud computing deployment models

Based on the above definition of cloud computing, cloud services can be represented as a multilayer model consisting of layers: IaaS, PaaS, SaaS. The basis or foundation of cloud services is physical infrastructure (physical infrastructure), i.e. servers, storages, networks and system software Cloud data center (cloud data center) or networks of interconnected cloud Data centers (Fig. 2).

Cloud data centers or data processing centers (DPCs) contain physical equipment or hardware (servers, data storage, workplaces), system software (OS, virtualization and automation tools), tool and application software, equipment management systems (Equipment management systems), network infrastructure (Network infrastructure): routers and switches (routers and switches) for connecting and combining physical equipment. In addition, the normal operation of data centers is provided by systems of engineering support.

Rice. 2. Cloud computing architecture (cloud computing architecture)

The first layer of cloud services - IaaS (infrastructure)

IaaS is the provision of computer and network infrastructure (servers, storage, networking) to the user and their maintenance as a service in the form of virtualization, i.e. virtual infrastructure. In other words, based on the physical infrastructure of data centers or data centers, the supplier (provider) creates a virtual infrastructure that it provides to users as a service. Virtualization tools allow you to convert the physical infrastructure of data centers into a virtual one and thus create the first layer of cloud services - IaaS.

What is virtualization? Resource virtualization technology allows the physical equipment (servers, data storage, data transmission networks) to be divided between users into several parts that are used by them to perform current tasks. For example, hundreds of virtual servers can be launched on one physical server, and the user can allocate time to access them to solve problems. Implementation of virtualization can be carried out both at the software level and at the hardware level.

Thus, the user is provided with abstract elastic computing power, for example, not a server or servers, but server time to process his tasks. Not disks for data storage, but the necessary disk space, not communication channels, but the network bandwidth of switching channels required to solve problems.

In addition to virtualization, automation is used to create IaaS, which provides dynamic allocation of resources without the participation of the service provider's personnel, i.e. the system can automatically add or reduce the number of virtual servers, disk space for data storage, or change the network bandwidth of communication channels. Virtualization and automation provide efficient use of computing resources and reduce the cost of renting a cloud IaaS service.

As a rule, IaaS is leased (an IaaS service is provided on an outsourcing basis) to corporate users. That is, users receive integrated resources to create their own computing infrastructure. In this case, the user must install and configure the OS and the necessary programs to perform production tasks or to develop applications.

The IaaS concept allows the user to buy only the computing power that he needs to perform specific tasks. IaaS value-added services may include connecting any physical user equipment to the cloud platform and placing it in a data center network.

Infrastructure as a Service is an enterprise-grade solution for businesses of all sizes. The infrastructure can be located both in the enterprise data center and in an external data center. IaaS services are designed for building and running secure private, public, and hybrid clouds. Vendors can provide hybrid cloud configurations that combine local area networks at the customer's office with cloud platform networks.

In addition, IaaS cloud computing services include cloud hosting (Cloud Hosting). Cloud hosting is a hosting that can provide dynamic resource allocation, has the ability to automatically scale resources and has increased fault tolerance. Cloud hosting is an essential alternative to shared hosting, VPS/VDS virtual dedicated server hosting and physical dedicated server hosting.

The Cloud Hosting provider provides site owners with only the resources necessary for the site: virtual servers, the amount of RAM and hard disk space, as well as options for managing the hosting infrastructure (for example, choosing an operating system, amount of RAM, size and type of HDD, number of CPU cores, clock frequency and access speed). Payment for the rental of cloud hosting is made only on the basis of already consumed resources: the amount of processor time, the amount of disk space, the amount of RAM consumed and the speed of access to the site.

If necessary, the tenant (website owner) of cloud hosting can change hosting resources or set it to automatically increase resources when the load increases, but he will always pay only for already consumed resources. Cloud hosting has increased fault tolerance, since the site hosted on it is simultaneously located on several virtual servers and the failure of one of them will not affect the operation of the site.

Currently, hosters offer cloud hosting with a pre-installed CMS for rent. Hosting providers for organizing such cloud hosting can, for example, deploy Jelastic platform-as-infrastructure with pre-installed CMS on their servers. Jelastic delivers a platform-as-infrastructure as a complete stack that allows cloud hosting to be deployed on a hosting provider's physical data center infrastructure.

The functionality of the Jelastic platform allows you to install CMS built into it with an optimized web environment in one click, for example, Jelastic on Infobox. Jelastic is a product that includes PaaS functionality and an easily configurable IaaS infrastructure. Jelastic is a platform for running Java and PHP applications and can be used not only by hosters to organize cloud hosting, but also by corporations to create a development environment (private or hybrid clouds) for web applications.

On cloud hosting, cloud sites are placed - these are modern cloud applications. In cloud sites (cloud applications), data is stored in cloud databases, site server applications are stored and run on cloud virtual servers, and the client side of the site runs in the user's browser.

Cloud computing environment can be created on the basis of cloud solutions Amazon EC2, IBM x86, Microsoft Azure, EMC, VMware, based on open-source solution OpenStack, RackSpace based on OpenStack, etc., which allow you to transform the data center into a dynamic IT environment. In addition, cloud computing uses cloud databases, i. databases that run on cloud computing platforms. As cloud databases, both SQL-oriented models and NoSQL data models are used.

IaaS services are widely used in the US. In Ukraine, De Novo began to provide cloud infrastructure for corporate clients based on VMware, EMC, Microsoft Azure, etc. solutions. On the basis of the largest Ukrainian data center VOLIA, the VoliaCLOUD cloud IT infrastructure from VMware (based on VMware cloud solutions) was built, which has more than 500 virtual data centers.

Major IaaS Solution/Vendor: Amazon Web Services/Amazon, IBM SmartCloud/IBM, SoftLayer IaaS/IBM, Azure Virtual Machines/Microsoft, Google Compute Engine/Google, HP Cloud/HP, EMC/EMC Corporation, Oracle Cloud Infrastructure Services/Oracle . It should be noted that IBM offers a secure, open, self-service (SoftLayer) or fully managed IaaS (IBM SmartCloud Enterprise+) IBM SmartCloud infrastructure.

Rice. 3. Basic IaaS Cloud Computing Solution

It should be noted that work is currently underway to create cloud core networks of mobile broadband providers (mobile operators) as an IaaS service. These services include, for example, Huawei's cloud telecommunications platform and Nokia Siemens Networks' NSN Telco Cloud solution.

The Huawei FusionSphere platform provides virtualization of computing resources, storage resources, network resources and organizes a single pool of shared configurable computing resources with a single scheduling and management mechanism. Nokia Siemens Networks has performed end-to-end testing of key mobile services covering Voice over LTE (VoLTE) and other IP Multimedia Subsystem (IMS) services powered by Telco Cloud.

Second layer - PaaS (software platform)

The PaaS service provides a software platform and its maintenance as a service consisting of:

  • OS - network operating system (Unix systems, including Ubuntu Server, BSD/OS Family, Solaris/SunOS, etc. or Windows Server),
  • Database - DBMS database management system (MySQL, Microsoft SQL, SQL Database, PostgreSQL, Oracle, etc.),
  • Middleware - middle layer software or intermediary (intermediate) software, which is designed to provide interaction between various applications, systems and components,
  • Software development tools and testing - tool software for developing web applications and testing them (software development environment: software frameworks, libraries, etc. for creating web applications in programming languages: Python, Java, PHP, Ruby, JS for Node.js, etc.),
  • App server - application server for developing, testing, debugging and running web applications.

So, PaaS offers software developers the means to develop, test, deploy and support various applications. In addition, the user is provided with administration and management tools. PaaS is mainly used for developing and hosting web applications (for example, related distributed applications - SaaS mashups, cloud sites, etc.).

Key PaaS Solutions/Vendors:

  • AWS Elastic Beanstalk/Amazon (Java, .NET, PHP, Node.js, Python, Ruby and Apache HTTP Server, Apache Tomcat, Nginx, Passenger, and IIS),
  • IBM Bluemix/IBM (IBM Bluemix cloud platform offers a single solution environment and a wide range of languages ​​and frameworks for building applications, such as Liberty for Java™, SDK for Node.js™, ruby ​​on rails, ruby ​​sinatra),
  • Microsoft Asure/Microsoft (ASP.NET, Java, PHP, Python, Django, Node.js and Azure SQL Database),
  • Google App Engine/Google (Python, Java, PHP, Go and our MySQL),
  • Salesforce1 Platform Cloud application development/Salesforce combines Force.com, Heroku, and ExactTarget into one cloud service network and provides tools for developing various applications. For example, to develop mobile applications Salesforce1 Mobile App/Salesforce or cloud databases for app developers Database.com/Salesforce, etc.
  • Heroku/Salesforce (Ruby, Java, Node.js, Scala, Clojure, Python and PHP and PostgreSQL),
  • Oracle Cloud Platform Services/Oracle (Oracle Database Cloud Service, Oracle Java Cloud Service, Oracle Database Backup Service),
  • OpenShift/Red Hat (Java, Java EE, Python, Perl, PHP, Ruby, Node.JS, and MySQL, PostgreSQL, MongoDB),
  • Cloud Foundry/VMware (Java Spring, Ruby on Rails and Sinatra, NodeJS, .NET and MySQL Redis, MongoDB),

Rice. 4. Basic PaaS Cloud Computing Solution

In addition to the listed PaaS solutions, Web application developers also use other well-known cloud platform solutions: dotCloud PaaS, SAP HANA Cloud Platform, CloudBees Platform, Rackspace, etc.

Third layer - SaaS (cloud application)

According to the SaaS scheme, the following types of cloud applications and their maintenance are delivered: Business Apps, Office Web Apps, Management Apps, Communications, Security, etc. SaaS is most widespread in the USA. The most popular cloud applications are: CRM (customer relationship management system), HRM (HR system, i.e. with personnel), ERP (enterprise resource planning system, for example 1C), office applications, communication tools, etc. Salesforce.com is the world's largest provider of cloud-based CRM applications.

Communication means means electronic correspondence (for example, Gmail), audio and video chats (for example, Microsoft Lync Online), Cloud PBX or cloud PBX (for example, virtual PBX Mango-Office), cloud service MDM (Mobile Device Management - mobile device management ). The MDM cloud service is designed to work with corporate systems using mobile devices.

Applications, so-called agents, are installed on various mobile devices that operate under the cloud MDM system. These applications provide centralized mobile device configuration and access to the enterprise corporate network as a SaaS cloud service. As a rule, cloud communication tools are integrated with other SaaS services, for example, CRM + MDM, Office Web Apps + Lync Online, Google Docs + Gmail + Hangouts, etc.

The main consumers of SaaS are small and medium businesses. Most SaaS applications are designed to support interaction between employees working together to solve common problems (Collaboration). The architecture of SaaS applications, in which a single application instance running on a server serves many consumers, is multi-tenant, i.e. each consumer in the process of performing tasks is provided with its own instance of the virtual application.

Main application software:

  • Business Apps (CMR, FRM, IBM® B2B Cloud Services, Axway Cloud B2B, amoCRM SaaS service for B2B, Google Apps for Business),
  • Business Intelligence (PowerBI as part of Office 365/Microsoft, Oracle Business Intelligence Managed Cloud Service, Anaplan/ADE Professional Solutions, Brand Analytics),
  • Office Web Apps (Google Docs, Office Online/Microsoft OneDrive, Office Web Apps/Microsoft, Zoho Docs, IBM SmartCloud Docs, etc.),
  • Management Apps (ERP/RENT 1C, HRM, SCM, MRP),
  • Communications (Gmail, Google Hangouts, Microsoft Lync Online, Cloud PBX or Cloud PBX, MDM),
  • Security (Panda Cloud Email Protection, Panda Cloud Internet Protection, McAfee SaaS Email Protection & Continuity, Comfortway Mobile Security, etc.), etc.
  • Collaboration and Multi-tenant (Google Docs, Google Sites, Microsoft Office Online, Office 365, Office Web Apps).

Main SaaS Solution/Vendor: Salesforce1 Sales Cloud/Salesforce (CRM), Oracle Cloud Applications/Oracle (HR, CX, ERP, EMP, SCP, Business Intelligence), Google Apps/Google – cloud services office suite (Google Docs, Google Drive , Google Sites, communication: Hangouts, Gmail, Google Calendar, etc.), IBM SmartCloud Docs/IBM, Microsoft Dynamics CRM, Microsoft OneDrive (Office Online, file storage), Office 365/Microsoft (Office Web Apps, Lync Online, Exchange Online , SharePoint Online), Zoho Docs/Zoho (online office suite), Zoho Reports/Zoho (Business Intelligence), Zoho CRM/Zoho, Informatica Cloud MDM/Informatica, MaaS360/Fiberlink, Cloud PBX from Vonage Business Solutions, etc.

Rice. 5. Basic SaaS Cloud Computing Solution

There are many other cloud computing SaaS services, such as Cisco WebEx, a cloud-based web conferencing service; CMS based on the SaaS model (for example, the UMI.CLOUD SaaS platform); E-Commerce B2B/B2C SaaS model; Marketing SaaS solutions; Dr.Web Anti-virus service based on the SaaS model; SugarCRM is a commercial open source CRM system; BPMonline CRM with business process modeling and automation tools, etc.

It should be noted that the concept of cloud computing (cloud computing) involves the provision of various additional types of cloud services to consumers: Storage-as-a-Service, Database-as-a-Service, Information-as-a-Service, Process-as-a-Service , Integration-as-a-Service, Testing-as-a-Service, etc. There are, for example, numerous cloud storages for Storage-as-a-Service files: Amazon Simple Storage Service (Amazon S3), DropBox, Google Drive, Microsoft OneDrive, etc.

How are cloud computing and technology used in education? Google offers educational institutions cloud applications Google Apps for education for e-education. Microsoft provides users of educational institutions with the capabilities of cloud services Office 365 for education (Windows Azure in education). The introduction of cloud computing (Cloud Computing) in schools and universities will provide schoolchildren and students with a very comfortable learning experience.

Prospects for the spread of cloud computing, taking into account their current development, are outlined in the analytical work "Where are the "clouds" on the compress.

In conclusion, it should be noted once again that all cloud computing service models must comply with the main characteristics of cloud computing, outlined in "The NIST Definition of Cloud Computing", which distinguish them from other types of Internet resources.

To make sure that the Internet resources offered to you belong to one of the cloud computing models, compare their characteristics with the main characteristics of cloud computing proposed by the National Institute of Standards and Technology (on-demand self-service; single resource sharing pool; instant elasticity or scalability; payment only for actually used services; universal network access).

This section shows how cloud computing can be used to teach the basics of programming. A detailed example of working with a Web service is given that allows you to create and debug training programs in any programming language using the cloud service of the site http://ideone.com.

Modern programming practice involves the active use of specialized integrated development tools (IDE - Integrated Development Environment). Their use is associated with the following two difficulties:

  • Setting up and installing an IDE requires a highly skilled system administrator.
  • Modern IDEs are quite demanding on the resources of the computer on which they are used.

Let's explain each point in detail. To ensure the full functionality of the IDE, it is required that the qualifications of the system administrator who installs, configures and maintains the IDE is high enough. This leads to the need to hire highly qualified employees for the position of system administrator in educational institutions, whose salaries can be a significant item of expenditure in the budget of an educational institution.

Moreover, the cost of an educational institution may increase due to the fact that modern IDEs require high-performance computers. For example, one of the most common IDEs, Microsoft Visual Studio 2012, requires a 1.6 GHz or higher processor, 1 GB of RAM (or 1.5 GB for a virtual machine), 10 GB of free disk space for normal operation. Most of the tasks of educational institutions do not require computers with such high performance, so buying them can be an unaffordable luxury.

Both of these problems can be solved by using cloud technologies in teaching programming. Currently, there are a large number of so-called online IDEs that do not require installation on the user's computer and require only an Internet browser to run. System requirements browsers to computer hardware have traditionally been modest. For example, the popular Mozilla Firefox 17 Web browser requires a processor of 1300 MHz, 512 MB of FSC and 200 MB of free disk space for installation, which is significantly less than the figures given earlier for the Microsoft Visual Studio 2012 IDE.

Let's consider below how you can use the online IDE in educational institutions to teach the basics of programming using the example of http://ideone.com. This service allows you to create online texts of programs in different programming languages ​​and run these programs for execution with the ability to analyze the results. The main working elements of Ideone are shown in fig. 2.1.


Rice. 2.1.

In field " BUT" you must enter the text of the program, and in the field " IN" you need to select the one you use programming language, then you need to press the button " send". It states that Ideone supports the following 55 popular programming languages: Ada , Assembler , AWK , Bash , bc, Brainf**k, C, C#, C++, C++ 0x, C99 strict , CLIPS , Clojure, COBOL , Common Lisp (clisp), D (dmd), Erlang, F#, Factor, Falcon, Forth , Fortran, Go , Groovy, Haskell, Icon , Intercal, Java , JavaScript, Lua, Nemerle, Nice, Nimrod, Node.js, Objective- C, Ocaml, Oz, PARI/GP, Pascal, Perl, PHP, Pike, Prolog, Python, R, Ruby, Scala, Scheme (guile), Smalltalk, SQL, Tcl, Text, Unlambda, VB.NET, Whitespace Obviously that this list is enough for teaching the basics of programming in almost any educational institution in the world.Moreover, when using the ideone.com service, the teacher has the opportunity to use several programming languages ​​​​at the same time without having to support the work of several IDEs.

Let's use an example to show how group work can be organized when teaching the basics of programming. Figure 2.2 illustrates how to run a simple C program. As you can see, the text of the program uses syntax highlighting, similar to what users are accustomed to using in regular offline IDEs. However, if desired, the backlight can be turned off using the " BUT". Using the control " IN" you can specify a list of input data for the program, which allows you to implement more complex logic of the program than in the above example.

Very important is the control " FROM", which allows you to personalize the work with the program. This feature is extremely valuable when organizing the educational process. If the teacher asks all students to register in Ideone (or use their Facebook account to log in), then it becomes possible to make the process of working with the program collective, and the process of collaborative work with the program will be carried out using modern technologies Web 2.0.We will talk about this in more detail using Fig. 2.3.

This control allows select from list on the right side of the screen is one of the widgets of popular social networking sites.

Unfortunately, Ideone's online IDE does not allow you to implement all of the features of traditional offline IDEs. For example, it is not possible to use the functions of working with the network, accessing files, and some others. It is also impossible to run the program lead time which will take more than 15 seconds or the RAM requirements will exceed 256 MB, or the size of the program will exceed 64 KB. All these limitations are serious enough if you plan to use Ideone for professional software development. However, for educational purposes, these restrictions are more than acceptable. In addition, for more demanding teachers, there are paid and free services similar to Ideone, which at the same time implement the functionality of traditional offline to a greater extent - analysis of execution results in console mode, compilation for different platforms and operating systems can be done online. Ideally, the end of the programmer's work will be downloading ready-made binary files with a running program. This approach saves disk space used offline, and also allows you to compile the project much faster than at the user's workplace, if this workplace is equipped with outdated hardware. The result of this is a possible financial savings for the educational institution.

However, in addition to the economic effect, you can get significant benefits in the organization of the educational process. Students get the opportunity to co-edit software projects while at home. This allows you to implement complex course projects and laboratory work with significant savings on the implementation of organizational measures on the part of the teacher.

What is hidden behind the same type of abbreviations like XaaS?

Looking through the news of cloud technologies, readers are faced with different definitions and designations, the meaning of which may not be immediately clear. Not to mention the same type of abbreviations for cloud services, which sometimes confuse even specialists working in the IT field. Therefore, we decided to collect basic definitions in one place, the knowledge of which will help you read materials on the topic of cloud technologies and understand them without being distracted by search engines or Wikipedia.

For convenience, we have divided the terms into several categories, briefly describing the most important in each of them. Of course, not all definitions are given in our article, but even this list is enough to navigate the world of cloud technologies relatively freely.

Clouds. General terms

Cloud computing in simple terms, this is a scenario in which a user is granted access to computing resources such as servers, networks, storage systems, applications, and services over a network, most commonly the Internet.

public cloud infrastructure that provides the ability to use cloud computing to a wide range of users. Usually owned by a commercial organization.

Private (private) cloud as the name suggests, is an infrastructure owned by a single organization that allows cloud computing to be used solely for its purposes.

hybrid cloud combines features of a private and public cloud. With this approach, part of the infrastructure belongs to the client, and part is rented. Communication between the two structures is provided using data transfer technologies.

Hardware

Data processing center (DPC) a specialized stand-alone building to accommodate various server and network equipment, accessed via the Internet. In addition to providing redundant power and communication channels, such a building must have qualified personnel to ensure constant monitoring and maintenance of all systems.

Server a specialized computer used to run applications and services that support the IT infrastructure.

cluster several servers connected by communication channels and presented to the user as a single hardware resource.

Data storage systems (SHD) software and hardware solution that allows you to consolidate all disk space within a single system. In addition to general fault tolerance and constant monitoring of its own state, storage systems support many useful features, such as data replication at the array level.

replication the process of copying data in order to synchronize it to one or more objects. Allows you to protect information from loss in the event of equipment failure.

network switch ( switch) a device that allows you to connect several nodes of a computer network. Works at the L2 layer of the OSI model.

network router ( router) a device that has several network interfaces and allows data to be transferred between different network segments. The rules based on which packets will be transmitted are configured by the administrator. Works at L3 layer, OSI model.

Virtualization

Virtualization a technology that allows the provision of computing resources that are abstracted from the hardware and yet logically isolated from each other. That is, on one physical server, you can create many virtual ones that will work independently.

hypervisor a program that allows you to implement virtualization technology. The hypervisor manages and configures virtual machines, as well as networks, software switches, and routers.

Virtual machine analogue of a physical computer implemented in a virtual environment. The concepts of "virtual machine" and "virtual server" differ only in the final destination, but in fact they are one and the same.

Services in the field of cloud technologies

Separately, it is worth describing the main services provided on the basis of virtual technologies. A large group of such services are grouped together under the acronym XaaS, which stands for "anything as a service." All these services are based on the main three: PaaS, SaaS, IaaS.

PaaS ( platform as a Service - platform as a service) a type of cloud computing that is provided to the customer in the form of a ready-made software platform that includes various tools and allows you to customize them. Essentially, this platform can be anything: a testing environment, a database management system, or process automation. At the same time, such a platform is managed and maintained by a service provider.

SaaS ( Software as a Service - software as a service) this is probably the most common type of service based on cloud technologies. It consists in providing the customer with any programs that are located in the cloud of the service provider. A prime example is a Google email account or, for example, the Microsoft Office 365 package.

IaaS (InfrastructureasaService - infrastructure as a service) type of cloud service, which consists in the lease by the customer of a pool of computing resources of the service provider as a virtual infrastructure. These can be virtual servers, data storage systems, various network elements, as well as any combination of these components.

But besides the basic ones, there are many other cloud services. Let's take a closer look at them:

DRaaS (DisasterRecoveryasaService - disaster recovery as a service) a service to provide the customer with the ability to restore the functionality of their own virtual structure in the service provider's cloud in the event of an accident or disaster. Services of this type help to eliminate the impact of serious failures on the business, which means that they are most in demand by companies for which the operation of applications and services is a critical parameter.

BaaS (BackupasaService - backup as a service) a service to provide the customer with a platform and tools for organizing the procedure for backing up data to the cloud. The implementation of this service depends on many factors, such as the amount of backed up data, the bandwidth of communication channels, as well as the redundancy scheme and archive depth. This is convenient for companies that have a large amount of critical data, but organizing their own reliable backup system is unprofitable.

BaaS (backendasaService - backend as a service)- a set of ready-made server functionality that allows you to simplify and speed up application development. In other words, this is a full-fledged development environment hosted in the cloud, which means that it allows you to use all the advantages of the technology, such as, for example, unlimited scalability.

MaaS ( Monitoring as a Service - monitoring as a service) a relatively new type of cloud service, which consists in organizing monitoring of one's own infrastructure using software tools hosted in the service provider's cloud. As in many other cases, this solution allows you to use the most advanced software tools without buying them and organizing administration.

DBaaS ( Data Base as a Service - database as a service) a service that allows clients to connect to a database located in the cloud. At the same time, the cost of the solution is calculated based on the volume of the database and the number of client connections. The main advantages of such a solution, of course, will be scaling and the absence of the need to ensure data security.

Haas ( Hardware as a Service - equipment as a service) — a service for providing computing power from the cloud. In fact, instead of buying an iron server, the client can rent it, while it will be located at the site of the service provider, which will ensure power backup and timely maintenance.

NaaS ( network as a Service - network as a service) — a service for providing network infrastructure as an alternative to your own network. NaaS capabilities allow you to use routing tools, as well as increase or decrease the bandwidth of the channel.

STaaS ( Storage as a Service - storage as a service) is a service for providing disk space in the cloud. For the user, this solution looks like an additional logical drive or just a network folder. The advantage of STaaS is the availability of redundancy as a prerequisite for any service provider.

DaaS (DesktopasaService - desktop as a service)- a service that consists in providing the user with a remote desktop. Unlike the local one, the remote desktop can have really powerful technical characteristics, this allows you to use applications of various levels without being tied to the capabilities of your desktop PC.

CaaS ( Communications as a Service - communication as a service) — a service for providing communication tools in the cloud. In other words, this service allows you to organize telephony, instant messaging or, for example, the ability to conduct video conferences by the service provider.

CaaS ( Container as a Service - container as a service) is a type of service that has become increasingly popular in recent years. It consists in providing the client with the ability to organize, start or stop the container using the web interface or API tools.

Conclusion

In this article, we looked at the basic concepts that allow you to better navigate the world of cloud computing, and also analyzed most of the services provided on their basis. We hope that this information will be helpful.

The term "cloud technology" is now on everyone's lips. An active discussion of the possible nuances of working with such technologies is conducted both at the forums of large Internet companies and among novice users. And there really is a lot to discuss.

Every day in search engines, computer owners are increasingly asking the question “what is cloud computing”. This is not surprising, because more and more users are learning about this innovation. A good example is anti-virus software. New versions of Norton Internet Security, Kaspersky and many others in the settings offer to activate the protection from the cloud option. Since curiosity is inherent in human nature itself, it is quite logical that people are becoming interested in cloud technologies.

Alas, something revolutionary should not be expected. In part, these technologies have existed on the Web for a long time, they just lacked an accurate and capacious definition, systematization and understanding of potential opportunities. Cloud computing is a way of processing digital data outside the environment of the initiating computer. Since many people get acquainted with the term thanks to anti-virus applications, let's consider the work of "clouds" using the example of this group of programs.

Let's imagine that an anti-virus application encounters suspicious program code, which is not described in the virus databases. If the user does not know what cloud technologies are and has not allowed their use (tick in the settings), then the antivirus will try to localize the suspicious file until the databases are updated. Everything is completely different if cloud technologies are activated. In this case, information about the strange code is automatically transmitted to the server of the anti-virus program developer, where it is promptly checked by specialists for potential danger. If the threat is confirmed, all computers connected to this resource are sent instructions on how to neutralize the threat. The result is an unprecedented speed of response to the emergence of new viruses. What is cloud technology in this example? The answer lies in processing suspicious code on the developer's servers, outside the computers of ordinary users. This is the key feature.

Cloud technologies give a second life to low-powered computing devices. Let's assume that we have a calculator that has access to the Internet and is connected to a specialized "cloud" consisting of clusters of high-performance computers. We can perform elementary operations on our own, but what if complex calculations are necessary? In this case, the calculator sends the task data to the cloud service, and in return receives a ready-made solution. For the user, the actions that took place between the set of commands and the receipt of the response went unnoticed. After all, the main thing is the result, and it was achieved. Of course, a calculator is an extreme, but, on the other hand, it is easier to understand the principle of operation.

In addition to such non-obvious clouds, there are special services that largely replace full-fledged applications on a local computer. For example, the user needs to edit a text file in the Word program. To do this, you will need to purchase the program itself (and the licensed version is not cheap), allocate free disk space on the media, connect the necessary modules. Of course, all this can be solved, but what if there are a lot of computers (enterprise)? Spend money on a purchase It is much easier to use a cloud service that provides access to certain programs hosted on its sites. The user needs to go to the desired site through a browser, remotely launch Word and open their file for editing. By the way, convenient interfaces are usually implemented in this way.

The benefits of cloud technologies can be listed for a long time. There are fewer cons, but they are significant: reduced privacy and dependence on the work of a third-party resource.

Share