Облачные технологии основные возможности и недостатки. Общепринятая классификация моделей развертывания. Сколько все это стоит

Интернет закрепился в нашей жизни. Многие пользователи уже не представляют свою жизнь без компьютера. Естественно, с каждым годом технологи усовершенствуются. И для активных пользователей глобальной сети появилась такая полезная технология, как облачный сервер. Что это такое? Для чего он нужен?

Облачные технологии - это...

Сегодня очень часто можно услышать о такой функции, как облачное вычисление. Название подобных серверов произошло от графической картинки, которая используется для обозначения технологий.

Облачные технологии - это возможность иметь доступ к данным, не устанавливая специальных приложений на устройстве. Все необходимое обеспечение пользователям предоставляют серверы. А вот придется платить за этот удаленный доступ к данным или нет, напрямую зависит от запросов.

Чем облачные технологии отличаются от обычных?

Чтобы более понятно объяснить разницу между обычными технологиями и облачными хранилищами, можно взять для примера электронную почту. Тот случай, когда почтовый клиент, такой как Outlook, уже установлен на компьютере пользователя, а все данные, получаемые на электронную почту, сохраняются на жесткий диск, считается обычной IT-технологией. То есть пользователь сам может распоряжаться полученными файлами и решать, что с ними делать. А почтовый клиент будет работать ровно до того момента, пока работает компьютер.

А вот электронная почта, которая открывается с помощью браузера, - это уже облачная технология. То есть пользователь, не устанавливая ничего на устройство, может получить доступ к своему электронному адресу. При этом если с сервером, на котором хранятся все данные, что-нибудь случится, то доступ к электронной почте будет утерян.

За что придется платить при использовании облака?

Облачный сервер - технология не полностью бесплатная. Есть моменты, когда пользователю придется платить за предоставление услуги облачного хранилища. Все серверы делятся на три типа, которые взимают плату за разные функции.

  • IaaS - модель облака, которая требует плату за предоставление удаленного доступа к хранилищу. То есть пользователь платит только за доступ к серверу.
  • При использовании облака PaaS придется платить не только за доступные ресурсы, но и за доступ к специальному программному обеспечению для обработки данных.
  • SaaS - хранилище, которое предоставляет доступ к целому комплексу программного обеспечения, за которое, конечно, придется платить немалую абонентскую плату.

Положительные стороны

Использование облачных технологий имеет ряд преимуществ, которые являются довольно существенными.

Молодым предприятиям очень выгодно использовать облачные серверы. Им не придется заботиться о покупке своего серверного оборудования, тратиться на построение локальной сети, нанимать сисадминов. Достаточно просто выбрать один из облачных серверов, который идеально подходит по размеру памяти, количеству клиентов и другим характеристикам, и платить раз в месяц абонентскую плату.

Облачные технологии - это возможность получить доступ к необходимой информации при помощи обычного браузера из любой точки планеты. Работоспособность больше не будет волновать клиента, так как за ней следят те, кому платит пользователь за облачное хранилище. Подобные системы пользуются спросом у корпоративных пользователей, которым необходимо наладить документооборот в сети предприятий.

Для обычных пользователей, которые просто не хотят засорять компьютер лишней информацией, существуют бесплатные облачные серверы, которых будет вполне достаточно.

Негативные моменты

Конечно, новые облачные технологии имеют и ряд недостатков.

Во-первых, конфиденциальные данные, которые передаются с помощью облачного хранилища, могут быть перехвачены хакерами. Качество интернет-подключения должно быть очень высоким. При перебоях с интернетом доступ к данным на «облаках» будет невозможен. При этом большим предприятиям все-таки необходим системный администратор для налаживания передачи данных.

Если клиент захочет сэкономить и отдаст предпочтение более дешевому серверу, то ему придется столкнуться с проблемами работоспособности. Дешевые облачные хранилища имеют не очень хорошую аппаратную инфраструктуру, в которой регулярно появляются неполадки, а их исправление занимает немало времени.

Если использование облачных технологий планируется долгосрочным, то это может обойтись намного дороже, чем установка собственного локального сервера. Особенно, если для работы выбрана облачная технология с широким спектром возможностей, такая как SaaS.

Обзор облачных хранилищ

Облачные технологии - это хранилища, которые можно разделить на три вида сервиса:

  • Создание инфраструктуры.
  • Платформенные сервисы.
  • Сервисы программного обеспечения.

Это подразделение поможет с выбором облачного сервера для хранения данных.

Windows Live SkyDrive подойдет для тех, кому необходим большой объем данных. Он позволяет хранить информацию размером до 25 Гбайт. При этом ограничения на формат файлов нет. Однако для некоторых типов существуют ряд преимуществ. Так, например, при хранении документов Office предоставляется возможность их редактирования сразу в браузере.

Dropbox получил более широкое распространение, чем Windows Live SkyDrive, хотя имеет гораздо меньший объем информации - всего лишь 2 Гбайт. Достаточно установить одно приложение на устройство, чтобы иметь удаленный доступ.

Специальный сервер существует даже для хранения музыки. Это Grooveshark, который считается одним из самых популярных облачных хранилищ для музыкальных файлов.

Что скрывается за однотипными аббревиатурами типа XaaS?

Просматривая новости облачных технологий, читатели сталкиваются с разными определениями и обозначениями, смысл которых может быть понятен не сразу. Не говоря уже об однотипных аббревиатурах облачных сервисов, в которых порой путаются даже специалисты, работающие в сфере IT. Поэтому мы решили собрать в одном месте базовые определения, знание которых поможет читать материалы на тему облачных технологий и понимать их, не отвлекаясь на поисковики или Wikipedia.

Для удобства мы разделили термины на несколько категорий, кратко описав самое важное в каждой из них. Конечно, в нашей статье приведены далеко не все определения, но даже этого списка хватит, чтобы относительно свободно ориентироваться в мире облачных технологий.

Облака. Общие термины

Облачные вычисления если говорить простым языком, это сценарий, согласно которому пользователю предоставляется доступ к вычислительным ресурсам, таким как серверы, сети, системы хранения данных, приложения и сервисы, посредством сети, чаще всего через интернет.

Публичное облако инфраструктура, предоставляющая возможность использования облачных вычислений большому кругу пользователей. Обычно принадлежит коммерческой организации.

Частное (приватное) облако как следует из самого названия, является инфраструктурой, принадлежащей одной организации и позволяющей использовать облачные вычисления исключительно в ее целях.

Гибридное облако совмещает признаки частного и публичного облака. При таком подходе часть инфраструктуры принадлежит клиенту, а часть арендуется. Связь двух структур обеспечивается с помощью технологий передачи данных.

Аппаратная часть

Центр обработки данных (ЦОД) специализированное отдельно стоящее здание для размещения различного серверного и сетевого оборудования, доступ к которому осуществляется через интернет. Помимо обеспечения резервирования питания и каналов связи, в таком здании обязательно работает квалифицированный персонал, обеспечивающий постоянный мониторинг и обслуживание всех систем.

Сервер специализированный компьютер, используемый для работы приложений и сервисов, обеспечивающих работу ИТ-инфраструктуры.

Кластер несколько серверов, соединенных каналами связи и представленных пользователю в виде одного аппаратного ресурса.

Системы хранения данных (СХД) программно-аппаратное решение, позволяющее консолидировать все дисковое пространство в рамках одной системы. Помимо общей отказоустойчивости и постоянного мониторинга собственного состояния СХД поддерживают множество полезных функций, таких, например, как репликация данных на уровне массива.

Репликация процесс копирования данных с целью их синхронизации на один или несколько объектов. Позволяет обезопасить информацию от потери в случае выхода из строя оборудования.

Сетевой коммутатор ( Switch) устройство, позволяющее соединять несколько узлов компьютерной сети. Работает на уровне L2 модели OSI.

Сетевой маршрутизатор ( Router) устройство, имеющее несколько сетевых интерфейсов и позволяющее передавать данные между различными сегментами сети. Правила, на основании которых будет осуществляться передача пакетов, настраиваются администратором. Работает на уровне L3, модели OSI.

Виртуализация

Виртуализация технология, позволяющая предоставлять вычислительные ресурсы, абстрагированные от аппаратной части и при этом логически изолированные друг от друга. То есть на одном физическом сервере можно создать много виртуальных, которые будут работать независимо.

Гипервизор программа, позволяющая реализовать технологию виртуализации. С помощью гипервизора происходит управление и настройка виртуальных машин, а также сетей, программных коммутаторов и маршрутизаторов.

Виртуальная машина аналог физического компьютера, реализованный в виртуальной среде. Понятия «виртуальная машина» и «виртуальный сервер» имеют отличия только в конечном назначении, а по сути являются одним и тем же.

Услуги в сфере облачных технологий

Отдельно стоит описать основные сервисы, предоставляемые на базе виртуальных технологий. Большая группа таких сервисов объединяется под аббревиатурой XaaS, которая расшифровывается «что угодно как сервис». В основе всех этих услуг лежат основные три: PaaS, SaaS, IaaS.

PaaS ( Platform as a Service — платформа как услуга) такой вид облачных вычислений, который предоставляется заказчику в виде готовой программной платформы, включающей в себя различные инструменты, и позволяет настраивать их. По сути, эта платформа может быть чем угодно: средой тестирования, системой управления базами данных или автоматизации процессов управления. При этом такая платформа управляется и обслуживается сервис-провайдером.

SaaS ( Software as a Service — программное обеспечение как услуга) это, наверное, самый распространенный вид сервиса, работающий на базе облачных технологий. Заключается он в предоставлении заказчику в пользование каких-либо программ, которые расположены в облаке сервис-провайдера. В качестве яркого примера можно привести ящик электронной почты Google или, например, пакет Microsoft Office 365.

IaaS (Infrastructure as a Service — инфраструктура как услуга) тип облачной услуги, который заключается в аренде заказчиком пула вычислительных ресурсов сервис-провайдера в качестве виртуальной инфраструктуры. Это могут быть виртуальные серверы, системы хранения данных, различные сетевые элементы, а также любая совокупность этих компонентов.

Но помимо базовых существует много других облачных услуг. Давайте взглянем на них поближе:

DRaaS (Disaster Recovery as a Service — аварийное восстановление как услуга) услуга по предоставлению заказчику возможности восстановления работоспособности собственной виртуальной структуры в облаке сервис-провайдера в случае аварии или катастрофы. Услуги такого типа помогают исключить влияние серьезных сбоев на бизнес, а значит, наиболее востребованы компаниями, для которых работа приложений и сервисов является критичным параметром.

BaaS (Backup as a Service — резервное копирование как услуга) услуга по предоставлению заказчику площадки и инструментов для организации процедуры резервного копирования данных в облако. Реализация этого сервиса зависит от многих факторов, таких как объем резервируемых данных, пропускная способность каналов связи, а также схема резервирования и глубина архива. Это удобно для компаний, в которых есть большой объем критично важных данных, но организация собственной надежной системы резервирования является нерентабельной.

BaaS (Backend as a Service — бэкэнд как услуга) — набор готовой серверной функциональности, который позволяет упростить и ускорить разработку приложений. Другими словами, это полноценная среда разработки, размещенная в облаке, а значит, позволяющая пользоваться всеми плюсами технологии, такими как, например, неограниченная масштабируемость.

MaaS ( Monitoring as a Service — мониторинг как услуга) относительно новый тип облачной услуги, который заключается в организации мониторинга собственной инфраструктуры с помощью программных средств, размещенных в облаке сервис-провайдера. Как и во многих других случаях, такое решение позволяет использовать самые продвинутые программные инструменты, при этом не покупая их и не организовывая администрирование.

DBaaS ( Data Base as a Service — база данных как услуга) сервис, позволяющий клиентам подключаться к базе данных, расположенной в облаке. При этом стоимость решения рассчитывается исходя из объема базы и количества подключений клиентов. Основными плюсами такого решения, конечно, будут масштабирование и отсутствие необходимости обеспечивать безопасность данных.

HaaS ( Hardware as a Service — оборудование как услуга) — услуга по предоставлению вычислительных мощностей из облака. По сути, вместо покупки железного сервера клиент может взять его в аренду, при этом находиться оно будет на площадке сервис-провайдера, что обеспечит резервирование питания и своевременное обслуживание.

NaaS ( Network as a Service — сеть как услуга) — услуга по предоставлению сетевой инфраструктуры в качестве альтернативы собственной сети. Возможности NaaS позволяют пользоваться инструментами маршрутизации, а также увеличивать или уменьшать пропускную способность канала.

STaaS ( Storage as a Service — хранилище как услуга) это услуга по предоставлению дискового пространства в облаке. Для пользователя такое решение выглядит как дополнительный логический диск или просто сетевая папка. Плюсом STaaS является наличие резервирования как обязательного условия у любого сервис-провайдера.

DaaS (Desktop as a Service — рабочий стол как услуга) — услуга, которая заключается в предоставлении пользователю удаленного рабочего стола. В отличие от локального, удаленный рабочий стол может обладать действительно мощными техническими характеристиками, это позволяет использовать приложения различного уровня без привязки к возможностям своего настольного ПК.

CaaS ( Communications as a Service — коммуникация как услуга) — услуга по предоставлению средств коммуникации в облаке. Другими словами, этот сервис позволяет организовать телефонию, передачу мгновенных сообщений или, например, возможность проводить видеоконференции силами сервис-провайдера.

CaaS ( Container as a Service — контейнер как услуга) — тип услуги, который в последнее время становится все более популярным. Заключается он в предоставлении клиенту возможности организовать, запустить или остановить контейнер с помощью веб-интерфейса или средств API.

Заключение

В этой статье мы рассмотрели основные понятия, позволяющие лучше ориентироваться в мире облачных технологий, а также разобрали большую часть услуг, предоставляемых на их основе. Надеемся, что эта информация будет вам полезна.

Проведенный в США социологический опрос показал — 54% опрошенных твердо уверены, что они никогда не пользовались облачными технологиями. На самом деле ситуация совершенно иная – более 95% пользователей интернета использует облачные технологии, даже не подозревая об этом. Вы используете их, когда смотрите онлайн-видео, играете в онлайн-игры, скачиваете музыку через iTunes, просматриваете почту на Gmail или заходите на Facebook.

Вот так, на наших глазах, и совершенно для нас незаметно, произошла революция в области компьютерных технологий.
Мы используем все более мощные и ресурсоемкие программы, которые требуют для своей работы все более мощное железо. Мы вынуждены оперировать все большими объемами данных, и эти данные нужно где-то хранить. Но если задуматься, то эта супермощная программа нами не так уж часто используется, а без нее можно было бы купить компьютер попроще (как самостоятельно ). Да и терабайты данных нам тоже нужны не каждый день.

Вот примерно такой логикой (только, конечно, на более высоком уровне) руководствовался в 2006 году Эрик Шмидт, бывший тогда главой , предлагая новую модель компьютерных технологий. Собственно ничего принципиально нового он не предложил, распределенные вычисления широко использовались и до этого, но он ввел в обращение термин «облако» и после его выступления, предложенная им модель стала стремительно развиваться.

В современных центрах обработки данных сосредоточены колоссальные вычислительные мощности и огромные объемы дискового пространства. Современное программное обеспечение и каналы связи позволяют серверам, расположенным на разных континентах, работать как единое целое. Нужно лишь создать удобную систему доступа, и тогда весь массив этой мощи можно предоставлять тем, кто в нем нуждается. Средства виртуализации позволяют разделять вычислительные мощности на отдельных потребителей в любых пропорциях.

И такая система доступа была разработана. Теперь пользователь может получить доступ к удаленным вычислительным ресурсам через web-сервис.
В корпоративном секторе уже работают и стремительно развиваются несколько направлений облачных технологий.

Виды облачных технологий

Первый, самый нижний уровень – это предоставление в качестве услуги права пользования программным обеспечением (SaaS). Потребителю не нужно покупать дорогой софт и мощную рабочую станцию, на которой он может работать. Не нужно содержать специалистов, которые будут устанавливать, настраивать и содержать все это хозяйство. Он просто берет в аренду право пользования этим программным обеспечением и оплачивает только время, которое он использовал. Причем работать он может на любом устройстве, имеющем доступ в интернет, будь то хоть планшет или даже смартфон. Ведь все вычисления производятся на облачной стороне у провайдера, а на устройство пользователя выдаются только результаты.

Следующий уровень – это предоставление в качестве услуги платформы. При этом потребитель получает в свое распоряжение операционные системы, системы управления базами данных или средства разработки и отладки, на которых он может разрабатывать и разворачивать свои проекты.

И наконец, на высшем уровне потребителю предоставляется в облачном варианте вся инфраструктура крупной корпоративной компьютерной сети.
Ну а что имеем от облачных технологий мы, простые пользователи. Мы уже упоминали, что часто пользуемся сервисами, развернутыми в облаках, сами о том не зная. Помимо этого в нашем распоряжении десятки различных облачных хранилищ. Все они предлагают примерно одинаковые по функциональности услуги.

Обычно пользователю предлагается скачать и установить небольшую программу и создать папку, для хранения файлов, которые вы хотите разместить в облачном хранилище. Необходимо настроить параметры синхронизации файлов и папок, находящихся на локальном компьютере (как ) и в облаке. Все, что будет храниться в облаке, будет вам доступно с любого устройства через web-интерфейс. Вы можете открыть свободный доступ к папке или файлу любому человеку, послав ему соответствующую ссылку.

Рассмотрим несколько самых популярных хранилищ

Windows 8 и Windows Phone 8 уже создавались с прицелом на использование облачных технологий, то же самое можно сказать и об операционных системах от Apple. 90% исследовательского бюджета компании Microsoft используется на развитие именно этой области. Значит, темпы развития облачных технологий будут только нарастать.

Понятие «Облачные технологии»

Облачные технологии - это технологии обработки данных, в которых компьютерные ресурсы предоставляются Интернет - пользователю как онлайн - сервис. Слово «облако» здесь присутствует как метафора, олицетворяющая сложную инфраструктуру, скрывающую за собой все технические детали.

Облачные (рассеянные) вычисления (англ. cloud computing, также используется термин Облачная (рассеянная) обработка данных) -технология обработки данных, в которой компьютерные ресурсы и мощности предоставляются пользователю как Интернет - сервис. Пользователь имеет доступ к собственным данным, но не может управлять и не должен заботиться об инфраструктуре, операционной системе и собственно программном обеспечении, с которым он работает. Термин «Облако» используется как метафора, основанная на изображении Интернета на диаграмме компьютерной сети, или как образ сложной инфраструктуры, за которой скрываются все технические детали. Согласно документу IEEE, опубликованному в 2008 году, «Облачная обработка данных -- это парадигма, в рамках которой информация постоянно хранится на серверах в интернет и временно кэшируется на клиентской стороне, например, на персональных компьютерах, игровых приставках, ноутбуках, смартфонах и т. д.».

Облачная обработка данных как концепция включает в себя понятия:

  • 1) инфраструктура как услуга
  • 2) платформа как услуга
  • 3) программное обеспечение как услуга
  • 4) данные как услуга
  • 5) рабочее место как услуга

и другие технологические тенденции, общим в которых является уверенность, что сеть Интернет в состоянии удовлетворить потребности пользователей в обработке данных.

Для облачных технологий самой главной особенностью является неравномерность запроса Интернет - ресурсов со стороны пользователей. Чтобы сгладить данную неравномерность и применяется еще один промежуточный слой - виртуализация сервера . Таким образом, нагрузка распределяется между виртуальными серверами и компьютерами.

Облачные технологии - это одна большая концепция, включающая в себя много разных понятий, предоставляющих услуги. Например, программное обеспечение, инфраструктура, платформа, данные, рабочее место и т.п. Зачем все это нужно? Самой главной функцией облачных технологий является удовлетворение потребностей пользователей, нуждающихся в удаленной обработке данных.

Что же не считают облачными вычислениями? Во-первых, это автономные вычисления на локальном компьютере. Во-вторых, это "коммунальные вычисления" (utilitycomputing), когда заказывается услуга исполнения особо сложных вычислений или хранения массивов данных. В-третьих, это коллективные (распределённые) вычисления (gridcomputing). На практике границы между всеми этими типами вычислений достаточно размыты. Однако будущее облачных вычислений всё же значительно масштабнее коммунальных и распределённых систем.

Облачное хранилище данных (англ.cloudstorage) -- модель онлайн-хранилища, в котором данные хранятся на многочисленных распределённых в сети серверах, предоставляемых в пользование клиентам, в основном, третьей стороной. В противовес модели хранения данных на собственных выделенных серверах, приобретаемых или арендуемых специально для подобных целей, количество или какая-либо внутренняя структура серверов клиенту, в общем случае, не видна. Данные хранятся, а равно и обрабатываются, в так называемом облаке, которое представляет собой, с точки зрения клиента, один большой виртуальный сервер. Физически же такие серверы могут располагаться удалённо друг от друга географически, вплоть до расположения на разных континентах.

Для того чтобы понять что такое «облако» стоит начать с истории данного вопроса. Необходимо понять: действительно ли эта технология находится в разряде новых идей или эта идея не так уж и нова.

В этом разделе показано, как можно использовать облачные вычисления при обучении основам программирования. Приводится подробный пример работы с Web -сервисом, позволяющим создавать и отлаживать учебные программы на любом языке программирования с помощью облачного сервиса сайта http://ideone.com .

Современная практика программирования предполагает активное использование специализированных интегрированных средств разработки ( IDE – Integrated Development Environment ). Их использование связано со следующими двумя сложностями:

  • Настройка и установка IDE требует высокой квалификации системного администратора.
  • Современные IDE достаточно требовательны к ресурсам вычислительной машины, на которой они используются.

Поясним каждый пункт подробно. Для обеспечения полнофункциональной работы IDE требуется, чтобы квалификация системного администратор , осуществляющего установку, настройку и поддержку IDE была достаточно высока. Это приводит к необходимости нанимать в учебные заведения на должность системного администратора высококвалифицированных сотрудников, заработная плата которых может оказаться существенной статьёй расходов в бюджете образовательного учреждения.

Более того, затраты образовательного учреждения могут возрасти вследствие того, что современные IDE требуют наличия высокопроизводительных вычислительных машин. Например, одна из самых распространенных IDE Microsoft Visual Studio 2012 требует для нормальной работы процессор мощностью 1,6 ГГц или выше, 1 ГБ ОЗУ (или 1,5 ГБ для виртуальной машины), 10 ГБ свободного дискового пространства . Для большинства задач образовательных учреждений не требуется компьютеров с такой высокой производительностью, поэтому их покупка может оказаться недопустимой роскошью.

Обе указанные проблемы позволяет решить применение облачных технологий при обучении программированию. В настоящее время существуют большое количество так называемых онлайн - IDE , которые не требуют установки на компьютер пользователя и которые требуют для запуска лишь наличие Интернет -браузера. Системные требования браузеров к оборудованию вычислительной машины традиционно являются скромными. Например, популярный Веб- браузер Mozilla Firefox 17 требует для установки процессор от 1300 МГц, 512 МБ ОЗЦ и 200 МБ свободного дискового пространства , что существенно меньше приведённых ранее цифр для IDE Microsoft Visual Studio 2012.

Рассмотрим ниже, как можно использовать онлайн - IDE в учебных заведениях для обучения основам программирования на примере http://ideone.com . Этот сервис позволяет в режиме онлайн создавать тексты программ на разных языках программирования и запускать эти программы на исполнение с возможностью анализа полученных результатов. Основные рабочие элементы Ideone показаны на рис. 2.1 .


Рис. 2.1.

В поле "А " необходимо ввести текст программы, а в поле "В " нужно выбрать используемый язык программирования , затем нужно нажать кнопку "Отправить ". В указано, что Ideone поддерживает работу со следующими 55 популярными языками программирования: 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. Очевидно, что этого перечня достаточно при обучении основам программирования практически в любом учебном заведении мира. Более того, при использовании сервиса ideone.com у преподавателя появляется возможность использовать при обучении сразу несколько языков программирования без необходимости поддерживать работу нескольких IDE .

Покажем на примере, как может быть организована работа в группе при обучении основам программирования. Рис 2.2 иллюстрирует способ запуска простой программы на языке Си . Как можно видеть, в тексте программы используется подсветка синтаксиса , аналогичная той, что пользователи привыкли использовать в обычных офлайн- IDE . Однако при желании подсветка может быть отключена с помощью элемента управления "А ". С помощью элемента управления "В " можно указать перечень входных данных для программы, что позволяет реализовать более сложную логику работы программы, чем в приведённом примере.

Очень важным является элемент управления "С ", который позволяет персонифицировать работу с программой. Данная возможность крайне ценна при организации учебного процесса. Если преподаватель попросит всех студентов зарегистрироваться в Ideone (или использовать для входа свою учётную запись Facebook), то появляется возможность сделать процесс работы с программой коллективным, а процесс совместной работы с программой будет проходить с использованием современных технологий Web 2.0. Подробнее об этом расскажем, используя рис. 2.3 .

Этот элемент управления позволяет выбрать из списка в правой части экрана один из виджетов популярных сайтов социальных сетей.

К сожалению, онлайн - IDE Ideone позволяет реализовать не все из функций традиционных офлайн- IDE . Например, отсутствует возможность использовать функции работы с сетью, обращения к файлам и некоторые другие. Также невозможно запустить программу, время выполнения которой займёт более 15 секунд или потребности в оперативной памяти превысят 256 МБ, или объём программы превысит 64 КБ . Все эти ограничения являются достаточно серьёзными, если планируется использовать Ideone для разработки профессионального программного обеспечения. Однако для образовательных целей эти ограничения более чем приемлемы. Кроме того, для более требовательных преподавателей существуют платные и бесплатные сервисы, аналогичные Ideone, которые при этом в большей степени реализуют функционал традиционных офлайн- анализ результатов выполнения в консольком режиме, компиляцию под разные платформы и операционные системы можно выполнить в режиме онлайн . В идеале окончанием работы программиста будет скачивание готовых бинарных файлов с работающей программой. Такой подход позволяет сэкономить используемой офлайн дисковое пространство , а также позволяет компилировать проект существенно более быстро, чем на рабочем месте пользователя, если это рабочее место оборудовано устаревшим аппаратным обеспечением. Итогом этого является возможная финансовая экономия для образовательного учреждения.

Однако помимо экономического эффекта, можно получить и существенные преимущества при организации образовательного процесса. Студенты получают возможность совместно редактировать программные проекты, находясь у себя дома. Это позволяет реализовывать сложные курсовые проекты и лабораторные работы с существенной экономией на осуществление организационных мероприятий со стороны преподавателя.