Пингвин, виртуализация и $23 млрд: как и почему облачные технологии навсегда изменили ИТ-мир +13





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

Например, еще 25 лет назад этой парадигмой стал массовый бум ПК, бенефициаром которого стала компания Microsoft. 15 лет назад – массовое распространение широкополосного Интернета, превратившее Google и «Яндекс» в компании с миллиардными оборотами. 10 лет назад – взрыв интереса к мобильной разработке и начало звездной эры Apple. Сейчас, пожалуй, в самом разгаре эра облаков. Под катом рассказываем, как и почему эта эра наступила.

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

Для сравнения: глобальный рынок облачных услуг, по прогнозам Gartner, в этом году достигнет 23,6 млрд долларов, а к 2021 году утроится до 63 млрд! На чем основан такой оптимистичный сценарий? И чем облака так манят и массовых потребителей, и лидеров рынка?

Многоядерность и широкополосность


Формально, эра облачных технологий началась в 2006 году, когда Amazon первым представил свою облачную платформу. Однако, сама по себе концепция облаков не нова: идею о предоставлении сервисов пользователям по сети высказал в 1993 году еще мало кому известный менеджер по технологиям компании Sun Microsystems Эрик Шмидт (да, тот самый!).

Именно Sun впервые провозгласила: «Сеть – это компьютер!».

Достоинства такого подхода очевидны. Пользователю не нужно ничего (или практически ничего) устанавливать. Достаточно просто подключиться через браузер к нужному узлу и получить необходимую услугу. Собственно, современные облачные сервисы – «Яндекс. Диск», Google Doc, DropBox – так и работают. Однако еще 25 лет назад такой сервис был доступен лишь в смелых фантазиях. Реальностью она смогла стать лишь благодаря тому, что совпало два важных тренда.

Во-первых, по-настоящему массовым стал Интернет. Еще в 2010 году число пользователей с широкополосным доступом к сети в России, Китае, США и ЕС уже исчислялось сотнями миллионов. Массовое строительство сетей 3G и 4G окончательно закрепило связь уже миллиардов пользователей с виртуальным миром.

Во-вторых, производители оборудования за несколько лет смогли добиться значительного снижения цен на него при одновременном росте производительности. Например, 2004-2005 гг. стали зарей эры многоядерных процессоров. За год свои двухъядерные решения представили IBM, Sun Microsystems, Intel и AMD. Такие процессоры умеют параллельно обрабатывать сразу несколько потоков информации, благодаря чему их производительность выше, чем у одноядерных моделей.

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

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

Многоликий пингвин


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

Это — гибкость. Облака устроены таким образом, что дают разработчикам доступ к практически неограниченному объему вычислительных ресурсов и памяти. Благодаря этому процесс масштабирования и администрирования «облаков» становиться легкой задачей.

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

Первая официальная версия Linux 1.0 вышла в 1994 году. Товарный знак Linux был зарегистрирован на год позже, в 1995. Эмблемой Linux стал Такс (Tux) — пингвин, нарисованный в 1996 году программистом и дизайнером Ларри Юингом. Теперь Такс является символом не только Linux, но и свободного программного обеспечения в целом.

Благодаря тому, что код ядра Linux изначально был открытым, тысячи разработчиков со всего мира стали дорабатывать его под свои потребности и постоянно предлагать новые фичи. В результате у Linux появилось множество дистрибутивов – операционных систем, которые используют ядро Linux, но существенно различаются набору утилит и приложений. Сейчас существует более 600 дистрибутивов Linux, половина из которых постоянно дорабатываются и обновляются. Самые известные из них – Ubuntu, Debian Manjaro.



Linux также активно используется в Сбербанке и в Сбертехе. В Сбертехе, в основном, используются три дистрибутива: RedHat Enterprise Linux, Centos и Ubuntu.

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

Хотя Linux так и не смог победить Windows в битве за персональные компьютеры, он выиграл войну на другом поле. Linux – бесплатный, поэтому его чаще всего используют в качестве операционной системы для серверов. Это предопределило его массовое распространение и популярность среди разработчиков. Есть различные варианты дистрибутивов: одни из них характеризуются высокой стабильностью, другие – поддержкой последних версий программ и библиотек. Одним из эталонов стабильных дистрибутивов для корпоративного сектора является RadHat Enterprise Linux. Он славится своей высокой надежностью и активно используется в Сбербанке. Но при этом в своём составе содержит более старые версии ПО и библиотек.

Захватив рынок серверных ОС, экосистема Linux начала активно развиваться. Многообразие дистрибутивов Linux как раз и задало один из векторов развития операционной системы. Из-за того, что на разных серверах могли быть установлены различные версии ОС, а также из-за отсутствия аналогов некоторых приложений, написанных под Windows, в экосистеме Linux появилось множество гипервизоров.

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

Эффект виртуализации


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

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



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

Использование виртуализации позволяет подняться на уровень выше. Благодаря этому у разработчика и системного администратора появляется огромный масштаб для экспериментов.
Разработку приложений под облачные платформы можно назвать отдельным искусством, которым сейчас вынужден овладеть каждый программист. В отличие от классической архитектуры, облачные приложения должны линейно масштабироваться. Добиться такого результата можно с помощью продуманного проектирования взаимодействия между основными элементами приложения. Используя любое количество серверов с разными операционными системами, можно объединить их одной системой управления (например Kubernetes), и все машины станут единым кластером. С позиции потребителя появляется «суперкомпьютер», который обладает суммарной оперативной памятью и процессорной мощностью серверов, из которых состоит.

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

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

Деньги в облаках


Сочетание низких цен и возможностей гибкой настройки под потребности клиента благодаря технологии виртуализации превратили облака в самый перспективный формат предоставления ИТ-услуг.

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

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

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

При этом, частные облака используются в корпоративной среде практически с момента появления определения «облачные вычисления» от Национального института стандартов и технологий США, явившись логичным развитием технологий виртуализации.

Сейчас свои облачные сервисы есть в портфеле у каждой крупной высокотехнологичной компании. Например, Microsoft развивает свою платформу Azure, Google — Cloud Platform, у Amazon есть отдельное направление, которое так и называется — Web Services. В целом, основные бизнес-модели компаний отрасли можно разделить на три категории в зависимости от предоставляемого потребителям сервиса.

Первый вариант – предоставление инфраструктуры как услуги (IaaS,Infrastructureas aService). В этом случае клиент самостоятельно конструирует и управляет своей IT-инфраструктурой в облаке – создает виртуальные сети, добавлятьвиртуальное оборудование (серверы, хранилища, базы данных), устанавливает необходимое для работы прикладноепрограммное обеспечение и операционные системы и др. Самые известные IaaS-решения: Amazon CloudFormation, GoogleComputeEngine,Windows Azure.

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

Третья форма взаимодействия облачного сервиса с потребителем – программное обеспечение как услуга (SaaS,softwareas aservice). В этом случае поставщик предоставляет пользователям готовоеПО. Все данные хранятся в облаке, и для доступа к ним пользователю требуется только наличие веб-браузера. Такой формат взаимодействия не требует дополнительных затрат на установку и настройку программного обеспечения, как это нужно для использования IaaS и PaaS. Взимаемая с пользователя плата в этом случае привязывается к количеству арендуемых лицензий. Самый яркий пример – в таком формате Microsoft продает подписки на свой пакет Office365.

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

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

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

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

Свое частное облако есть и у Сбербанка. Железной базой для него служат ЦОД «Южный порт» и открытый год назад дата-центр в Сколково. Проект этого ЦОДа соответствует уровню надежности Tier 3. В планах банка – строительство третьего дата-центра, который гарантирует, что Банк будет всегда на связи с клиентами.

Вы можете помочь и перевести немного средств на развитие сайта

Теги:



Комментарии (11):

  1. amarao
    /#19631616 / -1

    Если хотите хорошей паблисити — публикуйте код. Где ваш аккаунт на гитхабе? Почему вы используете линукс, но ничего не даёте комьюнити назад?

    Вот это, надеюсь, не ваш аккаунт? github.com/Sberbank?tab=repositories

    • NFil
      /#19632140 / +1

      Сотрудники Сбертеха активно контрибьютят в Apache Ignite. Причем делают это с личных аккаунтов под своими реальными именами. В отличие от того, как заведено в некоторых компаниях, когда с одного аккаунта в день публикуется сотни тысяч строк кода – понятно, что за этим аккаунтом стоит команда людей, вклад которых остается невидимым.

      Примеры проектов:
      github.com/apache/ignite
      github.com/apache/kafka

      В этом интервью лидер Open Source в Сбертехе рассказывает подробнее, как у нас это устроено

      • amarao
        /#19632176

        О, это мило. Если вы где-то сделаете страницу с summary по этой активности, то это точно будет хорошо для publicity. Как минимум, сточки зрения HR-бренда.

  2. Ironhide
    /#19632248

    В прошлом году проходил проект по замене Windows на рабочих станциях на Linux, его результатом стала возможность официально установить себе Ubuntu Linux сотруднику Блока Т.

    Именно Ubuntu или можно любой привычный дистрибутив?

    • gecube
      /#19632268 / +1

      Я уж не говорю о том, что для человека снаружи совершенно неясно, что означает фраза «сотрудник Блока Т»

    • khim
      /#19632966

      Я очень надеюсь, что это шутка. Как вы себе представляете «любой привычный дистрибутив» в компании, которая хоть чуть-чуть думает о безопасности?

      • gecube
        /#19633818

        Безопасность рабочих мест имеет весьма отдаленное отношение к безопасности сервисов самого банка. Тем более, что сейчас внутренняя сеть предприятия представляет нечто достаточно большое, что по сути и превращает ее во «внешний» периметр. А ещё представьте, когда сотрудники работают из дому или удаленно. Даже с ВПН. Вспомним ещё, что сейчас ipv6 на подходе, хотя многие админы в него вообще не умеют. И мы поймём, что новые реалии требуют нового подхода к безопасности. А не «запрещать сторонние дистрибутивы»

        • khim
          /#19634040

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

          А не «запрещать сторонние дистрибутивы»
          Ну понятно, что запрет дистрибутивов «от дяди Васи» — не должен быть единственным средством. Но также понятно, что внутрь своей сети лучше трояны всё-таки не пускать.

          Будь она хоть трижды «внешняя».

          • alexkuzko
            /#19634410 / +1

            Лучше воспринимать внутреннюю локалку как такую же сеть, чем молиться на нее и считать доверенной априори. Очень многие проникновения основаны на том чтобы попасть во внутреннюю сеть, где грубо говоря можно творить что угодно.
            Конечно, сделать так чтобы одиночный троян не мог вывести из строя всю систему значительно сложнее ))

            • khim
              /#19636256

              Лучше воспринимать внутреннюю локалку как такую же сеть, чем молиться на нее и считать доверенной априори
              Не путайте тёплое с мягким. То, что ваш компьютер, чтобы его куда-то пустили, должен обладать демоном, который докажет серверу что да — ему-таки можно доверять и что не нужно просто слепо давать доступ тому, что в соответствующую Ethernet-дырку вставили — это понятно. Но это — совсем про другое.

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

              Я как-то про сети, которые доверяют всему, что в них включено даже не подумал — это всё-таки уровень контор из трёх человек. Я имел в виду, что «рабочая станция на Linux» должна-таки быть, я извиняюсь, рабочей станцией… и на ней люди будут, что удивительно, работать — и как тогда вы собираетесь данные от неё защищать? Если доступа к данным нет — то работать не получится. А если есть — то это значит, что и у трояна, встроенного в «любой привычный дистрибутив» — они тоже будут.