[ad_1]
Об авторе: Марат Биктимиров, Фонд развития сетевых технологий «ИнДата».
С разрешения редакции журнала «Интернет изнутри» публикуем статью из ноябрьского номера, посвящённую теме, актуальной по многим причинам: децентрализация облачных сервисов хранения и обработки данных.
***
Облачные вычисления сегодня являются основой цифрового бизнеса. В последнее десятилетие эта отрасль развивалась необычайными темпами. Растущий интерес к облачным вычислениям вызывает ускорение технологических преобразований, в результате которых появляются тысячи новых облачных функций.
Такой темп инноваций в целом полезен, но, с другой стороны, приводит к усложнению действующей IT-инфраструктуры, а риски, связанные с облачными вычислениями, существенно возрастают. Поскольку системы облачных вычислений сугубо централизованы, любые перебои в предоставлении облачных услуг становятся крайне нежелательным явлением. По данным Cloud Academy [1], время простоя часто называют одним из самых больших недостатков облачных технологий.
Многие теперь задаются вопросом: как централизованная облачная инфраструктура может поддерживать взрывной рост данных и вычислительной мощности, гарантируя при этом устойчивость, безопасность, масштабируемость и оптимизацию ресурсов одновременно? Сегодня организации по всему миру осознали, что для удовлетворения требований к современной цифровой бизнес-инфраструктуре требуется искать децентрализованные подходы.
То, что новой тенденцией в мире информационных технологий стала децентрализация, – свершившийся факт. Многие проекты уже сегодня пробуют перевести свои сервисы с клиент-серверной архитектуры на формат взаимодействия «клиент-клиент». Одним из определений децентрализации считается отсутствие единого центра контроля и единой точки отказа. Для чего это вдруг стало нужно, в чём причина такой метаморфозы и причём тут «облака»? Попробуем разобраться.
Мир перешел в онлайн, и всё, что мы делаем сегодня в Интернете, все веб-приложения и социальные сети, – всё стало жить в центрах обработки данных (ЦОД).
Для того, чтобы предлагать услуги онлайн, бизнесу требуются скоростные каналы связи и мощные вычислительные ресурсы, предназначенные для обработки больших массивов данных. Это достаточно дорогое удовольствие, которое потенциально содержит риск ошибочной оценки, неверно спрогнозировавшей текущую и перспективную технологическую потребность [2].
Сегодня проблема владения вычислительными средствами эффективно решается с помощью услуг ЦОД – центров коллективного пользования, предоставляющих своим клиентам в аренду серверные мощности и обеспечивающих к ним высокоскоростной доступ. Такие ЦОД, как правило, управляются одной компанией – провайдером услуг, и вместо покупки собственного оборудования клиент арендует у провайдера масштабируемую в зависимости от текущих потребностей вычислительную мощность и пространство для хранения данных.
По мере развития этих услуг перестало быть важным, на каком конкретном сервере или даже в каком ЦОД находятся и обрабатываются те или иные данные. Теперь это называется просто «облако» – нечто расплывчатое, но всеохватывающее. Облачные провайдеры услуг конкурируют друг с другом по цене за вычислительную мощность, хранилище и трафик. При этом облачная инфраструктура предоставляется пользователю в качестве технологической страты, о принадлежности которой он обычно вспоминает, только когда сломается его веб-сайт или служба.
Сегодня практически каждый сервис, работающий онлайн, мигрировал в облако. Это, с одной стороны, приводит к существенному повышению производительности, но с другой – создает новые риски, а также новые требования к информационной защите, поскольку в этих сервисах циркулируют критически важные и приватные данные. Ну и традиционная задача выделения достаточного количества серверов для корректной работы не только никуда не делась, но и остается постоянной головной болью даже для крупных облачных провайдеров.
Итак, чтобы перевести весь мир в онлайн, пришлось изобрести совершенно новый системообразующий элемент IT-инфраструктуры: ЦОД. Однако, как говорится, «недолго музыка играла», и очень похоже, что мы стоим на пороге новых инфраструктурных преобразований.
В современном центре обработки данных могут одновременно работать десятки тысяч серверов. Они работают 24 часа в сутки 7 дней в неделю и требуют постоянного ухода и обслуживания. Иными словами, то, что делают эти ЦОД – не что иное, как управление информационной инфраструктурой, которую назвали «облаком». Облачные сервисы растут с необычайной скоростью. Объем данных в сферах связи и телекоммуникаций, бизнеса и финтеха, игровых и бытовых приложений, а теперь и в области искусственного интеллекта приближается к десяткам и даже сотням зетабайт. Масштабы требуемой под эту лавину инфраструктуры сложно себе представить. Как следствие – «облака» стали в полном смысле критически важной инфраструктурой. Поэтому и поиск решений для улучшения надёжности и управляемости этой инфраструктуры предвосхищает новые, по сути своей революционные изменения.
Сегодня ЦОД потребляют колоссальное количество электроэнергии. По некоторым оценкам, на них приходится около двух процентов всего мирового энергопотребления. При этом большая её часть используется для охлаждения серверного и обеспечивающего оборудования. В связи с этим ЦОД стало выгоднее располагать в регионах с более дешёвым электричеством и умеренным климатом. Кроме того, появляется всё больше запросов на оптимизированное с точки зрения загрузки серверных мощностей программное обеспечение. Возможно, при нынешнем росте объёмов вычислительных операций это тоже сможет оказать определённое влияние на энергоёмкость ЦОД. Однако как оптимизировать растущее энергопотребление?
Ещё одна не менее существенная проблема, как ни парадоксально, заключается в неэффективном использовании ЦОД. На поверку оказывается, что реально клиенты используют только часть серверных мощностей. Объясняется это, прежде всего, циклическим изменением объёма потребляемых услуг в зависимости от времени суток в пределах одного часового пояса. К примеру, ночью обычно заняты лишь единицы процентов ресурсов ЦОД – при том, что весь остальной ЦОД работает «вхолостую», продолжая потреблять энергию и выделять тепло. Оценочно в среднем используется только 15% мощности. Какая уж тут эффективность, когда 85% ЦОД просто греют атмосферу?!
Казалось бы, решение напрашивается само собой: находить и максимально использовать недозагруженные серверы, а не запускать всякий раз новые под каждую новую задачу. Логично предположить, что для любого перегруженного в определённый период времени ЦОД где-нибудь найдётся недогруженный или более того – малоиспользуемый ЦОД, на серверы которого можно было бы перенаправить избыточную вычислительную потребность.
Конечно, при этом неизбежно возникает напряжённость в сетях передачи данных, а для некоторых приложений качество связи весьма и весьма критично. Тем не менее, можно допустить, что для большой части задач такая альтернатива окажется вполне рабочей.
Очевидно, что здесь необходима оптимальная и широкомасштабная системная организация процесса. И тут мы переходим к идее децентрализованных облачных вычислений: вспомним, например, незаслуженно отодвинутую на периферию современных трендов идею распределённых вычислений под названием грид.
Концепция грид-вычислений возникла четверть века тому назад для проведения сложных расчётов в больших научных задачах. Для решения были необходимы такие объёмы ресурсов, которые бы значительно превосходили мощности локальных компьютерных систем, имевшихся в отдельных исследовательских организациях или научных центрах коллективного пользования.
Грид предложил новый подход, позволяющий решать большие задачи на существующей аппаратной базе. Суть подхода состояла в том, что расчётные задачи могут выполняться на совокупности ресурсов некоторого множества вычислительных систем. Такая концепция определяла принцип образования грид-инфраструктуры из распределённых в глобальном сетевом пространстве ресурсов и обеспечения к ним удалённого доступа из компьютерных приложений. Интеграция вычислительных ресурсов в грид-инфраструктуру, естественно, не ставила задачей изменение состава этих ресурсов, но задавала условия, при которых любая часть или даже все они могли бы использоваться для решения одной или нескольких больших задач.
Фактически, в качестве ресурсов рассматривались любые элементы, участвующие в вычислительном процессе: от «железа» до «софта». Соответственно, доступ к ним предусматривал дистанционный запуск и управление программными средствами на удалённых вычислительных машинах, а также размещение файлов в распределённых системах хранения.
Таким образом, грид рассматривался как виртуальный суперкомпьютер, объединяющий распределённые вычислительные машины посредством какой-либо шины, например, Ethernet или даже Интернет.
Но ведь и облако использует Интернет. В чём отличие? Целью облачного компьютинга, равно как и у грид, является интеграция большого количества ресурсов и обеспечение к ним удалённого доступа. Однако оба они используют разные способы организации и использования этих ресурсов.
В основе грид лежит распределённый подход: инфраструктура создаётся путём программной интеграции автономных ресурсных узлов с собственными системами управления с помощью так называемого MiddleWare (промежуточного или связующего программного обеспечения).
А облачные вычисления используют одноуровневую организацию инфраструктуры в виде облака. Все ресурсы облака управляются централизованной системой, которая, в частности, обеспечивает к ним прямой удалённый доступ [3].
И если сейчас облака в основном развиваются по пути расширения до огромных «облачных фронтов», то несложно предположить и правомерность другого способа развития вычислительной инфраструктуры: посредством интеграции различных облаков по технологии грид. Тогда средствами облачной технологии осуществляется управление ресурсами конкретного облака, а грид отвечает за поддержку вычислительных процессов в глобально распределённой̆ среде, которая объединяет облака провайдеров. Тут необходимо сказать, что прообраз облачного грида был создан ещё в 2014 году в рамках европейской научной грид-инфраструктуры. Здесь в основу интеграции был положен принцип непосредственного доступа ко всему множеству ресурсов, содержащихся в инфраструктуре облаков в соответствии с моделью обслуживания IaaS [4].
А что же нынешний бизнес с его модной приверженностью к облачным платформенным решениям PaaS? Очевидно, при таком подходе должна появиться возможность объединения облаков разного размера и разной локализации и, как следствие, возможность оптимального распределения нагрузки на ресурсы между ними в рамках одного платформенного решения. Децентрализация? В каком-то смысле, да, но…
В настоящее время бизнес-модель крупных поставщиков публичных облачных сервисов предполагает продвижение исключительно своих собственных платформенных решений как универсальных и охватывающих буквально все требования потенциального клиента, препятствуя претензиям конкурентов на «завоёванные территории».
В то же время на практике всё чаще возникает потребительский запрос на гибридные или мультиоблачные среды. А это означает, что провайдеры должны обеспечить интероперабельность между своими платформами. Возникает противоречие между интересами крупного провайдера, желающего продавать как можно больше облачной ёмкости растущему потребителю, и интересами клиента, который стремится эффективнее использовать возможность работы одновременно в нескольких облаках, например, когда нужно обмениваться данными с партнёрами, работающими с различными стандартами данных и бизнес-приложениями.
Вопрос в том, как сделать это глобально и надежно? Как вывести на общий облачный рынок провайдеров разного калибра?
Например, это можно сделать, объединив облачных провайдеров в некий консорциум, в котором они договариваются продавать свои ресурсы в соответствии с установленными правилами, не отвергающими ценовую конкуренцию. Для этого потребуется сформировать единую платформу, на которой провайдеры на равных смогут предлагать свои возможности клиентам.
Такая полностью автоматизированная платформа должна стать открытой, прозрачной и надёжной, чтобы поставщики и клиенты могли с уверенностью покупать и продавать облачные ресурсы. Она может функционировать на принципах так называемого обратного аукциона, когда несколько участников-членов консорциума предлагают аналогичные услуги и конкурируют друг с другом за одного клиента, который сможет выбирать между их предложениями. Это работает только в том случае, если есть уверенность, что все участники аукциона добросовестны.
Тут самое время вспомнить о блокчейне. Как известно, термин «блокчейн» объединяет в себе разные развивающиеся технологии с одной и той же архитектурой: общий неизменный онлайн-реестр, позволяющий безопасно и публично обмениваться данными и их хранить. В таком случае каждый облачный ресурс можно рассматривать как ноду (от англ. node – узел) сети блокчейна. Гарантом сделки будет выступать не централизованный облачный гигант, способный влиять на рынок, а смарт-контракты, оплачиваемые соответствующими токенами.
Токен являет собой запись в блокчейне, посредством которой каждый поставщик услуг на платформе сможет уверенно представить свои доступные ресурсы и условия для других заинтересованных сторон. Скажем, объём услуги может быть очерчен определенным типом и количеством токенов, которые чётко отслеживаются платформой. Всегда будет достоверно известно, когда, где и сколько ресурсов доступно. Механизм обратного аукциона устанавливает цену, и ни у кого нет никаких возможностей для манипуляций, поскольку все записано в реестре и доступно каждому для просмотра [5].
В результате, даже платформа, объединяющая небольших провайдеров, гипотетически сможет конкурировать с облачными «гигантами», предоставляя клиентам сопоставимые по качеству и надежности услуги с прозрачной, благодаря использованию блокчейна, ценовой политикой.
Справедливости ради надо сказать, что для многих пользователей выбор между локальным облаком и мультиоблачной децентрализованной средой может стать весьма непростым. И там, и там существуют свои преимущества и недостатки с точки зрения адаптивности, производительности, безопасности и соответствия техническим требованиям.
Представим себе, что в децентрализованных облаках может работать любое оборудование, размещённое в любом месте, куда подведено электричество и Интернет. Это открывает для потенциального пользователя невероятные возможности по конфигурированию арендуемых им мощностей. При этом, опять же благодаря технологии блокчейн, его доступ к вычислениям ограничить практически невозможно.
Соответственно, и стоимость услуги может оказаться значительно ниже, чем у централизованного облачного провайдера.
Но на самом деле не всё так радужно. Облачный провайдер обладает гарантированно надёжной инфраструктурой, обеспечивающей бесперебойный процесс вычислений, а вот нода децентрализованной среды этим похвастаться, увы, не сможет в силу распределённой же ответственности.
Критически важные клиентские данные и алгоритмы потенциально могут быть скомпрометированы излишне любопытным владельцем ноды. Безусловно, в такой ситуации к серьёзному провайдеру доверия будет многократно больше.
При всей привлекательности децентрализованные облачные решения на основе блокчейна представляют собой множество других проблем, таких как:
- обеспечение стимулирования и справедливого распределения доходов между поставщиками ресурсов;
- обеспечение масштабируемости инфраструктуры с учетом ограничений масштабируемости самого блокчейна;
- контроль правильности вычислений во избежание потенциальных вредоносных атак;
- обеспечение оптимального баланса между весом репутации поставщика и стоимостью его выхода на рынок;
- управление правом на удаление данных в случае вредоносной атаки или других сбоев [6].
Поэтому сегодня растёт интерес к тем гибридным или мультиоблачным платформам, в которых, например, потребитель может выбирать только отдельные услуги, отвечающие его запросам. А облачный провайдер волей-неволей вынужден пересматривать свои бизнес-модели предоставления услуг.
В связи с нерешёнными проблемами и слишком очевидными рисками сегодня децентрализованные облака не пользуются особым спросом у потребителей, предложений этой услуги на рынке тоже немного. Тем не менее, распределённые облачные вычисления, безусловно, имеют право на существование и наверняка смогут найти своих потребителей. Ведь платформы децентрализованного использования вычислительных ресурсов на основе блокчейна исследовательские коллективы развивают уже несколько лет [7].
Так, проект ANKR [8] представляет собой децентрализованное облачное решение, ставящее своей целью предложить клиентам инфраструктуру для запуска приложений по более низким ценам по сравнению с ценами традиционных поставщиков облачных услуг, а ЦОД – инфраструктуру для создания новых источников дохода за счет их недостаточно используемых вычислительных мощностей. Это должно быть достигнуто за счет обеспечения высокого уровня доступности услуг, простой интеграции и безопасной связи.
А проект Dfinity [9] представляет собой децентрализованное облачное решение, целью которого является предоставление условному мировому суперкомпьютеру «бесконечной» вычислительной мощности. Здесь применяется концепция «Искусственный интеллект – это закон», в которой всё подчиняется алгоритмической системе управления без посредников, сочетающей в себе «мудрость толпы» и традиционные технологии искусственного интеллекта для замораживания вредоносных смарт-контрактов, которые могут нанести ущерб интересам тех, кто использует платформу. Это фактически означает, что некоторые транзакции могут быть изменены и возвращены обратно, если они не одобрены системой алгоритмического управления, что является противоположным подходом по сравнению с такими криптовалютными проектами, как Bitcoin или Ethereum, где действует правило «Код – это закон», по которому пользователь фактически не может вернуть транзакцию после обработки.
К сожалению, децентрализованные облачные архитектуры на основе блокчейна все еще находятся в зачаточном состоянии, и по этой причине такие важные показатели, как качество обслуживания, производительность, масштабируемость, безопасность этих платформ будут иметь решающее значение в соперничестве с классическими облачными инфраструктурами.
Однако не будем забывать, что собственно Интернет изначально был задуман как децентрализованная система, хоть и развивался под воздействием мощных центростремительных сил. Стремление к росту прибыли, увы, почти всегда приводит к централизации. Но практика показывает, что в конечном счёте централизованные системы проигрывают. Во-первых, они не безразмерны, а во-вторых, плохо сочетаются с процессами трансформации современного мироустройства. Жизнь становится все более сложной, и централизованные системы не выдерживают свалившейся на них нагрузки.
Наша цивилизация богата ресурсами и неравнодушными людьми, ищущими способы их рационально использовать. Есть стойкое ощущение, что облака вкупе с блокчейном тоже поучаствуют в преобразовании реальности, требующей нового осмысления, и создадут, наконец, в отрасли «атмосферное» явление следующего поколения.
Литература
- Cloud Academy, «Disadvantages of Cloud Computing», June 2018.
- Kelsey Ruiz, «Architecture Series Part I: The Cloud», November 2021.
- Схандип Бхандари, «Грид-вычисления против облачных вычислений: разница и сравнение».
- Коваленко В.Н., Коваленко Е.И. Новый этап развития грида: грид из облаков // Препринты ИПМ им. М.В.Келдыша. 2018. No 168. 22 с. doi:10.20948/prepr-2018-168
- @drakononov, «Децентрализованные облачные вычисления — благо или зло?»
- R. Brundo Uriarte and R. De Nicola, «Blockchain-Based Decentralised Cloud/Fog Solutions: Challenges, Opportunities and Standards», September 2018.
- Mattia Mrvosevic, «Blockchain Based Decentralised Cloud Computing», Eterna Capital, February 2019.
- C. Song, S. Wu, S. Liu, R. Fang and Q.-L. Li, «ANKR — Build a Faster, Cheaper, Securer cloud using idle processing power in data centers and edge devices».
- T. Hanke, M. Movahedi and D. Williams, «Dfinity — The Internet Computer».
[ad_2]