Каждые несколько лет на ИТ-рынке появляется новая технология или парадигма, которая радикально меняет бизнес-модели большинства компаний.
Например, еще 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. В прошлом году проходил проект по замене Windows на рабочих станциях на Linux, его результатом стала возможность официально установить себе Ubuntu Linux сотруднику Блока Т.
Помимо открытости системы в 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. В планах банка – строительство третьего дата-центра, который гарантирует, что Банк будет всегда на связи с клиентами.
Источник