Файл: Облачные сервисы (Повышение эффективности облачных технологий).pdf
Добавлен: 25.05.2023
Просмотров: 304
Скачиваний: 3
СОДЕРЖАНИЕ
1. Общая характеристика облачных сервисов
1.1. Понятие, преимущества и недостатки облачных технологий
1.2. Модели облачных сервисов и технологии, лежащие в их основе
1.3. Повышение эффективности облачных технологий
2. Применение облачных сервисов Google в образовательном процессе
2.1. Возможности облачных технологий Google в образовательном процессе
Другой вариант использования облачных услуг, который начинает распространяться в сфере образования, это перемещение в «облако» используемых учреждениями систем управления обучением (LMS, Learning Management Systems). Передача поддержки таких систем, как, например, Blackboard и Moodle, внешним провайдерам имеет смысл для образовательных учреждений, которые не могут позволить себе покупку и поддержку дорогостоящего оборудования и программного обеспечения.
С точки зрения разработчика, облачные вычисления являются освобождением от рутинных и непрофильных задач. Сегодня такие процедуры, как перенос приложения на промышленный сервер и последующая синхронизация изменений между испытательной системой и промышленным сервером, продолжают отнимать у разработчиков много времени и увеличивают вероятность возникновения ошибок и сбоев. Облачные вычисления - в особенности, решения класса PaaS - позволяют свести к минимуму различия между испытательным и промышленным окружением и максимально упростить синхронизацию изменений.
1.3. Повышение эффективности облачных технологий
Недостатки облачных технологий, о которых шла речь выше, предполагает необходимость минимизации соответствующих рисков. Рассмотрим направления повышения эффективности облачных сервисов.
Повышение безопасности.
В настоящее время получают распространение «гибридные облака», которые представляют собой такое внедрение облачных вычислений, при котором часть системы размещается в публичном «облаке», на базе дата-центров облачного провайдера, а часть - в приватном «облаке», на собственных серверных мощностях. Гибридное «облако» не является самостоятельной технологией, а является интеграцией виртуализированных публичных и приватных облачных систем.[8]
Например, такая интеграция эффективна при вынесении системы резервного копирования в публичное «облако». Другой вариант использования гибридного «облака» предполагает установку приложений на внутренних серверах компании с арендой дополнительных мощностей в «облаке» стороннего поставщика на случай непредвиденного повышения нагрузки.
Рис. 1. Схема выполнения запроса при использовании гибридной облачной инфра структуры
Гибридные «облака» позволяют избежать проблем, связанных с потерей контроля над ключевыми данными: они останутся во внутренней сети. Если эти данные и будут передаваться на обработку вовне, то только в таком виде, который не создает угроз для утечки конфиденциальной информации.
Также гибридная модель позволит интегрировать публичные облачные сервисы от разных поставщиков.
Программная конфигурация сетей.
Для современных облачных приложений узким местом являются сети передачи данных, и, одной из важных задач обеспечения функционирования систем - конфигурирование загруженных сетей, направленных на обеспечение использования приложений в облачной инфраструктуре.
При перегрузке канала связи пакеты помещаются в очереди, в случае переполнения очереди пакеты отбрасываются, что приводит к замедлению скорости передачи пакетов протоколом TCP/IP и потере пакетов.
Чтобы добиться гарантии качества обслуживания применяют QoS-архитектуру (Quality of service), которая включает в себя поддержку качества на всех уровнях стека протоколов TCP/IP и во всех сетевых элементах.
Но и при этом обеспечение гарантированного качества обслуживания все равно остается самым слабым местом процесса передачи информации от источника к приемнику, так как QoS-архитектура представляет собой систему разделения трафика на статические, заранее определяемые классы с процентным соотношением ширины канала для каждого типа трафика с фиксированными приоритетами.
Задача состоит в разработке программного модуля, динамически устанавливающего приоритеты типам трафика в QoS-архитектуре. [9]
Дублирование исполняемого кода.
В облачных технологиях для обеспечения надежности передачи данных происходит дублирование кода программ. Помимо пользовательского кода дублируются коды системных библиотек и ядра (рис. 2).
В случае контейнерных технологий дублируется только код системных библиотек. Некоторые контейнерные технологии позволяют избежать также дублирования кода системных библиотек. В частности, система виртуализации Virtuozzo (Parallels Virtuozzo Containers в паре со специализированной файловой системой vzfs) позволяет доменам использовать общий системный раздел.[10]
Рис. 2. Дублирование исполняемого кода для различных типов виртуализации
Основное негативное влияние эффекта дублирования кода связано с большой нагрузкой на КЭШ центрального процессора.
В отчете[11] проводится подробный анализ данного эффекта. Например, HP проведен следующий эксперимент. На одном физическом сервере установлены две гостевые системы. На первой - под управлением работает веб-приложение на языке PHP, которое в ходе выполнения запросов обращается к серверу системы управления базами данных (СУБД), расположенному на другой гостевой системе.
На рис. 3 показаны результаты анализа промахов в процессорном КЭШе при использовании разных технологий виртуализации (Xen и OpenVZ), а также для системы без виртуализации (базовый вариант). Как видно, число промахов при использовании OpenVZ незначительно отличается от базового варианта. В то же время при использовании XEN эта величина резко возрастает и, в основном, приходится на код ядра системы (колонка Vmlinux).
Рис. 3. Анализ промахов в КЭШ процессора
На практике увеличение промахов в процессорном КЭШе приводит к резкому падению производительности системы.
На рис. 4, заимствованном из отчета компании HP [16], показано среднее время выполнения запроса в зависимости от нагрузки для трех вариантов: базовый, OpenVZ и Xen. Как видно, результаты для OpenVZ незначительно отличаются от базового варианта. Для Xen наблюдается увеличение времени выполнения запроса в несколько раз с ростом нагрузки.
Рис. 4. Среднее время выполнения запроса в зависимости от загрузки
Таким образом, для выбора технологического решения требуется проведение предварительных экспериментальных исследований по конкретным протоколам, интерфейсам и др.
Виртуализация ввода-вывода.
Виртуальные машины не имеют прямого доступа к физической памяти основной системы. Это одна из причин, которые затрудняют взаимодействие систем с устройствами ввода-вывода. Современное аппаратное обеспечение поддерживает режим прямого доступа к памяти (DMA), который позволяет организовать потоки данных, минуя центральный процессор. Однако устройство DMA не имеет сведений об организации виртуальной памяти, поэтому взаимодействие устройств ввода-вывода происходит через монитор виртуальных машин или гипервизор (рис. 5).
Рис. 5. Аппаратная поддержка прямого доступа к памяти для гостевых систем
Чтобы виртуальные машины могли работать непосредственно с устройствами ввода-вывода, минуя гипервизор, необходима специальная поддержка со стороны системы DMA.
Организация хранения данных.
Популярность облачных вычислений обусловлена не только развитием самих технологий, но и развитием подходов к разработке корпоративных приложений. В настоящее время разработчики предпочитают экономить трудозатраты за счет использования готовых модулей. Для веб-приложений разработка с «нуля» в сегодняшних условиях - это трата ресурсов, которая приведет к заведомо худшим результатам. Практически для всех популярных языков создания веб-приложений сегодня существуют функционально богатые конструкторы (frameworks).
Все это приводит к нескольким важным последствиям[12]:
- уменьшению сроков разработки веб-приложений;
- освобождению разработчиков от рутинных операций;
- отсутствию решения задач, связанных с модернизацией и развитием базовой функциональности систем.
При организации хранения больших объемов данных используется схема их дробления на более мелкие сегменты, что сокращает среднее время доступа. Такое ускорение достигается за счет уменьшения необходимого числа операций чтения, за время каждой из которых можно считать произвольно длинный, но обязательно непрерывный сегмент данных с диска. При этом во всех перечисленных системах для хранения данных используется локальная файловая система или реляционная база данных, что существенно ограничивает возможности масштабирования по данным. При использовании облачных технологий аналогом операции чтения можно считать установление соединения и обращение к объекту внутри облачного хранилища.[13]
В облачных системах используются слабоструктурированные данные, иерархические модели, системы noSQL и др. Многими исследователями принято целесообразным использование графовых моделей представления данных.[14] Важной особенностью графовых методов является существование значительного количества полиноминальных решений.
Использование облачных технологий является не просто сервисом, уже в ближайшем будущем они станут неотъемлемой частью ИТ-инфраструктуры многих учреждений, и вузов в том числе. Поэтому в настоящее время, когда их развитие только начинается, необходимо эффективное использование тех возможностей, которые дают «облака», а также найти решение задач, которые они ставят.
2. Применение облачных сервисов Google в образовательном процессе
2.1. Возможности облачных технологий Google в образовательном процессе
Благодаря современным информационным и телекоммуникационным технологиям (электронная почта, телеконференции ICQ, Skype и т.д.) общение между участниками образовательного процесса может быть распределено в пространстве и во времени. Педагоги и обучаемые могут общаться между собой, находясь на удалении друг от друга (например, в разных городах или странах) и в удобное для них время. При этом данные технологии постоянно совершенствуются, появляются новые средства и технологии, которые могут быть полезны с точки зрения информатизации образования. При определенных условиях многие из этих технологий могут существенно повлиять на повышение качества обучения и воспитания школьников.[15]
Примером подобных информационных технологий, облегчающих образовательный процесс, являются также и облачные технологии. Как было сказано в предыдущей части работы, суть этих технологий заключается в том, что пользователь, получив с помощью своего компьютера, подключенного к телекоммуникационной сети, доступ к удаленному серверу, может размещать на нем необходимую информацию и работать с ней. Благодаря этому пользователь становится свободным от привязки к своему персональному компьютеру и получает возможность использовать свои данные в любом месте, где есть доступ к сети и возможность подключения к облачному сервису. Если облачный сервис предлагает и программное обеспечение для работы с размещенными данными, то тогда пользователь получает возможность работать с ними практически с любого устройства в любом месте, где есть доступ к сети. Более того, существуют предположения, что в будущем компьютеры уступят место мобильным устройствам, с помощью которых пользователь будет получать доступ к серверу, на котором размещаются его данные и необходимые ему программные средства.[16]
В России при больших расстояниях и неидеальной инфраструктуре отдаленных населенных пунктов облачные технологии могут стать тем средством, которое сможет изменить характер обучения и даст возможность любому учащемуся любого учебного заведения, независимо от места его расположения, обучаться с помощью современных программных средств.