Опишите что по вашему мнению вычисляет представленный ниже алгоритм как математически связаны
Перейти к содержимому

Опишите что по вашему мнению вычисляет представленный ниже алгоритм как математически связаны

  • автор:

Опишите, что, по вашему мнению, вычисляет представленный ниже алгоритм

(как математически связаны значения выходных переменных (q и r) и входных переменных (a и b)): program project; var a, b, q, r: integer; begin write (‘Введите число a: ‘); readln (a); write (‘Введите число b: ‘); readln (b); q := 0; r := a; while r >= b do begin q := q + 1; r := r – b; end; writeln (‘q=’ , q, ‘ r=’ , r); readln; end. (язык Паскаль)

Голосование за лучший ответ

Прежде всего, никогда не копируйте так код. Пусть синтаксис Паскаля позволяет прочитать его, это мучение. Гораздо проще, для вас и для читателей, сделать скриншот или воспользоваться сервисом https://pastebin.com/

По самой программе, назначение переменных:
a — нужно только для ввода и присвоения её значения переменной r
b — некое число, нужное для дальнейших вычислений
r — своё значение переменная берёт у переменной a. Нужна для конечного результата (а также для хранения остатка от деление себя на b)
q — считает, сколько b влезает в r

Или же:
a = r
q = r div b
r = r mod b

Юля ХвостоваУченик (103) 3 года назад
Спасибо большое. А по поводу копирования, учту и в следующий раз сделаю так как Вы сказали
Юля ХвостоваУченик (103) 3 года назад
ещё один маленький вопрос что может вычислять данная программа?

Борис Каменоломень Профи (519) По факту, программа выводит целую часть от деления числа a на число b, а также остаток, именно в таком порядке.

Software Journal:
Theory and Applications

  • Т.В. Батура
  • Ф.А. Мурзин
  • Д.Ф. Семич

В статье делается обзор по облачным информационным технологиям. Под облачными вычислениями (от англ.cloud computing, также используется термин «облачная (рассеянная) обработка данных») обычно понимается предоставление пользователю компьютерных ресурсов и мощностей в виде интернет-сервисов. Рассмотрены основные модели предоставления услуг облачных вычислений: IaaS, PaaS и другие, особенности облачных платформ, хранилищ данных и программного обеспечения от различных поставщиков. Перечислены некоторые задачи, связанные с обработкой больших объемов данных, и обсуждаются тенденции развития.

Link to this article

  • Home »
  • Issue №1 by 2014 year »
  • Облачные технологии: основные понятия, задачи и тенденции развития

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

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

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

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

Среди ранее возникших (в 1990-х гг.) технологий обработки данных некоторое распространение получили так называемые grid-вычисления. Это направление первоначально рассматривалось как возможность использования свободных ресурсов процессоров и развития системы добровольной аренды вычислительных мощностей. Ряд проектов (GIMPS, distributed.net, SETI@home) доказали, что такая модель вычислений достаточно эффективна. Сегодня эта технология применяется для решения научных, математических задач, где требуются значительные вычислительные ресурсы. Известно, что grid-вычисления также применяются для коммерческих целей. Например, с их помощью выполняются некоторые трудоемкие задачи, связанные с экономическим прогнозированием, анализом сейсмических данных, разработкой и изучением свойств вакцин и новых лекарств. Действительно, grid-вычисления и облака имеют много схожих черт в архитектуре и применяемых принципах. Тем не менее, модель облачных вычислений считается сегодня более перспективной благодаря значительно более гибкой платформе для работы с удаленными вычислительными ресурсами.

В настоящее время крупные вычислительные облака состоят из тысяч серверов, размещенных в центрах обработки данных (ЦОД). Они обеспечивают ресурсами десятки тысяч приложений, которые одновременно используют миллионы пользователей [1]. Облачные технологии являются удобным инструментом для предприятий, которым слишком дорого содержать собственные ERP, CRM или другие серверы, требующие приобретения и настройки дополнительного оборудования.

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

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

Среди частных пользователей широкое распространение постепенно получают благодаря своему удобству такие облачные услуги, как, например, предоставляемые компанией Google («Документы», «Календарь» и др.).

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

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

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

Как отмечено в [2], современные облачные технологии не только используются в готовом сетевом и серверном оборудовании, но и постепенно проникают на рынок встраиваемых систем (embedded cloud) и становятся причиной масштабной реструктуризации рынка. Внедрение встраиваемых систем приводит к размещению компьютерных процессоров в таких изделиях, как счетчики учета расхода ресурсов, интеллектуальные датчики, М2М-модули, автомобили, бытовая техника и т.д. Это позволяет управлять работой устройств, сбором данных и обеспечением интерактивных возможностей посредством подключения к компьютерной сети.

Идею подключения всевозможных устройств к глобальной сети называют Интернетом вещей (Internet of Things – IoT). По мнению Кевина Далласа, генерального менеджера Microsoft Windows Embedded [3], идея Интернета вещей существует уже много лет, однако для ее реализации не хватало одного звена, чтобы построить такую сеть, – облака.

Так как количество встраиваемых компьютеров увеличивается благодаря снижению цен на процессоры и повсеместному распространению Интернета, растут также и объемы передаваемых данных с последующей их обработкой (часто в режиме реального времени). Поэтому можно предположить, что в ближайшие годы роль Интернета вещей и облачных вычислений будет увеличиваться.

Основные модели предоставления услуг облачных вычислений

Модели развертывания облачных технологий

По модели развертывания облака разделяют на частные, общедоступные (публичные) и гибридные
[2, 4].

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

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

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

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

Абонентом предлагаемых сервисов может стать любая компания и индивидуальный пользователь. Они предлагают легкий и доступный по цене способ развертывания веб-сайтов или бизнес-систем с большими возможностями масштабирования, которые в других решениях были бы недоступны. Примеры: онлайн-сервисы Amazon EC2 и Amazon Simple Storage Service (S3), Google Apps/Docs, Salesforce.com, Microsoft Office Web.

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

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

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

По мнению Тома Биттмана, вице-президента и ведущего аналитика американской исследовательской и консалтинговой компании “Gartner” [5, 6], среди вышеперечисленных трех моделей развертывания облаков наиболее актуальной для бизнеса в данный момент являются частные облака. Биттман выделил пять основных моментов, которые помогают получить более точное представление об устройстве частного облака.

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

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

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

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

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

Частное облако не всегда внедрено у заказчика. Частное облако означает конфиденциальность, а не конкретное местоположение, владение ресурсами или самостоятельное управление. Многие поставщики предлагают нелокальные частные облака, то есть выделяют ресурсы единственному заказчику, исключая совместное использование одного пула несколькими клиентами. «Облако называется частным по его приватности, а не по тому, где оно развернуто, кто им владеет и несет ответственность за управление», – подчеркивает Биттман. Некоторые, например, могут свои ЦОД размещать у хостинг-провайдеров или объединять в пул ресурсы разных заказчиков, но изолировать их друг от друга с помощью виртуальной частной сети (Virtual Private Network – VPN) и других подобных технологий.

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

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

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

Основные свойства облачных технологий

Национальный Институт стандартов и технологий NIST (National Institute of Standards and Technology, USA) в своем документе “The NIST Definition of Cloud Computing” [5] определяет следующие характеристики облаков:

– возможность в высокой степени автоматизированного самообслуживания системы со стороны провайдера;

– наличие системы Broad Network Access;

– сосредоточенность ресурсов на отдельных площадках для их эффективного распределения;

– быстрая масштабируемость (ресурсы могут неограниченно выделяться и высвобождаться с большой скоростью в зависимости от потребностей);

– управляемый сервис (система управления облаком автоматически контролирует и оптимизирует выделение ресурсов).

Самообслуживание по требованию (On-demand self-service) . У потребителя есть возможность получить доступ к предоставляемым вычислительным ресурсам в одностороннем порядке по мере потребности, автоматически, без необходимости взаимодействия с сотрудниками каждого поставщика услуг.

Широкий сетевой доступ (Broad network access) . Предоставляемые вычислительные ресурсы доступны по сети через стандартные механизмы для различных платформ, тонких и толстых клиентов
(мобильных телефонов, планшетов, ноутбуков, рабочих станций и т.п.).

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

Мгновенная эластичность (Rapid elasticity) . Ресурсы могут быть легко выделены и освобождены, в некоторых случаях автоматически, для быстрого масштабирования соразмерно спросу. Для потребителя возможности предоставления ресурсов видятся как неограниченные, то есть они могут быть присвоены в любом количестве и в любое время.

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

Модели обслуживания облачных технологий

В настоящее время принято выделять [4, 5, 7–9] три основные модели обслуживания облачных технологий, которые иногда называют слоями облака. Можно сказать, что эти три слоя – услуги инфраструктуры, услуги платформы и услуги приложений – отражают строение не только облачных технологий, но и информационных технологий в целом. Остановимся подробнее на каждом из них.

К услугам инфраструктуры (Infrastructure as a ServiceIaaS) можно отнести набор физических ресурсов, таких как серверы, сетевое оборудование и накопители, предлагаемые заказчикам в качестве предоставляемых услуг. Услуги инфраструктуры решают задачу надлежащего оснащения ЦОД, предоставляя вычислительные мощности по мере необходимости. Обычно эти услуги поддерживают инфраструктуру и гораздо большее число потребителей по сравнению с услугами приложений. Частным примером услуг инфраструктуры являетсяаппаратное обеспечение как услуга (Hardware as a Service HaaS ). В качестве услуги пользователь получает оборудование, на основе которого разворачивает свою собственную инфраструктуру с использованием наиболее подходящего ПО.

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

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

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

Примерами услуг инфраструктуры служат IBM SmartCloud Enterprise, VMWare, Amazon EC2, Windows Azure, Google Cloud Storage, Parallels Cloud Server и многие другие.

Услуги платформы (Platform as a S ervice – PaaS) – это модель обслуживания, в которой потребителю предоставляются приложения (созданные или приобретенные) как набор услуг. В него входят,
в частности, промежуточное ПО как услуга, обмен сообщениями как услуга, интеграция как услуга, информация как услуга, связь как услуга и т.д. Например, рабочее место как услуга (Workplace as a Service – WaaS) позволяет компании использовать облачные вычисления для организации рабочих мест своих сотрудников, настроив и установив все необходимое для работы персонала ПО. Данные как услуга (Data as a Service – DaaS) предоставляют пользователю дисковое пространство, которое он может
использовать для хранения больших объемов информации. Безопасность как услуга (Security as a Service – SaaS) дает возможность пользователям быстро развертывать продукты, позволяющие обеспечить безопасное использование веб-технологий, безопасность электронной переписки, а также безопасность локальной системы. Этот сервис позволяет пользователям экономить на развертывании и поддержании своей собственной системы безопасности.

Другими словами, модель PaaS – это IaaS вместе с операционной системой и ее интерфейсом прикладного программирования (API – Application Programming Interface). Потребитель при этом не управляет базовой инфраструктурой облака, в том числе сетями, серверами, операционными системами и системами хранения данных, но имеет контроль над развернутыми приложениями и, возможно, некоторыми параметрами конфигурации среды хостинга. Таким образом, потребитель должен позаботиться об обеспечении защиты приложений, которые будут развернуты на предоставленных платформах.

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

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

Недостатки. Как и у предыдущей модели обслуживания, централизация требует надежных мер безопасности.

Примерами услуг платформы служат IBM SmartCloud Application Services, Amazon Web Services, Windows Azure, Boomi, Cast Iron, Google App Engine и другие.

Услуги приложений (Software as a S ervice – SaaS) предполагают доступ к приложениям как к сервису, то есть приложения провайдера запускаются в облаке и предоставляются пользователям по требованию как услуги. Другими словами, пользователь может получать доступ к ПО, развернутому на удаленных серверах, посредством Интернета, причем все вопросы обновления и лицензий на данное ПО регулируются поставщиком данной услуги. Оплата в данном случае осуществляется за фактическое использование ПО. Иногда эти услуги поставщики делают бесплатными, так как у них есть возможность получать доход, например, от рекламы.

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

Услуги приложений более всего знакомы повседневному пользователю. Самым распространенным примером приложений данного типа являются почтовые сервисы GMail, Mail.ru, Yahoo Mail. Вообще существуют тысячи приложений SaaS, и благодаря технологии Web 2.0 их число растет с каждым днем. Среди служб приложений имеется множество приложений, нацеленных на корпоративное сообщество. Существует ПО, управляющее начислением заработной платы, кадровыми ресурсами, коллективной работой, взаимоотношениями с клиентами и бизнес-партнерами и т.п.

Преимущества. Снижение капиталовложений в аппаратное обеспечение и трудовые ресурсы; уменьшение риска потери инвестиций; плавное итеративное обновление.

Недостатки. Как и в предыдущих двух моделях, централизация требует надежных мер безопасности.

Примерами SaaS являются Gmail, Google Docs, Netflix, Photoshop.com, Acrobat.com, Intuit QuickBooks Online, IBM LotusLive, Unyte, Salesforce.com, Sugar CRM и WebEx. Значительная часть растущего рынка мобильных приложений также является реализацией SaaS.

Существует мнение, что принятое в настоящее время деление облачных вычислений по мере развития технологий в ближайшем будущем уйдет в прошлое [2]. В облачных приложениях будущего, предположительно, будут сочетаться не только инфраструктурные и платформенные элементы от одного поставщика, но и различные сервисы, собранные от разных поставщиков. Возможно, в итоге облачные вычисления приведут к появлению концепции Всё как услуга (Everything as a Service EaaS). При таком виде сервиса пользователю будет предоставлено все – от программно-аппаратной части до управления бизнес-процессами, включая взаимодействие между пользователями.

Обзор решений ведущих вендоров

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

Сравнение платформ Amazon, Google и Microsoft

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

Google [13]

Google Drive – облачное хранилище данных, принадлежащее компании Google, позволяющее пользователям хранить свои данные на серверах в облаке и делиться ими с другими пользователями в Интернете. Google Drive отличается лаконичным интерфейсом и предлагает установить удобные программные клиенты для смартфонов и планшетов на базе операционной системы Android, ПК и ноутбуков под управлением операционной системы Windows или MacOS, мобильных устройств iPhone и iPad. В будущем ожидается более тесная интеграция хранилища с операционной системой Chrome OS и поддержка Linux. Каждый пользователь Google Drive получает до 15 Гбайт свободного пространства на все сервисы Google (в том числе Gmail и Photos). При этом он сам может решить, сколько места выделить под почту и какой объем оставить под важные файлы. Работать с файлами в Google Drive можно прямо в браузере. Google Drive можно превратить в отдельную папку в документах смартфона, планшета или ПК, и ее содержимое будет синхронизироваться автоматически.

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

Google App Engine – сервис хостинга сайтов и web-приложений на серверах Google. Бесплатно предоставляется до 1 Гб дискового пространства, 10 Гб входящего трафика в день, 10 Гб исходящего трафика в день, 200 миллионов гигациклов CPU в день и 2 000 операций отправления электронной почты в день. Приложения, разворачиваемые на базе App Engine, должны быть написаны на Python, Java либо Go. Предлагается набор API для сервисов хранилища datastore API (BigTable) аккаунтов Google, набор API для загрузки данных по URL, электронной почты и т.д.

Платформа Google конкурирует с аналогичными сервисами от Amazon, которые предоставляют возможность размещать файлы и веб-приложения, используя свою инфраструктуру. В отличие от многих обычных размещений приложений на виртуальных машинах, таких как Amazon EC2, платформа App Engine тесно интегрирована с приложениями и накладывает на разработчиков некоторые ограничения.

G oogle C loud S torage – сервис хостинга файлов, основанный на IaaS. Все файлы, которые записываются или перезаписываются на серверы, автоматически шифруются по алгоритму AES-128. Является конкурентом продукта Amazon S3.

Amazon [14]

Amazon Simple Storage Service (Amazon S3) – онлайновая веб-служба, предлагаемая Amazon Web Services, предоставляющая возможность для хранения и получения любого объема данных, в любое время из любой точки сети, так называемый файловый хостинг. В марте 2012 года компания Nasuni провела опыт, в течение которого поочередно передавала массивный объем данных (12 Тб) из одного облачного сервиса в другой [15]. В эксперименте участвовали наиболее рейтинговые облака: Amazon S3, Windows Azure и Rackspace. К удивлению исследователей, скорость передачи данных сильно отличалась в зависимости от того, какое облако принимало данные. Самый лучший показатель скорости записи данных оказался у Amazon S3, передача данных из двух других сервисов занимала всего 4–5 часов, в то время как передача данных в Rackspace заняла чуть меньше недели, а в Windows Azure – 40 часов.

Amazon Elastic Compute Cloud (Amazon EC2) – веб-сервис, предоставляющий вычислительные мощности в облаке. Он дает пользователям полный контроль над вычислительными ресурсами, а также доступную среду для работы. Amazon EC2 позволяет пользователям создать Amazon Machine Image (AMI), который будет содержать их приложения, библиотеки, данные и связанные с ними конфигурационные параметры, или использовать заранее настроенные шаблоны образов для работы Amazon S3. Amazon EC2 предоставляет инструменты для хранения AMI. Amazon S3 предоставляет безопасное, надежное и быстрое хранилище для хранения образов.

Microsoft [16]

Microsoft SkyDrive – интернет-сервис хранения файлов с функциями файлообмена, созданный и управляемый компанией Microsoft. Сервис SkyDrive позволяет хранить до 7 ГБ информации (или 25 ГБ для пользователей, имеющих право на бесплатное обновление) в виде стандартных папок. Пользователи могут просматривать, загружать, создавать, редактировать и обмениваться документами Microsoft Office (Word, Excel, PowerPoint и OneNote) непосредственно в веб-браузере. Присутствует удаленный доступ к компьютеру, работающему под управлением Windows.

Windows Azure – платформа облачных сервисов, разработанная Microsoft. Реализует модели PaaS и IaaS. Платформа предоставляет возможность разработки и выполнения приложений и хранения данных на серверах, расположенных в распределенных центрах данных.

  • WindowsAzureCompute – компонент, реализующий вычисления на платформе Windows Azure, предоставляет среду выполнения на основе ролевой модели.
  • WindowsAzureStorage – компонент хранилища, предоставляющий масштабируемое хранилище. Не имеет возможности использовать реляционную модель и является альтернативой (либо дополняющим решением) SQL Databases (SQL Azure) – масштабируемой «облачной» версией SQL Server.
  • WindowsAzureFabric – по своему назначению является контролером и ядром платформы, выполняя функции мониторинга в реальном времени, обеспечения отказоустойчивости, выделения мощностей, развертывания серверов, виртуальных машин и приложений, балансировки нагрузки и управления оборудованием.

Платформа Windows Azure имеет API, построенное на REST, HTTP и XML, что позволяет разработчикам использовать облачные сервисы с любой операционной системой, устройствами и платформами.

В работе [17] рассмотрены несколько типовых задач и сравниваются их возможные решения на каждой из платформ – Amazon EC2, Google App Engine, Windows Azure.

Задача 1. Необходимо отправить в облако на обработку локально созданное приложение; причем приложение, как правило, построенное на базе технологий Java или .NET, не должно менять свое содержание в процессе исполнения.

Задача 2. Необходимо запустить web-приложение, использующее фоновое обновление данных и средства балансировки нагрузки.

Задача 3. Необходимо выполнить в автоматическом режиме без применения интерфейса с пользователем прикладную вычислительную задачу с использование методов параллельной обработки.

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

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

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

Еще некоторые крупные поставщики облачных технологий

IBM SmartCloud [18]

Облачное решение, предлагаемое компанией IBM, а именно IBM SmartCloud, реализует все три модели (IaaS, SaaS, PaaS) в рамках не только публичного, но частного и гибридного облаков. В его состав входит облачный сервис, ранее называемый IBM Lotus Live, предоставляющий бизнес-приложения по модели SaaS. Содержит полный набор интерактивных сервисов, которые предоставляют масштабируемые решения для организации защищенной системы электронной почты, проведения web-конференций и коллективной работы. Сервисы свободны от рекламы и не собирают информацию о клиенте, а также не являются потребительскими приложениями, нацеленными на бизнес-деятельность. С пользователей взимается ежемесячная плата. Элементы управления системой защиты, развернутые для Lotus Live, обеспечивают приватность и управляемый доступ к важной информации при выполнении бизнес-операций. Все клиентские взаимодействия кодируются устойчивыми алгоритмами шифрования и осуществляются по протоколу SSL для HTTP и через RC2 в протоколе системы мгновенного обмена сообщениями Lotus Sametime. Резервные копии системы шифруются.

Rackspace Cloud [19]

Платформа предлагает набор продуктов для автоматизации хостинга и облачных вычислений, реализуется модель PaaS. Объединяет в себе Cloud Files, Cloud Servers, Cloud Sites. Благодаря серверной виртуализации пользователи получают возможность развертывать сотни облачных серверов одновременно и создавать архитектуру, обеспечивающую высокую доступность. Является конкурентом Amazon Web Services.

Oracle Exalogic Elastic Cloud [20]

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

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

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

Переход на объединенную архитектуру облачных вычислений ORACLE со стандартизированными разделяемыми приложениями по требованию существенно снижает издержки. Консолидация вычислительных ресурсов может быть выполнена как на уровне IaaS, с использованием технологий виртуализации, так и на уровне PaaS, с помощью стандартизации и объединения на основе БД и/или middleware архитектуры.

Консолидация на уровне PaaS представляет большую ценность, потому что уменьшает разнородность ПО, объединяя его на основе стандартизированных программных интерфейсов. Консолидация на уровне IaaS может также обеспечить более высокую эффективность разделения аппаратных средств, но ничего не дает для уменьшения сложности поддержки ПО. Наиболее популярной является консолидация ПО на уровне БД ORACLE, частично объединяющей преимущества PaaS и IaaS.

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

Платформа ORACLE PaaS

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

Платформа ORACLE PaaS предоставляет услуги БД по требованию, основанные на БД ORALCE и аппаратных комплексах Oracle Exadata, а также услуги ПО Middleware по требованию на основе Oracle WebLogic и Oracle Exalogic. Oracle Exadata – это специализированная машина БД, а Oracle Exalogic является машиной, оптимизированной для выполнения приложений Middleware, написанных на языке JAVA. Обе машины масштабируемы и отказоустойчивы. Они спроектированы и сконфигурированы для совместной работы.

Для разработки новых приложений программисты могут использовать знакомые среды проектирования, такие как JDeveloper, NetBeans и Eclipse, а также сетевые инструменты WebCenter Page Composer, BI Composer и BPM Composer. Для взаимной интеграции новых и разработанных ранее приложений в частных и общественных облаках компания ORACLE предлагает Oracle SOA Suite и Oracle BPM Suite, а также Oracle Data Integration и Oracle GoldenGate. Идентификация пользователей и распределение прав осуществляются с помощью Oracle Identity and Access Management. За взаимодействие пользователей с облаком отвечает программный комплекс Oracle WebCenter, который позволяет пользователям осуществлять совместную работу.

Инфраструктура ORACLE IaaS

Компания ORACLE предлагает набор элементов технологии «Инфраструктура по требованию» (IaaS), в том числе вычислительные серверы, услуги хранения и передачи информации, виртуализацию ПО, операционные системы и системы управления ПО.

Инфраструктура ORACLE IaaS включает серверы, основанные на технологии SPARC и x86, установленные в стойках и лезвиях (blads); технологии хранения на FLASH, дисковых массивах и лентах; варианты виртуализации Oracle VM для x86, Oracle VM для SPARC и Oracle Solaris Containers; операционные системы Oracle Solaris, Oracle Linux, и Oracle Enterprise Manager.

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

Аппаратные комплексы Oracle Exadata

Аппаратно-программный комплекс, серийно выпускаемый корпорацией Oracle, позиционируется как кластер серверов приложений для организации частных облачных и «эластичных» вычислений. Поставляется как предварительно собранный телекоммуникационный шкаф из 42 юнит, наполненный серверным и сетевым оборудованием. Аппаратная часть комплекса состоит из одноюнитовых серверов на базе двух процессоров Intel Xeon с двумя твердотельными накопителями в каждом для операционной системы и свопинга, общей для всех серверов системы хранения данных, коммутаторов InfiniBand и Ethernet. В последних выпусках X3-2 устанавливаются восьмиядерные Sandy Bridge частотой 2,9 ГГц, в каждом узле установлено 256 Гбайт оперативной памяти. Заказчикам комплекса предоставляется выбор из двух 64-разрядных операционных систем, возможных к предустановке на узлы кластера: Oracle Linux или Solaris (операционная система, разработанная компанией Sun Microsystems, которая сейчас принадлежит корпорация Oracle), а с середины 2012 года доступна возможность установки на узлы гипервизора Oracle VM.

Аппаратные комплексы Oracle Exadata выпускаются в виде стандартных стоек для размещения в ЦОД. Они состоят из серверов, использующих процессоры Intel XEON, основанные на архитектуре x86 и x64. В Oracle Exadata используются серверы двух типов: хранения данных и обработки. В качестве моста между серверами используются коммутаторы InfiniBand и Ethernet. Как и любая модульная система, Oracle Exadata обладает свойством масштабируемости. Аппаратные комплексы Exadata выпускаются в нескольких вариантах, заполненных серверами в зависимости от предполагаемой максимальной нагрузки.

Каждый аппаратный комплекс Oracle Exadata содержит предварительно установленное ПО Oracle Database с опцией Real Application Cluster, позволяющей нескольким физическим серверам работать с единым хранилищем как единая БД без программных модификаций прикладного ПО.

Архитектура Oracle Exadata основывается на принципах симметричного доступа со всех серверов обработки ко всем узлам хранения (симметричного параллелизма). Такой подход является компромиссом, так как ориентирован на OLTP- и OLAP-обработку данных одновременно. Поэтому решение компании ORACLE не является лидером по быстродействию в узкоспециализированных задачах, но рассчитано на широкий спектр применения.

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

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

В 2010 году Oracle открыла собственное публичное облако Oracle Cloud, предоставляющее как технологическое ПО по модели PaaS, так и бизнес-приложения по модели SaaS.

Salesforce.com [21]

Система управления взаимоотношениями с клиентами (CRM-система – Customer Relationship Management) предоставляется заказчикам исключительно под модели SaaS. Под наименованием Force.com компания предоставляет PaaS-платформу для самостоятельной разработки приложений, а под брендом Database.com – облачную систему управления БД. В зависимости от уровня подписки доступны различные технические возможности. Так, в бесплатной версии Force.com подписчики могут создать не более десяти сущностей, а в неограниченной версии с ценой $75 на пользователя в месяц – до 2 000. Подписчики могут размещать разработанные приложения на платформе Force.com в специальном каталоге (AppExchange) и предлагать свои разработки другим заказчикам, в том числе на коммерческой основе.

В качестве системы управления БД платформа Force.com использует три реплицируемых кластера Oracle RAC из восьми узлов каждый. Кластеры расположены в трех удаленных друг от друга ЦОД. В одной схеме Oracle Database обрабатываются данные сразу нескольких компаний-подписчиков. Используется стабильная схема данных, предварительно подготовленная к расширению дополнительными объектами таким образом, что в одних и тех же таблицах хранятся данные различных подписчиков независимо от различия в специфических атрибутах объектов для различных подписчиков. Широко используется секционирование таблиц БД.

Parallels [22]

Предлагает целый ряд продуктов для автоматизации хостинга и облачных вычислений, основанных на IaaS. Parallels Cloud Server объединяет в себе Parallels Cloud Storage, Parallels Virtuozzo Containers и Parallels Hypervisor, позволяя значительно повысить надежность, производительность и рентабельность серверов. Parallels Cloud Storage – это гибкое, масштабируемое решение, помогающее увеличить доступность и производительность облачных серверов. Parallels Virtuozzo Containers – решение для серверной виртуализации, обеспечивающее высокий уровень плотности и производительности, а также довольно быстрое выделение ресурсов и динамическое изменение сервис-планов. Технология Parallels Hypervisor позволяет самостоятельно создавать виртуальные машины.

Возможность размещать множество клиентов на изолированных друг от друга виртуальных серверах на одном физическом сервере позволяет сервис-провайдерам оптимизировать ресурсы и повышать прибыль. PACI (Parallels Automation for Cloud Infrastructure) – решение, включающее все необходимое для предоставления облачных услуг на любой аппаратной платформе. Клиенты могут расширять, сужать и удалять облачные услуги, распределять нагрузку между несколькими виртуальными машинами или контейнерами и защищать свои данные с помощью брандмауэров. PACI обеспечивает автоматическую балансировку нагрузки и безопасность (включая брандмауэры) для всех виртуальных серверов.

Slidebar [23]

Облачная инфраструктура, предоставляемая в аренду IaaS. Продвигается под брендом SlideBar. Масштабируемые в реальном времени виртуальные машины с почасовой оплатой за мощность, измеряемую количеством арендованных процессорных ядер и объемом предоставленного хранилища данных. Дополнительно клиент может заказать гарантированную мощность процессоров (с учетом всех используемых ядер). SlideBar построен на облачной платформе Parking Сloud. Платформа использует виртуализацию аппаратного обеспечения Microsoft Hyper-V R2 и кластеризацию для распределения нагрузки, повышения надежности и работоспособности системы. Физически кластеры SlideBar размещаются в трех ЦОД компании Parking.ru, находящихся в Москве. Все дата-центры имеют дублированные каналы связи системы энергообеспечения, климатические системы, системы пожаротушения и постоянную круглосуточную охрану. Серверы кластеров построены на платформе HP с процессорами Intel серии 5500 и используют разделяемое сетевое хранилище (SAN) Cluster Shared Volume. Связь с облаком предусматривает неограниченный трафик с пропускной способностью до 100 Мбит/сек. (гарантированно – 2 Мбит/сек.).

«Трастинфо»

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

Российское облако предполагается сделать частью глобальной облачной сети Tieto, которая включает Санкт-Петербург, Хельсинки, Стокгольм, Осло и Копенгаген. Заказчикам будут гарантированы международный уровень качества услуг и доступ к сервисам и ресурсам Microsoft, Cisco и EMC. ЦОД «Трастинфо» имеет общую площадь 3000 м 2 , количество стоек – 800, среднее энергопотребление на стойку – 5 кВт, пропускная способность волоконно-оптических линий связи до 10 Гбит/сек.

Опыт удачного применения готовых облачных решений

Первые проекты по внедрению Windows Azure в крупных российских ИТ-компаниях компанией Microsoft были представлены журналистам [24]. Так, известный разработчик электронных словарей и систем оптического распознавания текста компания ABBYY открыла OCR-сервис FineReader Online на платформе Windows Azure. Пользовательская аудитория FineReader Online составляет примерно 250 тыс. человек. Согласно оценке самой компании ABBYY, миграция на облачную платформу Microsoft позволит сократить расходы на поддержку сервиса в полтора раза. Платформу Windows Azure активно осваивает также компания «Медиалогия» – разработчик первой в России автоматической системы мониторинга и анализа СМИ в режиме реального времени. Она разрабатывает системы анализа в Интернете российских и зарубежных блогов и СМИ с последующим предоставлением своим заказчикам мониторинга по темам и ключевым словам. Ее заказчиками являются большинство федеральных и региональных органов власти, а также крупнейшие корпорации. Как подчеркнул Фарит Хуснояров, директор по развитию компании «Медиалогия», этот бизнес является высокотехнологичным и высококонкурентным, поскольку медиапространство непрерывно развивается и совершенствуется. Перед компанией стоят задачи постоянного вывода на рынок новых продуктов и доработка уже существующих. Например, «Медиалогия» разработала специализированное решение, предназначенное для мониторинга блогов, где, как известно, наблюдается наибольшая протестная активность, при этом требуется более высокая интенсивность обновления информации, ведь блоггеры во многих случаях значительно оперативнее журналистов. Данная система была полностью создана на базе Windows Azure, и, по словам Фарита Хусноярова, срок вывода этого решения на рынок был сокращен в 2–3 раза по сравнению с традиционными способами разработки. Помимо системы мониторинга блогов, на базе Windows Azure были созданы агрегатор зарубежных СМИ и другие решения «Медиалогии», выпущенные в текущем году.

В Санкт-Петербургском национальном исследовательском университете информационных технологий, механики и оптики под руководством Бухановского А.В. разрабатывается облачная платформа CLAVIRE для обработки данных больших объемов. В основном платформа используется для обработки большого объема данных, получаемых в процессе наблюдений, экспериментов и математического моделирования на основе численных методов или компьютерной графики. Далее приведены ключевые особенности платформы CLAVIRE, определяющие ее архитектуру и функциональные характеристики [25].

1. Имеется предметно-ориентированный язык EasyPackage, который позволяет описать используемые прикладные пакеты и источники данных, процедуру их вызова, передачу параметров и используемые форматы данных.

2. Имеется предметно-ориентированный язык EasyFlow, который позволяет описать сложное (композитное) приложение в форме workflow.

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

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

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

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

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

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

Популярный в Интернете сервис для хостинга слайдов SlideShare реализовал переконвертацию нескольких миллионов накопленных документов из Flash к формату HTML5 при помощи виртуальных серверов компании Amazon [26]. Причин для апгрейда три. Во-первых, презентации на HTML5 отображаются на всех устройствах, включая смартфоны/планшеты iPhone/iPad и Android, и на десктопе – и это один и тот же файл. Таким образом, уменьшается объем данных на хостинге. Во-вторых, документы стали на 40 % компактнее и загружаются на 30 % быстрее. В-третьих, документы теперь индексируются поисковыми системами. Текст без проблем выделяется мышкой и копируется, что всегда было затруднительно с Flash.

Технологии HP сыграли ключевую роль в создании многих кинокартин компании DreamWorks, включая серию фильмов «Шрек», ленты «Кот в сапогах», «Как приручить дракона», «Кунг-Фу Панда» и «Кунг-Фу Панда 2», говорится в заявлении компании [27]. Чтобы обработать большие объемы данных, необходимых для производства, например, фильма «Кот в сапогах», DreamWorks внедрила облачные сервисы HP, что позволило избежать наращивания собственных технических ресурсов, на которое, согласно оценкам, потребовались бы миллионы долларов. 8 млн часов рендеринга из затраченных в общей сложности 63 млн часов были выполнены с помощью облачных сервисов HP. На долю рендеринга пришлось 45 % от общего объема использования облачных сервисов киностудией. Также решения HP задействованы в построении масштабируемой 10-гигабитной сетевой среды DreamWorks, состоящей из глобальной и локальной сетей. Это семейство HP Networking: коммутаторы серий HP 12508 и 5800, а также системы HP Networking Intelligent Management Center и HP Intelligent Resilient Framework. Кроме того, в DreamWorks используется сетевая система хранения HP X9000 IBRIX, которая позволяет наращивать емкость в соответствии с нынешними и будущими потребностями киностудии.

Опыт компании Microsoft

В многочисленных докладах Фабрицио Гальярди [28], имеющихся в сети Интернет (около 20 докладов), четко выражена позиция компании Microsoft относительно дальнейшего развития облачных вычислений и дается информация о ведущихся проектах.

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

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

3. Это хорошая платформа для сохранения и распространения научных данных.

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

5. Корпорация Microsoft Research доступна для советов и поддерживает экспериментальный доступ к этой технологии.

6. Microsoft Research настроена на взаимодействие с заинтересованными учеными России.

Облака основываются на больших центрах по сбору данных. В таблице 1 показано местонахождение наиболее важных центров данных некоторых компаний [29], а на рисунке приведена фотография центра данных компании Microsoft в Чикаго.

В [30] дана достаточно подробная информация о центрах данных компании Google. На момент написания публикации у Google было19 центров в США, 12 в Европе, один в России, один в Южной Америке и 3 в Азии. В действительности Google иногда арендует место в центрах данных других компаний.

Специалисты компании Microsoft отмечают, что в настоящее время необходимо провести научные исследования и сделать детальный экономический анализ деятельности для малого центра данных (1 тысяча серверов) и для большого (100 тысяч серверов). Изображенный на фотографии центр данных имеет размер в 11,5 раза больше размера футбольного поля, и можно только догадываться, сколько в нем сосредоточено серверов.

Главные мотивы развития центров данных

1. Высокая экологическая совместимость с внешней средой.

2. Эффективное использование энергии.

3. Адаптивное управление системами.

4. Возможность сосредоточить до 100 тысяч серверов.

5. Включение аппаратных средств не позднее, чем через неделю после поставки.

6. Запуск ПО не позднее, чем через несколько часов.

7. Живучесть во время отключения энергии или бедствия.

8. Большой набор ПО и услуг.

9. Непрерывная коммуникация, безопасность, надежность, производительность.

Некоторые наиболее важные исследовательские центры Microsoft Research в Европе, в которых ведутся исследования по облачным вычислениям: Barcelona Supercomputing Centre, Объединенный центр Microsoft Research и INRIA, The Microsoft Research – University of Trento Centre for Computational and Systems Biology (CoSBi).

Компания Microsoft Research подписала большое количество соглашений с партнерами в Европе, Азии и Латинской Америке по развитию облачных вычислений. Например, в рамках Европейского проекта Virtual multidisciplinary EnviroNments USing Cloud infrastructures (VENUS-C) подписано Европейско-Бразильское соглашение Open Data and Cloud Computing e-Infrastructure for Biodiversity (EUBrazilOpenBio), направленное на изучение биомногообразия, в нем также участвует Microsoft Research. Проект VENUS-C стремится поддерживать пользовательские сообщества посредством развития легких в использовании услуг, чтобы стимулировать разработку успешных облачных приложений.

Обработка больших объемов данных и некоторые задачи

В настоящее время для моделирования данных в различных предметных областях широко используются графы, позволяющие отобразить взаимные отношения объектов. Постоянно увеличивающиеся объемы данных этих приложений приводят к необходимости использовать масштабируемые платформы и параллельные вычислительные архитектуры, позволяющие эффективно обрабатывать очень большие массивы данных, возникающих в связи с анализом графов. Облачные вычисления применяются для решения задач, связанных с графами, в ряде предметных областей: семантический поиск [31], социальные сети, базы знаний, моделирование фотонных кристаллов [32], поиск последовательностей ДНК [33] и т.д. Вопросам эффективного хранения и обработки данных в системах такого рода посвящено немало работ [34–36]. Имеется также много проблем, прямо не связанных с графами. Рассмотрим некоторые задачи, возникающие перед разработчиками облачных сервисов и перед использующими их специалистами.

Задачи распределения и использования ресурсов

При организации вычислительных процессов в сетях с облачной инфраструктурой объектами являются виртуальные машины, сервисы, программы, наборы данных, заявки; позициями – вычислительные узлы, устройства памяти, места в очередях на исполнение. При этом рассматривается ряд количественных характеристик: интенсивность поступающих запросов и степень загрузки центральных устройств, интенсивность межмашинного взаимодействия через сетевые адаптеры и др. Могут также учитываться характеристики индикаторного типа, например, наличие необходимого пакета на данном вычислительном узле [37]. Далее возникают, вообще говоря, оптимизационные задачи на графах, связанные с распределением и использованием ресурсов и составлением расписаний. Например, необходимо решить заданную прикладную задачу и при этом минимизировать сумму трафика между всеми парами узлов облака [36]. Для решения возникающих задач используют различные, как правило, приближенные, методы: оптимизационные, основанные на теории игр, статистические, машинного обучения [38].

Модель вычислений MapReduce

MapReduce – модель распределенных вычислений, предложенная компанией Google, используемая для параллельных вычислений над очень большими объемами данных. Точнее, MapReduce – это фреймворк для организации вычислительных процессов на распределенных системах, содержащих большое количество компьютеров, называемых нодами. Работа MapReduce состоит из двух шагов: Map и Reduce. На Map-шаге происходит предварительная обработка входных данных. Для этого один из компьютеров, называемый главным узлом (master node), получает входные данные задачи, разделяет их на части и передает другим компьютерам, называемым рабочими узлами (worker node), для предварительной обработки. На Reduce-шаге происходит «свёртка» предварительно обработанных данных. Главный узел получает ответы от рабочих узлов и на их основе формирует результат, то есть решение задачи. В рамках данной парадигмы были реализованы алгоритм Дейкстры нахождения кратчайшего пути в графе, различные алгоритмы нахождения значимых вершин в графе, метод ближайшего соседа, алгоритм байесовской классификации и др. [39–42].

Защита облачной инфраструктуры

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

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

Обеспечение надежности работы множества серверов

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

Предположим, что в нашем распоряжении имеется n серверов, S1, …, Sn , и на k-м сервере хранится слово wk в бинарном алфавите. Считаем, что длины этих слов равны |w1| = … = | wn| = m. Далее обозначим wki i-ю букву в слове wk.

Задействуем дополнительные серверы . При этом на сервере S¢t будем хранить слово Ct = ct1ctm. Все сказанное иллюстрирует таблица 2.

Можно сказать, что код Хэмминга «работает» внутри каждой строки таблицы. Ясно, что выход из строя любого из N = n + r серверов не приведет к потере данных. Мы можем их восстановить, действуя по каждой строке в соответствии с кодом Хэмминга. Очевидно, что для восстановления данных при выходе из строя большего количества серверов необходимо использовать коды, исправляющие большее количество ошибок. Выигрыш очевиден, так как для такого рода кодов число r мало по сравнению с числом n. Например, для кода Хэмминга r » log2n. На основе этих идей в Институте систем информатики им. А.П. Ершова СО РАН (г. Новосибирск) Мигинским Д.С. ведутся работы по созданию хранилища данных, предназначенного для хранения больших объемов генетической и другой информации.

Гомоморфные коды

Гомоморфное шифрование – это форма шифрования, позволяющая производить определенные математические действия с зашифрованным текстом и получать зашифрованный результат, который соответствует результату операций, выполняемых с открытым текстом. Обычно рассматривают операции
сложения и умножения. Частично гомоморфные криптосистемы – это такие криптосистемы, которые гомоморфны относительно только одной операции (сложения или умножения). Например, коды RSA и Эль-Гамаля гомоморфны относительно операции умножения. В 2009 году Крейгом Джентри из компании IBM был предложен полностью гомоморфный код [44], то есть код, гомоморфный для операций умножения и сложения одновременно. Очевидно, что гомоморфные коды естественно использовать в облачных средах. Однако при повышении уровня безопасности размер зашифрованного текста стремительно растет, что затрудняет применение метода Крейга Джентри на практике. Тем не менее, компания IBM выпустила свободную криптографическую библиотеку HElib с поддержкой гомоморфного шифрования [45].

Идентификация спам-страниц

Наглядным примером использования крупномасштабного графа является задача идентификации спам-страниц в поисковых сервисах сети Интернет. Поскольку для определения страниц, содержащих спам, требуются большие вычислительные возможности, разумно пытаться решить данную задачу посредством облачных технологий. Например, в работе [46] проблема идентификации спама представлена как задача бинарной классификации с обучаемым классификатором. Поскольку разделение нормальных web-страниц и страниц, содержащих спам, является линейно неотделимой проблемой, в упоминаемой работе предлагается применять «алгоритм с мягким зазором для метода опорных векторов» (Soft margin SVM – Soft margin Support Vector Machines). Для реализации алгоритма была выбрана распределенная вычислительная платформа Hadoop, а точнее HDFS (распределенная файловая система) и Hadoop MapReduce (фреймворк для реализации MapReduce-вычислений). HDFS – Hadoop Distributed Filesystem – принадлежит Apache Software Foundation, имеет открытый исходный код, предоставляет пользователям прозрачную низкоуровневую распределенную инфраструктуру. Инфраструктура MapReduce разработана компанией Google и имеет открытый исходный код реализации. На основе принципов MapReduce построена Hadoop MapReduce.

В алгоритме Soft margin SVM целевая функция для линейного классификатора [46] имеет вид

где l – параметр; ||w|| 2 = w * w – классификационный интервал.

К целевой функции предлагается добавить регуляризационный фактор

где aij – вес ссылки со страницы i на страницу i; q – штрафная функция.

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

Процесс идентификации спам-страниц с использованием Hadoop MapReduce можно описать следующим образом.

На Map-шаге происходит предварительная обработка входных данных. Для этого один из компьютеров (называемый главным узлом – master node) получает входные данные задачи, разделяет их на части и передает другим компьютерам (рабочим узлам – worker node) для предварительной обработки. Так, на Map-шаге каждый документ разбивается на слова и возвращаются пары key, value>, где ключом является само слово, а значением имя документа. Если в документе одно и то же слово встречается несколько раз, после предварительной обработки данного документа будет столько же пар, сколько раз встретилось это слово. Все пары с одинаковым ключом объединяются и передаются на вход функции reduce.

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

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

Адаптированная векторная модель (VSM – Vector Space Model) позволяет представлять коллекции документов векторами из одного общего для всей коллекции векторного пространства.

Более формально алгоритм можно описать следующим образом. Текст можно представить в виде
n -мерного вектора d = (w1, w2, …, wn), где wi (i = 1, 2, …, n) обозначает вес i-го термина (слова). В работе [46] для вычисления веса термина в векторной модели применялся алгоритм TFIDF (Term Frequency–Inverse Document Frequency), описываемый формулой

где tfij – нормализованная частота термина, то есть нормированное количество появлений слова в документе (Normalized Term Frequency); idfi – логарифм от обратной частоты документа относительно данного слова, то есть величина, обратная количеству документов, которые содержат конкретное слово (Reverse Document Frequency).

Нормализованная частота терма tfij вычисляется по формуле

где fij – количество вхождений терма ti в документ dj; |dj| – общее количество слов в документе.

Обратная частота документа idfi вычисляется по формуле

где N – общее количество документов в коллекции; dfi – количество документов, содержащих слово ti по крайней мере один раз.

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

Здесь token – каждое отдельно взятое слово документа; Label – имя просматриваемого документа; contents – текст просматриваемого документа.

На стадии классификации web-страниц происходит разделение файлов согласно их размерам, Mapper и Reducer завершают задачу параллельно. Алгоритм позволяет улучшить точность распознавания и сократить время отклика.

Поиск информации

Еще один яркий пример применения облачных технологий – организация поиска. Например, в работе [47] рассматривается задача нечеткого поиска по ключевым словам в зашифрованных данных.

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

Построение нечеткого множества слов wt на основе подстановки с фиксированным расстоянием d обозначим , где означает набор слов w¢t с шаблоном t. Например, для слова CASTLE при d = 1 нечеткое множество ключевых слов, построенное на основе подстановки, будет
S CASTLE , 1 = CASTLE, *CASTLE, *ASTLE, C*ASTLE, C*STLE, …, CASTL*E, CASTL*, CASTLE*>. Точнее – речь идет об окрестности определенного радиуса данного слова. При этом рассматривается метрика Левенштейна. Шаблоны используются для краткого описания множества слов, входящих в окрестность.

В общем случае для заданного ключевого слова wi с длиной l размер множества при прямом подходе (то есть при перечислении всех слов, входящих в данное множество) будет равен (2l + 1) ´26 + 1, в то время как при подходе с использованием шаблонов получается 2l + 1 + 1, что намного меньше. Предложенный алгоритм позволяет значительно сократить место для хранения индексов, которые потребуются при поиске: вместо 30 Гб необходимо примерно 40 М.

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

1. Для построения индекса слова wi с расстоянием d владелец данных сначала строит нечеткое множество ключевых слов , используя технику, основанную на подстановке. Затем вычисляет множество так называемых люков для каждого с секретным ключом sk, известным только владельцу данных и авторизованному пользователю. Владелец шифрует данные. Таблица индексов и зашифрованные файлы с данными передаются в облачный сервер для хранения.

2. Поиском по (w, k) авторизованный пользователь вычисляет множество так называемых люков , где sw ,k также получено при построении нечеткого множества на основе подстановки. Затем он отправляет на сервер.

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

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

Тенденции развития облачных технологий

Таким образом, облачные вычисления можно рассматривать как новый подход, который даст мощный импульс дальнейшему развитию информационных технологий и вычислительных наук. Отметим, что распределенные и параллельные вычисления в Европе и Америке были поддержаны в широких масштабах. Например, за последние 10 лет в Европе в распределенные и параллельные вычисления было вложено свыше 1 миллиарда евро. В настоящее время в Европе развивается проект VENUS-C, который финансируется, чтобы более детально выявить возможности использования облачных вычислений для исследований и в промышленности.

Предшественниками облачных вычислений принято считать многочисленные и широко известные технологии, такие как ресурсные вычисления, grid-вычисления, виртуализация, гипервизоры и многое другое [4, 48]. Сервис-ориентированная архитектура (Service-Oriented Architecture – SOA) также сыграла важную роль в развитии облачных вычислений. Облачные вычисления являются в некотором смысле расширением SOA-приложений. В последнее время с SOA наравне с Web 2.0 более тесно связывают технологию мэшапов (Mashup). С технической точки зрения мэшап – это web-приложение, которое объединяет в один интегрированный инструмент данные, полученные из нескольких источников. Известными примерами мэшапов являются web-сервисы, использующие картографические данные Google Maps.

Однако это далеко не единственное направление развития мэшапов. Дальнейшее совершенствование связано с методами получения агрегированной информации из сети – web-потоки (RSS, Atom) [17]. Многое делается в развитии методов ускоренного разбора HTML-страниц, когда от задачи требуется не получение макета страницы, а выборка определенной информации, представленной там. Интересны эксперименты с мэшапами, которые проводятся с использованием API для доступа сразу к нескольким сайтам. В связи с этим часто упоминают об интегрированной выборке информации с сайтов Amazon, eBay, Flickr, Google, Microsoft, Yahoo, YouTube. Еще один пример – недавно открытые API для российского почтового портала Mail.ru. Подобные приложения позволяют активно использовать российский информационный контент с переходом к облачным моделям вычислений.

Основная цель предприятий и поставщиков, осваивающих облачные решения [4], заключается в том, чтобы обеспечить предприятию ИТ-инфраструктуру как услугу. Опыт, накопленный при интеграции и предоставлении корпоративных приложений как отдельных услуг, сегодня пытаются применять и при организации уровней инфраструктуры. Предполагается, что ПО и физическая инфраструктура, как и приложения в SOA, должны быть доступными для обнаружения, управляемыми и регулируемыми. Естественно, возникает необходимость создания специальных стандартов, которые описывали бы, как обнаруживать, потреблять, администрировать и регулировать услуги. Открытые стандарты имеют ключевое значение для получения максимальной мощности и гибкости от использования облачных технологий [4]. И хотя в настоящее время разработка новых стандартов еще продолжается, часть новых технологий находится на стадии активного внедрения. Например, для взаимодействия с облачными сервисами сейчас действует стандарт, предусматривающий использование браузеров на стороне клиента, которые поддерживают технологию AJAX. Их работа в автономном режиме должна соответствовать открытой спецификации HTML5.

Сегодня существует масса технологий, обеспечивающих решения на основе облачных вычислений. Если несколько лет назад их было трудно реализовать из-за отсутствия всеобъемлющих, понятных инструментов, таких как средства для упаковки и развертывания приложения в облачной инфраструктуре или привязки к инфраструктуре поставщика облака, то сейчас существуют стандарты, которые призваны обеспечить всеобщую поддержку средств виртуализации. Открытым стандартом для работы в облачной среде является OVF (Open Virtual Machine Format). Он описывает предъявляемые к поставщикам виртуальных услуг требования по упаковке и развертыванию виртуальных объектов, передаваемых клиентам облачных сервисов. Важно отметить, что OVF не накладывает ограничений на выбор гипервизора или применение определенной процессорной архитектуры. Это делает его открытым для платформ от разных поставщиков, что нашло подтверждение в полной поддержке предварительной версии OVF, оказанной практически всеми основными поставщиками средств виртуализации: Dell, HP, IBM, Microsoft, VMWare и XenSource.

Облачный стандарт также не ограничивает выбор программных решений, которые могут применяться для работы. Современный набор решений называют LAMP (акроним от Linux, Apache HTTP Server, MySQL и Perl/PHP/Python); обмен данными выстраивается на технологиях XML и JSON (текстовый формат обмена данными, основанный на JavaScript), для работы с web-сервисами предусматривается использование REST (REpresentational State Transfer). Эта технология описывает подход, когда для работы с данными должен применяться достаточно узкий набор стандартных форматов. Тем самым строго ограничивается разнообразие методов взаимодействия между объектами и снижается сложность задействованных протоколов [17].

Важными являются стандарты, обеспечивающие работу прикладных программ: поддержку коммуникационных функций на базе HTTP и XMPP (Extensible Messaging and Presence Protocol, открытый коммуникационный протокол для ПО класса Middleware, основанный на XML), средства безопасности (OAuth, OpenID, SSL/TLS) и агрегирования при передаче данных (Atom).

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

Для групп разработчиков, помимо готовой среды исполнения, облако дает еще одно преимущество: оно может предложить такую разновидность SaaS, как инструменты как услуги. Вследствие этого интегрированная среда разработки (IDE – Integrated Development Environment) и простые редакторы кода становятся хостируемыми программами, доступными любому разработчику в любое время. Это исключает потребность в локальных средах разработки и, соответственно, в лицензиях на каждую машину, что, несомненно, удобно.

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

Как уже отмечалось ранее, слабым местом облачных технологий является безопасность информации. До сих пор стандартизация в этой области отсутствует. Это привело к тому, что каждый разработчик облачной платформы выбирает сегодня собственную модель обеспечения безопасности. Например, для Amazon EC2 и Eucalyptus (решение Open Source с целью создания частного облака) применяются пары из сертификатов X.509 и персональных ключей для аутентификации; в Google App Engine используется предварительная аккредитация через Google Accounts.

В результате возникшей разнородности пока наблюдаются трудности при обеспечении взаимодействия решений, построенных в разных облачных платформах. Одновременно это сдерживает внедрение новых функций защиты. Необходимость решения этих вопросов послужила причиной для создания в 2010 году рабочей группы Open Cloud Computing Interface (OCCI) Working Group, которая занимается разработкой стандартов в этой области. Сейчас ее деятельность затрагивает также выпуск стандартизированного набора допустимых операций, а также предоставление полной спецификации на процедуры аутентификации с применением стандартных для HTTP механизмов и средств шифрования на базе криптографических протоколов SSL/TLS.

Таким образом, можно выделить четыре направления, которые необходимо развивать для обеспечения безопасности построения облачного ЦОД:

– безопасное хранение данных в облачных хранилищах;

– безопасное исполнение заданий;

– безопасная передача данных;

– безопасный доступ к данным.

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

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

Некоторые вызовы и риски

В настоящее время развитие информационных технологий идет очень быстрыми темпами, поэтому естественны попытки в той или иной мере спрогнозировать будущее. В частности, обсуждаются различные возникающие вызовы и риски (challenges and risks), с которыми может столкнуться общество. Авторы данной статьи также попытались сделать определенные выводы на эту тему. Конечно, в процессе развития с течением времени может оказаться, что какие-то из высказанных положений могут оказаться неверными.

Итак, по мнению авторов, в строительстве больших центров данных можно увидеть стремление некоторых транснациональных корпораций типа Microsoft, IBM, Google к овладению большими объемами информации. Развитие происходящих сегодня событий можно представить следующим образом.

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

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

Центры данных позволяют аккумулировать разнообразную информацию: политическую, военную, экономическую, социологическую, технологическую и др., с помощью автоматизированных методов вести одновременный диалог с большим количеством людей. Например, компания IBM для обсуждения ряда технологических проблем привлекла около 140 тысяч человек. На специальном сайте Innovation Jam 2008 обсуждались вопросы изменения бизнес-моделей, взаимодействия с потребителями, глобальной интеграции и защиты окружающей среды. Innovation Jam строится на разработанном в IBM инструментарии для Web 2.0. Пройдя регистрацию, участник попадает на регулируемый модераторами сайт, где в форме форумов и чатов идет обсуждение по заданным темам и ответвляющимся от них вопросам. Здесь же в реальном времени отображается подробная статистика по дискуссиям в мире и отдельных странах. Помощь модераторам в слежении за ходом разговоров и в их последующей классификации оказывает автоматизированное средство обработки текста e-Classifier. То есть, грубо говоря, теперь оказывается возможным осуществлять мозговые штурмы с участием 140 тысяч человек.

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

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

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

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

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

Центры данных могут быть объектами, интересными для террористов и как средство получения информации, и как объект террористических акций. В случае военных конфликтов центры данных могут стать важными целями. Естественно, что военные и спецслужбы типа Агентства национальной безопасности США уже создают свои центры данных, в том числе глубоко законспирированные.

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

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

Литература

2. Медведев А. Облачные технологии: тенденции развития, примеры исполнения // Современные технологии автоматизации. 2013. № 2. С. 6–9.

4. Amrhein D., Quint S. Cloud computing for the enterprise: Part 1: Capturing the cloud. 2012. URL: http://www.ibm.com/developerworks/websphere/techjournal/0904_amrhein/0904_amrhein.html (дата обращения: 29.05.2014).

6. Gartner призывает к правильному пониманию частного облака. 2012. URL: http://www.crn.ru/news/
detail.php?ID=73064 (дата обращения: 29.05.2014).

7. Орландо Д. Модели сервисов облачных вычислений: инфраструктура как сервис. 2012. URL: http://www.ibm.com/developerworks/ru/library/cloudservices1iaas/ (дата обращения: 29.05.2014).

8. Орландо Д. Модели сервисов облачных вычислений: платформа как сервис. 2012. URL: http://www.ibm.com/developerworks/ru/library/cl-cloudservices2paas/ (дата обращения: 29.05.2014).

9. Орландо Д. Модели сервисов облачных вычислений: программное обеспечение как сервис. 2012. URL: http://www.ibm.com/developerworks/ru/library/cl-cloudservices3saas/ (дата обращения: 29.05.2014).

10. Шуклин А. Топ-6 облачных хранилищ данных. 2012. URL: http://digit.ru/technology/20130731/
403909541.html (дата обращения: 29.05.2014).

11. Хики Э. Топ-20 вендоров облачного хранения данных и решений для ЦОДов. 2012. URL: http://www.crn.ru/news/detail.php?ID=63597 (дата обращения: 29.05.2014).

12. Маккарти Д. 100 самых перспективных поставщиков облачных решений. 2012. URL: http://www.crn.ru/numbers/spec-numbers/detail.php?ID=79648 (дата обращения: 29.05.2014).

13. Google App Engine. 2012. URL: http://en.wikipedia.org/wiki/Google_App_Engine (дата обращения: 29.05.2014).

15. Не все облачные хранилища одинаковы. 2012. URL: http://www.hi-lo.ru/news/survey-not-all-storage-clouds-are-alike (дата обращения: 29.05.2014).

17. Новиков И. Облачные вычисления: на пороге перемен. 2012. URL: http://www.pcmag.ru/solutions/sub_detail.php?ID=44441&SUB_PAGE=1 (дата обращения: 29.05.2014).

18. Surana A., Vellal D., Guru R. Introducing IBM LotusLive. 2012. URL: http://www.ibm.com/developerworks/lotus/library/lotuslive-intro/index.html (дата обращения: 29.05.2014).

24. Рудницкий Г. Microsoft представила первых крупных российских клиентов Windows Azure. 2012. URL: http://www.it-weekly.ru/market/business/29410.html (дата обращения: 29.05.2014).

25. Васильев В.Н., Князьков К.В., Чуров Т.Н., Насонов Д.А., Марьин С.В., Ковальчук С.В., Бухановский А.В. CLAVIRE: облачная платформа для обработки данных больших объемов // Информационно-измерительные и управляющие системы. 2012. Т. 10. № 11. С. 7–16.

26. Dignan L. SlideShare dumps Flash goes HTML5: Developer resources vs. multiple apps. 2012. URL: http://www.zdnet.com/blog/btl/slideshare-dumps-flash-goes-html5-developer-resources-vs-multiple-apps/59006 (дата обращения: 29.05.2014).

28. Fabrizio Gagliardi – Director for Research Connections at Microsoft Research. 2012. URL: http://eai.eu/bio/fabrizio-gagliardi-director-research-connections-microsoft-research (дата обращения: 29.05.2014).

29. Kumar S., Buyya G., Buyya R. Green Cloud computing and Environmental Sustainability // IEEE Xplore Digital Library, Cloud Computing and Distributed Systems (CLOUDS) Laboratory. Dept. of Comp. Sci. and Software Engineering, Univ. of Melbourne, Australia, 2012, 27 p.

31. C-Y Sheu P., Shu Wang, Qi Wang , Ke Hao, Ray P. Semantic Computing, Cloud Computing, and Semantic Search Engine. IEEE Intl Conf. on Semantic Computing, 2009, pp. 654–657.

32. O’ Brien N.S., Johnston S.J., Hart E.E., Djidjeli K., Cox S.J. Exploiting Cloud Computing for Algorithm Development. IEEE Intl Conf. on Cyber-Enabled Distributed Computing and Knowledge Discovery, 2011, pp. 336–342.

33. Doddavula S.K., Saxena V. Implementation of a Secure Genome Sequence Search Platform on Public Cloud. Third IEEE Intl Conf. on Cloud Computing Technology and Science, 2011, pp. 205–212.

34. Papadopoulos A., Katsaros D. A-Tree: Distributed Indexing of Multidimensional Data for Cloud Computing Environments. Third IEEE Intl Conf. on Cloud Computing Technology and Science, 2011, pp. 407–414.

35. Weinman J. Mathematical Proof of the Inevitability of Cloud Computing. 2011. URL: http://www.JoeWeinman.com/Resources/Joe_Weinman_Inevitability_Of_Cloud.pdf (дата обращения: 29.05.2014).

36. Петров Д.Л. Алгоритмы миграции данных в высокомасштабируемых облачных системах хранения // Автореф. … канд. дисс. С.-Петербургский гос. электротехнич. ун-т «ЛЭТИ» им. В.И. Ульянова (Ленина). СПб, 2011. 18 с.

37. Суханов В.И. Минимизация трафика в облачной инфраструктуре // Науч. журн. КубГАУ. 2012.
№ 78 (04). С. 1–10.

38. Fei Teng Management des données et ordonnancement des tâches sur architectures distribuées. Thèse, Grade de Docteur, Ėcole Centrale Paris et Manufactures, 2011, 188 p.

39. Haeberlen A., Ives Z. Graph algorithms in MapReduce. NETS 212: Scalable and Cloud Computing. Univ. of Pennsylvania, October 15, 2013, Presentation, 61 slides.

40. Redekopp M., Simmhan Y., Prasanna V.K. Performance Analysis of Vertex-centric Graph Algorithms on the Azure Cloud Platform. Workshop on High-Performance Computing meets Databases (HPCDB), 2011, Salt Lake City, UT, USA, 8 p.

41. Kannan R., Vempala S., Woodruff D.P. Nimble Algorithms for Cloud Computing. 2012. URL: http://arxiv.org/abs/1304.3162 (дата обращения: 29.05.2014).

42. Ghoting A., Kambadur P., Pednault E., Kannan R. NIMBLE: A Toolkit for the Implementation of Parallel Data Mining and Machine Learning Algorithms on MapReduce. Proc. of 17th ACM SIGKDD Conf. on Knowledge Discovery and Data Mining (KDD 2011). San Diego, CA, USA, 2011, pp. 334–342.

43. Туманов Ю.М. Защита сред облачных вычислений путем верификации программного обеспечения на наличие деструктивных свойств // Автореф. канд. дисс., М.: Изд-во НИЯУ «МИФИ», 2012. 20 с.

44. Gentry C. Fully Homomorphic Encryption Using Ideal Lattices // Proc. of 41st Annual ACM Symposium on Theory of Computing (STOC’ 09). ACM NY, NY, USA, 2009, pp. 169–178.

45. Github. 2012. URL: https://github.com/shaih/HElib (дата обращения: 29.05.2014).

46. Chen J., Xu Y., Li Y. Research about spam page identification based on cloud computing in search service // 4th IEEE Intl Conf. on Intelligent Human-Machine Systems and Cybernetics, 2012, pp. 77–80.

47. Li J., Wang Q., Wang C., Cao N., Ren K., Lou W. Fuzzy keyword search over encrypted data in cloud computing. Mini-Conf. IEEE INFOCOM, 2010, Digital Object Identifier 10.1109/INFOCOM.2010.5462196,
5 p.

Опишите что по вашему мнению вычисляет представленный ниже алгоритм как математически связаны

Задание 1: Заявка на поиск сотрудников
Опорный текст: Текст 1 (см. Приложение)

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

  • название проекта;
  • область знания аннотация, которая должна включать в себя следующие пункты:
  1. описание научного контекста вашего исследования: что сейчас исследуют в вашей и смежных областях науки, какое значение имеет ваше исследование для общества;
  2. цель исследования — что должно получиться в итоге?
  3. структура команды и потенциальные задачи для каждого сотрудника;
  4. образ идеального кандидата, который будет разделять философию и посыл вашего проекта;
  5. ожидаемые результаты для каждого из сотрудников: что получит новый участник вашей команды в результате сотрудничества с вами, статьи по каким темам сможет опубликовать, какие значимые для области навыки получит.

Задание 2: Публицистический материал
Опорный текст: Текст 1 (см. Приложение)

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

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

Приложение

Текст 1

Биотехнологии и Искусственный Интеллект: какие карьерные перспективы ждут биологов в ближайшем будущем
Текст подготовлен по материалам издания «Системный Блокъ»: https://sysblok.ru

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

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

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

До недавнего времени отрасль биотехнологий была слабо развита в России, и мы значительно отстали от большинства промышленно-развитых стран. Тем не менее, эта отрасль – одна из самых перспективных: в течение ближайших десятилетий она не только будет развиваться сама, но и кардинально повлияет на другие сферы: медицину, энергетику, производство сырья и материалов, городское и сельское хозяйство. Биотехнологии позволяют использовать живые системы для решения разнообразных проблем человечества. Стремление к максимальной экологичности, развитие генной инженерии и возможность смоделировать многие природные процессы с использованием компьютерных технологий подводят современную науку к многообещающим открытиям: новые источники энергии и органическая электроника, биоразлагаемые материалы и перепрограммирование генов. Часто биотехнологии позволяют находить новые решения на стыке отраслей – например, разработкой биотоплива совместно занимаются энергетики и микробиологи.

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

Биотехнологии как таковые необходимы в городах, в результате чего на арену труда в скором времени выйдут проектировщики живых систем, специалисты по планированию, проектированию и созданию технологий замкнутого цикла с участием генетически модифицированных организмов и микроорганизмов. Такие профессионалы будут незаменимы в автономных городах – они смогут рассчитать необходимую мощность биореакторов, разработают проекты городских ферм и тщательно продумают систему переработки мусора. Но для того чтобы эти города появились, необходим труд и урбанистов-экологов. Они — проектировщики новых городов на основе экологических биотехнологий; специализируются в областях строительства, энергетики и контроля загрязнения среды. Эта профессия востребована уже сейчас – высокотехнологичные «зеленые города» проектируют и строят в Малайзии, Китае, Арабских Эмиратах, Индии, Южной Корее и странах Европы.

Но до великого и светлого экологически чистого будущего еще далеко, а пока что на ринг выходит профессия паркового эколога. Это профессионалы, в задачи которых входит мониторинг и анализ экологического состояния общественных пространств (парков, скверов, площадей, аллей и др.), разработка и внедрение решений по озеленению, заселению территории животными, птицами, насекомыми и принятие других мер по поддержанию экологического баланса на зеленой территории внутри города. Например, в лондонской организации The Royal Parks, курирующей восемь городских парков, есть своя команда экологов, задача которой – заботиться о 418 редких видах растений, животных и грибов. Впрочем, можно считать эту специальность новой вариацией уже давно существующей профессии – «городской эколог», которая появилась еще в 1970-х годах.

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

Текст 2

Что такое инсулин и какова его роль в организме человека?
Автор: Калякин С. Н.
Источник: https://moluch.ru/young/archive/31/1826/

В современном мире большое количество людей подвержены сахарному диабету. Плохая экологическая обстановка, неправильный тип питания, вредные привычки — все это может привести к этому заболеванию. Многие люди даже не подозревают, что имеют этот диагноз. С каждым годом количество заболевших растет на несколько процентов. По данным ВОЗ, число больных сахарным диабетом в мире удваивается каждые 15 лет. На сегодняшний день в мире процент заболевших составляет 7,1 % — это около 371 миллиона человек. В РФ количество людей, страдающих данным заболеваниям, составляет около 6 %, более 280 тысяч человек имеют сахарный диабет I типа. Эти люди зависят от ежедневного введения инсулина, среди них 16 тысяч детей и 8,5 тысяч подростков.

Так что же такое сахарный диабет? Это заболевание, приводящее к нарушению обмена веществ, характеризующееся повышением содержания сахара в крови, когда возникает хроническая нехватка инсулина. Инсулин — это гормон, синтезирующийся в поджелудочной железе, а именно в клетках, которые называются островки Лангерганса (ОЛ).

Клетки поджелудочной железы представлены двумя типами: ацинус, вырабатывающий ферменты и участвующий в пищеварительной функции, и упоминавшиеся ранее островки Лангерганса, основная функция которых — синтезировать гормоны. В самой железе островков немного: они составляют 1–2 % от всей массы органа. Всего существует пять типов клеток ОЛ: они разнятся между собой по строению и функциям. Они могут участвовать в ответе на стрессовые реакции, секретируют активные вещества, регулирующие углеводный обмен и пищеварение. К ним относятся следующие виды клеток. α-клетки, занимающие 25 % площади ОЛ, вырабатывают глюкагон — гормон, повышающий уровень глюкозы в крови и снижающий уровни кальция и фосфора. β-клетки (60 %) являются основными и отвечают за выработку инсулина и амилина — компаньонов инсулина в регуляции уровня глюкозы в крови. δ-клетки (10 %) образуют внешний слой в островках, продуцируют соматостатин — гормон, значительная часть которого синтезируется в гипоталамусе. РР-клетки (5 %) располагаются по периферии, вырабатывают вазоактивный интестинальный полипептид (ВИП), панкреатический полипептид (ПП), который способствует ослаблению свойств холестерина и обладает спазмолитическими свойствами в отношении гладкой мускулатуры желчного пузыря. Эпсилон-клетки — самые редкие из входящих в состав ОЛ (менее 1 %), синтезируют грелин и имеют возможность влиять на аппетит.

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

Инсулин — это простой белок, состоящий из полипептидных цепей (А-цепь (21 аминокислота) и В-цепь (30 аминокислот)), связанных между собой дисульфидными мостиками. Его молекулярная масса равна 5,7 кДа. Инсулин синтезируется в поджелудочной железе в виде проинсулина, который путем органического протеолиза превращается в инсулин. При этом от проинсулина отщепляется С-пептид и 33 аминокислотных остатков. После чего он следует в аппарат Гольджи, где упаковывается в определенные гранулы вместе с ферментами, необходимыми для «созревания» гормона. В готовых гранулах инсулин находится в кристаллическом состоянии в виде гексамера, образуемого с участием двух ионов Zn2+.

Вместе синтез и секреция инсулина начинаются во время приема пищи, когда полностью готовая гранула сливается с клеточной мембраной и ее содержимое полностью выдавливается из клетки в кровь, нормализуя уровень глюкозы. Однако сама секреция инсулина происходит постоянно, и около 50 % инсулина, высвобождаемого из β-клеток, никак не связаны с приемами пищи — это называется базальный уровень инсулина. В течение суток поджелудочная железа выделяет примерно 1/5 от запасов имеющегося в ней инсулина. Главным стимулятором секреции инсулина является повышение концентрации глюкозы в крови выше 5,5 ммоль/л.

После проникновения глюкозы в β-клетки (через белок-переносчик ГлюТ-1, 2) она фосфорилируется гексокиназой IV (глюкокиназа, обладает низким сродством к глюкозе), далее она аэробно окисляется, накапливается в аденозинтрифосфате (АТФ), тем самым стимулируя закрытие ионных K+-каналов, что приводит к деполяризации мембраны, открытию потенциал-зависимых Ca2+-каналов и притоку ионов Ca2+ в клетку. Поступающие ионы Ca2+ активируют фосфолипазу C и запускают Ca-фосфолипидный механизм проведения сигнала с образованием диацилглицерола (ДАГ) и инозитол-трифосфата (ИФ3), что ускоряет накопление ионов Ca2+ в цитозоле. Резкое увеличение концентрации ионов Ca2+ в клетке приводит к перемещению секреторных гранул к плазматической мембране, их слиянию с ней и экзоцитозу кристаллов зрелого инсулина наружу. Затем происходит распад кристаллов, отделение ионов Zn2+ и выход молекул активного инсулина в кровоток. Рецепторы инсулина находятся практически на всех клетках организма, кроме нервных.

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

Неотъемлемую часть в синтезе инсулина играет вещество C-пептид, синтезирующееся в β-клетках поджелудочной железы. Его наличие в крови является показателем того, есть у человека сахарный диабет или нет. С-пептид остается биологически неактивным и сам по себе не выполняет никаких регуляций, но его наличие отражает концентрацию инсулина в крови. Нормой для человека является соотношение инсулин – С-пептид – 5:1. Такое соотношение было определено как нормативное потому, что время полураспада инсулина гораздо больше, чем у C-пептида.

На снижение уровня глюкозы в крови влияет физическая активность, на его повышение — углеводное питание и стресс. Организм здорового человека способен контролировать уровень глюкозы в крови, но организм людей, болеющих сахарным диабетом, не способен это делать, поэтому у них могут возникать состояния гипо- и гипергликемии. Гипогликемия — это критическое понижения сахара в крови. А гипергликемия, наоборот, состояние, при котором концентрация глюкозы в крови выше нормы. Эти состояния характерны не только для людей, страдающих сахарным диабетом. Здоровые люди также подвержены гипо- и гипергликемии, но у них это менее выражено. Норма уровня глюкозы в плазме крови составляет 4,0–6,1 ммоль/л, в цельной крови 3,3–5,5 ммоль/л. Гипогликемию отмечают при уровне глюкозы менее 2,8 ммоль/л, гипергликемию — когда уровень глюкозы составляет 6,5 ммоль/л натощак и 8,9 ммоль/л в любое время. Первыми признаками гипогликемии являются головные боли, сонливость, бледность, тошнота, чувство голода. А при гипергликемии симптомами являются частое мочеиспускание, жажда, помутнение зрения, тошнота.

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

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

Криптографический алгоритм «Кузнечик»: просто о сложном

В данной статье будет подробно рассмотрен алгоритм блочного шифрования, определенный в ГОСТ Р 34.12-2015 как «Кузнечик». На чем он основывается, какова математика блочных криптоалгоритмов, а так же как реализуется данный алгоритм в java.

Кто, как, когда и зачем разработал данный алгоритм останется за рамками статьи, так как в данном случае нас это мало интересует, разве что:

КУЗНЕЧИК = КУЗнецов, НЕЧаев И Компания.

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

Поля Галуа

Арифметика полей Галуа — полиномиальная арифметика, то есть каждый элемент данного поля представляет собой некий полином. Результат любой операции также является элементом данного поля. Конкретное поле Галуа состоит из фиксированного диапазона чисел. Характеристикой поля называют некоторое простое число p. Порядок поля, т.е. количество его элементов, является некоторой натуральной степенью характеристики , где m ϵ N. При m=1 поле называется простым. В случаях, когда m>1, для образования поля необходим еще порождающий полином степени m, такое поле называется расширенным. – обозначение поля Галуа. Порождающий полином является неприводимым, то есть простым (по аналогии с простыми числами делится без остатка на 1 и на самого себя). Так как работа с любой информацией — это работа с байтами, а байт представляет из себя 8 бит, в качестве поля берут и порождающий полином:

Однако для начала разберем основные операции в более простом поле с порождающим полиномом .

Операция сложения

Самой простой является операция сложения, которая в арифметике полей Галуа является простым побитовым сложением по модулю 2 (ХОR).

Сразу обращаю внимание, что знак «+» здесь и далее по тексту обозначает операцию побитового XOR, а не сложение в привычном виде.

Таблица истинности функции ХОR

В полиномиальном виде данная операция будет выглядеть как

Операция умножения

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

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

Перемножим два числа в полиномиальной форме:

Результат умножения 27 не входит в используемое поле (оно состоит из чисел от 0 до 7, как было сказано выше). Чтобы бороться с этой проблемой, необходимо использовать порождающий полином.

Также предполагается, что x удовлетворяет уравнению , тогда

Составим таблицу умножения:

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

Таким образом, составим таблицу степеней:

Таблица степеней обладает цикличностью: седьмая степень соответствует нулевой, значит восьмая соответствует первой и т.д. При желании можно это проверить.

В полях Галуа существует понятие примитивного члена – элемент поля, чьи степени содержат все ненулевые элементы поля. Видно, что этому условию соответствуют все элементы (ну кроме 1, естественно). Однако это выполняется не всегда.

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

Воспользовавшись этим свойством, и учитывая цикличность таблицы степеней, попробуем снова перемножить числа:

Результат совпал с тем, что мы вычислили раньше.

А теперь выполним деление:

Полученный результат тоже соответствует действительности.

Ну и для полноты картины посмотрим на возведение в степень:

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

Теперь вернемся к нашему полю

Нулевой элемент поля — это единица, 1-й — двойка, каждый последующий со 2-го по 254-й элемент вычисляется как предыдущий, умноженный на 2, а если элемент выходит за рамки поля, то есть его значение больше чем , то делается XOR с числом , это число представляет неприводимый полином поля , приведем это число в рамки поля . А 255-ый элемент снова равен 1. Таким образом у нас есть поле, содержащее 256 элементов, то есть полный набор байт, и мы разобрали основные операции, которые выполняются в этом поле.

Таблица степеней двойки для поля

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

Сеть Фейстеля

Сеть Фейстеля — это метод блочного шифрования, разработанный Хорстом Фейстелем в лаборатории IBM в 1971 году. Сегодня сеть Фейстеля лежит в основе большого количества криптографических протоколов.

Сеть Фейстеля оперирует блоками открытого текста:

  1. Блок разбивается на две равные части — левую L и правую R.
  2. Левый подблок L изменяется функцией f с использованием ключа K: X = f(L, K). В качестве функции может быть любое преобразование.
  3. Полученный подблок X складывается по модулю 2 с правым подблоком R, который остался без изменений: X = X + R.
  4. Полученные части меняются местами и склеиваются.

Рисунок 1. Ячейка Фейстеля

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

Алгоритм шифрования

Теперь мы познакомились с используемыми операциями и можем перейти к основной теме — а именно криптоалгоритму Кузнечик.

Основу алгоритма составляет так называемая SP сеть — подстановочно-перестановочная сеть (Substitution-Permutationnetwork). Шифр на основе SP-сети получает на вход блок и ключ и совершает несколько чередующихся раундов, состоящих из стадий подстановки и стадий перестановки. В «Кузнечике» выполняется девять полных раундов, каждый из которых включает в себя три последовательные операции:

  1. Операция наложения раундового ключа или побитовый XOR ключа и входного блока данных;
  2. Нелинейное преобразование, которое представляет собой простую замену одного байта на другой в соответствии с таблицей;
  3. Линейное преобразование. Каждый байт из блока умножается в поле Галуа на один из коэффициентов ряда (148, 32, 133, 16, 194, 192, 1, 251, 1, 192, 194, 16, 133, 32, 148, 1) в зависимости от порядкового номера байта (ряд представлен для порядковых номеров от 15-ого до 0-ого, как представлено на рисунке). Байты складываются между собой по модулю 2, и все 16 байт блока сдвигаются в сторону младшего разряда, а полученное число записывается на место считанного байта.

Последний десятый раунд не полный, он включает в себя только первую операцию XOR.

Кузнечик — блочный алгоритм, он работает с блоками данных длинной 128 бит или 16 байт. Длина ключа составляет 256 бит (32 байта).

Рисунок 2. Схема шифрования и расшифрования блока данных

На схеме показана последовательность операций, где S — нелинейное преобразование, L — линейное преобразование, Ki — раундовые ключи. Сразу возникает вопрос — откуда берутся раундовые ключи.

Формирование раундовых ключей

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

Схема получения итерационных (раундовых) ключей

Если вспомнить рисунок 1, то левый подблок L — левая половина исходного ключа, правый подблок R — правая половина исходного ключа, K — константа Ci, функция f — последовательность операций R XOR Ci, нелинейное преобразование, линейное преобразование.

Итерационные константы Ci получаются с помощью L-преобразования порядкового номера итерации.

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

Давайте начнем с вычисления констант:
Первая констант , однако все преобразования в нашем алгоритме выполняются с блоками длиной 16 байт, поэтому необходимо дополнить константу до длины блока, то есть дописать справа 15 нулевых байт, получим

Умножим ее на ряд (1, 148, 32, 133, 16, 194, 192, 1, 251, 1, 192, 194, 16, 133, 32, 148) следующим образом:

(данное равенство приведено в операциях полей Галуа)
Так как все кроме нулевого байта равны 0, а нулевой байт умножается на 1, то получим 1 и запишем его в старший разряд числа, сдвинув все байты в сторону младшего разряда, получим:

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

Делаем третью итерацию, здесь два ненулевых слагаемых:

По таблице степеней можно было решить это гораздо проще:

Далее все точно также, всего 16 итераций на каждую константу

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *