Интернет можно представить в виде океана, а потоки трафика — уподобить океанским течениям. Для того чтобы управлять такими потоками, а также формализовать обмен трафиком и взаимодействие интернет-провайдеров, в конце 1980-х годов был разработан верхнеуровневый протокол междоменной маршрутизации Border Gateway Protocol (BGP), ставший основой современной Сети и позволяющий владельцам автономных систем (узлов сети) обмениваться информацией о маршрутах движения трафика (стандарт RFC 1105). Иногда его также называют Money Vector Protocol, поскольку у BGP есть индикаторы, отражающие денежные отношения сторон, провайдеров связи, при использовании протокола для передачи трафика.

Помимо регулирования взаимодействия между операторами связи, BGP играет сегодня ключевую роль при построении облаков и обеспечении их отказоустойчивости. Согласно формулировке Национального института стандартов и технологий США (NIST), облака — это модель обеспечения повсеместного и удобного сетевого доступа к вычислительным ресурсам, обладающая свойством мгновенной эластичности (rapid provisioning). Иначе говоря, в случае необходимости вычислительные ресурсы (сети, серверы, системы хранения, приложения) оперативно предоставляются пользователю и так же быстро возвращаются обратно в общий доступ.

На волне «облачного» ажиотажа в начале 2010-х годов было построено немало облачных систем с мгновенной эластичностью, причем утверждалось, что облака предоставят автоматическую отказоустойчивость, масштабируемость, безопасность и «безоблачную жизнь» для приложений. На самом деле это не так: если приложение загрузить в ЦОД, то далеко не всегда можно говорить о его высокой отказоустойчивости и масштабируемости. В итоге возникла классическая ситуация — стадия неоправданных ожиданий, когда технологии Cloud Computing переползли на кривой Gartner пик чрезмерных ожиданий и скатились в «яму разочарований».

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

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

Ясно, что без геораспределенности облачного решения ни о какой устойчивости, выносливости и отказоустойчивости речи быть не может. Например, сети фильтрации трафика без геораспределенности не выживают, в противном случае компаниям пришлось бы платить за трансатлантические стыки при прохождении трафика, что сразу сделает бизнес невыгодным. Два ведущих сегодня многофункциональных облака, Amazon Web Services и Microsoft Azure, по-разному решили задачу построения геораспределенной конфигурации.

В Amazon для геобалансировки использовали функциональность системных доменных имен (Domain Name System, DNS), что просто и быстро при реализации. Однако у DNS имеется множество недостатков (см. рисунок) — в ее работе всегда присутствует...

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

Поделитесь материалом с коллегами и друзьями

Купить номер с этой статьей в PDF