Совсем недавно из-за проблем с сервисом Amazon S3 случился настоящий «облакалипсис». Сбой в работе стал причиной падения большого количества сайтов и сервисов тех компаний, кто является клиентом Amazon. Проблемы начались вечером 28 февраля, о чем можно было узнать из социальных сетей. Затем стали массово появляться сообщения о неработающих Quora, IFTTT, рассылок Sailthru, Business Insider, Giphy, Medium, Slack, Courser и т.п.

Сбоили не только сервисы и сайты, многие IoT устройства оказалось невозможно контролировать через интернет (в частности, из-за неработающего IFTTT). Самое интересное то, что до последнего момента статус Amazon S3 показывался, как нормальный. Но многие сотни, а то и тысячи компаний, чьи ресурсы были затронуты проблемой, осознали, что рано или поздно даже очень надежное «облако» может рухнуть, накрыв всех своими обломками. Можно ли что-то сделать в такой ситуации?

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

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

Этот способ можно использовать и в рамках работы с одним провайдером, но более надежно использовать и услуги других облачных компаний, включая Microsoft Azure или Google Cloud Platform в дополнение к тому же AWS. Понятно, что это дороже, но здесь, как и в обычном случае, стоит подумать над тем, стоит ли овчинка выделки. Если да, например, сервис или сайт должен работать постоянно, то можно предпринять такие методы предосторожности. «Мультоблачная» архитектура, вот как это можно назвать.

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

После падения Amazon S3 те клиенты AWS, кто работал с Cloudflare, почти не испытывали проблем.



Напомним, что все начиналось с S3 в 2006 году. Первый публичный сервис, который Amazon запустил — именно облачное файловое хранилище. Виртуалки (EC2) появились заметно позже.

Вот еще один скриншот клиента Амазона — Российской ИТ компании. У них не работало 45 сервисов:



Данные можно хранить в грузовиках (тоже от Amazon), но и это не всегда является выходом

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

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

Кстати, мультиоблачность тоже не всегда панацея. К примеру, сейчас многие компании заявляют о том, что используют такую модель работы. Но, в то же время, разные облака могут использоваться для разных целей. Например, AWS для разработки и тестирования, а облако от Google — для развертывания сервиса и обеспечения его постоянной работы.

Еще один тренд, связанный с предыдущими — это появление все большего числа инструментов контейнерной оркестровки, вроде Docker, Kubernetes, и DC/OS от Mesosphere. Их тоже стоит опробовать в работе, с ними принцип мультиоблачной инфраструктуры организовать гораздо проще, чем в обычном случае.

Человеческий фактор


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



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

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

Поделиться с друзьями
-->

Комментарии (15)


  1. Areso
    10.03.2017 21:28

    Кто-нибудь уже шутил на тему:
    sudo rm -rf /
    Ой, кажется мы не тестовую ферму форматнули…


    1. foxmuldercp
      12.03.2017 15:05

      Обычно в продакшен пускается только CI + chef/puppet/ansible..


      1. varnav
        13.03.2017 11:57
        +2

        Позволяющие форматнуть не один, а сразу все сервера!


  1. Zonzen
    10.03.2017 23:15
    -6

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


    1. MooNDeaR
      11.03.2017 10:04
      +5

      ПК никогда не станет персональным…
      Кому нужно больше 640К памяти?
      Никто не будет пользоваться Bitcoin, скоро он вымрет
      Да кому нужны эти смартфоны?
      JavaScript не пригоден для серьезных приложений…
      И т.д. и т.п.


    1. Ugrum
      11.03.2017 10:19
      +3

      когда в массы придёт понимание рисков

      Значит никогда.


      1. denonlink
        12.03.2017 15:03
        +1

        Как будто свое железо не несет никаких рисков.


        Большая компания еще может содержать штат админов и свой небольшой дата-центр, а маленький стартап не может так разбрасываться деньгами (и временем). Облако в таком случае намного надёжнее: что делать, если упали свои сервера, а админ в самолете или в бане парится? А в компаниях типа AWS тонна админов дежурит круглые сутки.


    1. maxpsyhos
      12.03.2017 05:24

      Можно подумать, держать железо у себя и админить его самому — это менее рискованно. Вряд ли вы сможете себе позволить настолько же надёжное железо и настолько же квалифицированных админов за сопоставимые деньги.


    1. lexore
      12.03.2017 16:53
      +2

      Каких рисков? 4-часовго простоя раз в N лет? Это куда меньший downtime в пересчете на год, чем в среднем по больнице набегает на своем железе.
      К хорошему привыкаешь — скорее будут держать законсервированную дублирующую инфраструктуру в другом облаке, чем откажутся от облаков.


      1. acmnu
        13.03.2017 11:56

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


        Единственный приемлемый выход, это держать резерв в "преднатяге": 70% AWS, 30% кто-нибудь другой (хорошо если клиентов можно легко отделить друг от друга). Технических сложностей здесь будет много, но в целом они решаемые, даже если вы завязны на S3.


  1. VolCh
    11.03.2017 10:50
    +3

    Понятно, что это дороже, но здесь, как и в обычном случае, стоит подумать над тем, стоит ли овчинка выделки. Если да, например, сервис или сайт должен работать постоянно, то можно предпринять такие методы предосторожности. «Мультоблачная» архитектура, вот как это можно назвать.

    И под каждого облачного провайдера городить свои обвязки над их API? Не проще ли взять решения от VMWare или, даже, Microsoft, разместить на своих или арендованных серверах в разных датацентрах и получить своё облако?


    1. worldxaker
      13.03.2017 02:30

      так конечно проще, но вдруг так уж случится, что весь azure разом упадет? тут ведь вопрос в надежности


      1. VolCh
        13.03.2017 02:43

        Я про Hyper-V


    1. lexore
      14.03.2017 23:54

      У этого решения свои минусы:


      • деньги (свое железо нельзя быстро масштабировать);
      • сложность поддержки и масштабирования (которая ложится на ваши плечи, а там геморроя прилично);
      • надежность (пока вы научитесь делать такой же uptime, как у amazon, ваш downtime будет больше, чем у профессиональных облаков);
      • облако нужно будет настраивать самому с нуля (Amazon и прочие берут деньги не только за ресурсы, но и за сервис, который они выстраивали не один год).

      На своем железе проще вообще не делать облако.


      1. VolCh
        15.03.2017 08:14

        Как вариант масштабирования: приобретать у облачных провайдеров исключительно полноценные "голые" виртуальные машины, перекладывая на их плечи масштабирование железа, но оставляя за собой полный контроль за средой исполнения программ. А то почитаешь про облака, воодушевишься, начнешь разбираться и выясняется: вот вам виртуальная машина, но она стейтлесс, файлы храните вот в этом хранилище, причем работайте с ним по вот этому протоколу, а не просто примонтируйте к машине, и вообще нужную вам программу на этой машине вы собрать не можете, и СУБД только нашу нужно использовать, потому что наше хранилище не обеспечит нормальную скорость для вашей базы, даже если вы как-то установите свою СУБД и как-то примонтируете хранилище. И это полбеды, основная в том, что у каждого провайдера свои хранилища, свои СУБД и т. п., со своими API,