Что такое облачный сервис простыми словами

Облачные сервисы

Пользователи могут получить доступ к облачным службам с помощью всего лишь компьютера, операционной системы и подключения к Интернету или виртуальной частной сети (VPN)

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

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

Облачная инфраструктура

Преимущества облачного сервиса

Перспективы рынка облачных сервисов

Объем глобального рынка облачных сервисов в 2020 г. был оценен в 371,4 млрд долл США.
К 2025 г. аналитики прогнозируют более чем двукратный рост – до 832,2 млрд долл США при среднегодовом темпе роста 17,5 %.
Доступность облачных сервисов продолжает расширяться, их приложения в корпоративном мире также будут расти.
Независимо от того, решит ли компания расширить существующие локальные ПО или полностью перейти в облако, эти услуги будут продолжать упрощать доставку критически важных приложений и данных.

Источник

Что происходит на рынке облачных сервисов

Обзор самого быстрорастущего сегмента Nasdaq

Облачные сервисы неразрывно связаны с нашими смартфонами и офисными программами, за счет чего они стремительно развиваются, особенно в области хранения данных.

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

Рассмотрим, что входит в сегмент облачных сервисов и какие компании там самые перспективные.

Что такое облачные сервисы

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

Облачные сервисы делятся на три категории, каждая из которых предоставляет различные сервисы.

PaaS — платформа как услуга. PaaS использует удаленную инфраструктуру, но включает дополнительный набор услуг — предлагает инструменты, которые разработчики используют для создания приложений. Например, Google App Engine или OpenShift.

SaaS — программное обеспечение как услуга. Это приложения, работающие через удаленные сервера, например Dropbox, Google Docs и Google Apps. В прошлом программное обеспечение продавалось в физической форме в магазине, теперь же многое современное ПО работает прямо из облака. Это стало возможным благодаря высокоскоростному интернету и мощным компьютерам.

Зачем нужны облачные сервисы

Облачные сервисы приносят пользу многим компаниям, позволяя сократить расходы и сосредоточиться на основном бизнесе, а не на решении побочных вопросов ИТ, сетевой инфраструктуры и покупки дорогостоящего программного обеспечения.

SaaS же полностью меняет привычные методы покупки и использования необходимого ПО. Корпорация или человек просто оплачивает подписку и получает онлайн-доступ к любому софту для любого количества сотрудников. Из преимуществ: мгновенный доступ к ПО в онлайне и более гуманные платежи — компаниям не нужно единовременно тратить много денег на покупку большого количества лицензий на ПО для своих сотрудников — платить нужно по подписке, платежи небольшие, но периодические.

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

Инвестиции — это не сложно

Каковы исторические темпы роста отрасли

Отрасль стремительно растет, а пандемия дополнительно ускорила ее развитие: облако стало неотъемлемой частью удаленной работы. Внезапные отключения офисов, школ и предприятий повысили спрос на облачные решения и услуги.

Так, индекс BVP Nasdaq Emerging Cloud — отслеживает 54 облачные компании, которые публично торгуются, — вырос на 920% с 2011 года. Это превосходит динамику роста Nasdaq в четыре раза, а динамику S&P 500 и DJIA — в 8 и 10 раз соответственно.

Некоторые облачные компании достигают роста годовой выручки с 1 до 100 млн долларов всего за несколько лет. Один из чемпионов — Slack Technologies, разработчик корпоративного мессенджера. Компания достигла годовой выручки 100 млн долларов всего за 3 года.

Текущая емкость отрасли и прогноз на 5 лет

Физический рост. По оценкам Raconteur, к 2025 году средний пользователь интернета будет проводить около 4909 операций с данными в день. Для сравнения, в 2020 году этот показатель — 1426 операций, то есть рост составит 245%. А размер данных, хранящихся в глобальной сети по всему миру, в 2025 году будет в пять раз больше, чем в 2018, и вырастет с 33 до 175 зеттабайт.

При этом опережающий темп роста до 2025 года продемонстрирует сегмент облачных хранилищ — от 33% в США до 50% в год в Китае.

Что такое облачный сервис простыми словами. Смотреть фото Что такое облачный сервис простыми словами. Смотреть картинку Что такое облачный сервис простыми словами. Картинка про Что такое облачный сервис простыми словами. Фото Что такое облачный сервис простыми словами

Денежный рост. По данным International Data Corporation (IDC), мировой рынок общедоступных облачных сервисов, включая IaaS, PaaS и SaaS, в 2019 году вырос на 26% к 2018 году и составил 233,4 млрд долларов.

Мировая выручка от публичных облачных сервисов

СегментВыручка за 2019, млрд долларовДоля рынкаВыручка за 2018, млрд долларовДоля рынкаГодовой рост
PaaS35,915,4%25,814,0%38,8%
IaaS49,021,0%35,419,1%38,4%
Saas148,563,6%123,966,9%19,8%

IDC прогнозирует, что тенденция сохранится в течение следующих пяти лет. Потребители будут стремиться воспользоваться преимуществами облачных сервисов, включая искусственный интеллект, вычислительные мощности и аналитику. В 2020 году расходы на облачные услуги вырастут на 32%. Темпы роста сохранятся, и в 2025 году общие затраты достигнут 1235 млрд долларов — +430% к 2020 году.

Текущая модель роста составлена без учета роста количества пользователей интернета. Примерно 3,2 млрд человек — более 40% от общей численности населения мира — еще не подключены к интернету. По прогнозам аналитического агентства DataReportal, следующие два миллиарда пользователей интернета придут в основном из стран Азии, Индии и Африки в течение примерно трех лет, поскольку эти регионы демонстрируют быстрые темпы роста: 20, 23 и 40% в год соответственно. За счет этого облачные компании получат дополнительный стимул роста.

На кого делать ставку

IaaS. По оценкам аналитической компании Canalys, на текущий момент почти 60% мировой облачной инфраструктуры контролируют четыре основных игрока: Amazon, Microsoft, Google и Alibaba.

Отчет Canalys о рынке облачных технологий за 2019 годPDF, 221 КБ

Американские компании с совокупной долей 55% доминируют на этом рынке, поскольку именно в США находится большая доля всех облачных хранилищ. Но, по прогнозам аналитического агентства IDC, в ближайшие несколько лет концентрация облачных хранилищ выровняется: к 2025 году доля США упадет с 51 до 31%, а в Китае увеличится с 6 до 13%. Количество хранилищ США не упадет в физическом выражении, но рост в Китае будет более быстрым.

Прогноз аналитического агентства IDC про облачные хранилища, стр. 18PDF, 4,1 МБ

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

Основные игроки на этом рынке: Amazon Web Services с долей рынка 24,3% по состоянию на 1 квартал 2020, IBM с долей 16% и прочие — Salesforce, CloudBees, Google, Pivotal, Appirio и Apprenda.

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

В SaaS-сегменте ситуация не так однозначна, как в IaaS, где 60% сектора поделены между четырьмя игроками: SaaS представлен множеством глобальных игроков в самых разнообразных нишах. На базе облака создаются и развиваются абсолютно любые точки коммуникации: для бизнеса, образовательные, развлекательные и пр. Рассмотрим кратко основных отраслевых лидеров.

Софт для бизнеса. Наглядные примеры: софтверные компании Adobe, Autodesk и Altair Engineering (ПО для проектирования); облачные Word и Excel от Microsoft; софт для автоматизации и бизнес-аналитики от компаний Alteryx и Teradata Corporation; вычислительные мощности суперкомпьютера Watson от IBM, оснащенного ИИ; CRM-система компании Salesforce.

Кибербезопасность все больше выходит на первый план. 73% предприятий, пользующихся облачными сервисами, высказывают опасения по поводу кибербезопасности облачной экосистемы. Количество утечек данных в США увеличилось со 157 млн в 2005 году до 1,47 млрд в 2019 году, количество взломанных аккаунтов за тот же период подскочило с 67 млн до 164,7 млн.

В 1 квартале 2020 доходы мирового рынка кибербезопасности составили 10,4 млрд долларов, при этом сетевая безопасность — это крупнейший сегмент глобального рынка кибербезопасности, на который в том же квартале пришлось 3,7 млрд долларов дохода.

А уже к 2023 году ожидается, что размер глобального рынка кибербезопасности вырастет до 248,26 млрд долларов в год, — что дает невероятный потенциал роста на 500% за оставшиеся 3 года и 3 месяца.

Облачные образовательные проекты — SaaS LMS (learning management system). SaaS стал новой нормой в образовании: эта модель упрощает и удешевляет получение качественного образования, открывает новые возможности для студентов со всего мира. Рынок интернет-обучения вырос на 900% с 2001 года. По прогнозам, рынок облачного обучения достигнет общей выручки в размере 325 млрд долларов к 2025 году.

Если вы технический специалист, то тоже можете зарабатывать с Pluralsight: компания выплачивает авторам гонорары, размер которых зависит от количества просмотров. В 2013 году автор Скотт Аллен получил более миллиона долларов за свои курсы.

Облачные игры — GaaS. Несмотря на то что облачные игры — это тоже ПО, им присвоили свою аббревиатуру. Этот сервис набирает популярность и меняет привычный способ играть в компьютерные игры.

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

Доступ к играм предоставляется по подписке — в результате разработчики игр получают длинный денежный поток за счет желания игроков платить за доступ и поддержку игры. В игровую группу входят три основных издателя игр в США: Activision Blizzard, Electronic Arts и Take-Two Interactive; сингапурская Sea — издатель онлайн-игры Garena Free Fire, количество пользователей которой удваивается каждый год; а также более мелкие компании Square Enix (Япония) и Ubisoft (Франция).

Что в итоге

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

Источник

Облако — что это и зачем?

Что такое облачный сервис простыми словами. Смотреть фото Что такое облачный сервис простыми словами. Смотреть картинку Что такое облачный сервис простыми словами. Картинка про Что такое облачный сервис простыми словами. Фото Что такое облачный сервис простыми словамиНедавно мы запустили сервис ABBYY Cloud OCR SDK, работающий на облаке Windows Azure и попутно набрали 100500 опыта. Например, узнали, что многие используют слово «облако» и слышали, что «облака – это модно», но очень немногие понимают, что такое облако и главное – зачем делать сервис именно в облаке. Слово «облако» повсеместно используется и, похоже, начало обрастать городскими легендами.

Посмотрите, например, вот это видео:

Не много потеряете, если просто сосредоточитесь на том, что блондинка хорошо выглядит и у нее приятный голос.

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

Невиданные возможности для ваших клиентов

Для начала – чем для клиента сервис «в облаке» отличается от сервиса «не в облаке».

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

Для сравнения посмотрите на Stack Exchange (наиболее известен благодаря сайту Stack Overflow) или Яндекс.Почту – они для пользователя выглядят точно так же. Они тоже доступны любым пользователям и откуда угодно. Там тоже веб-сервер, который тоже принимает запросы по HTTP, там тоже все равно, какая операционная система у клиента, какая архитектура у его машины, на каком языке написаны его программы.

Можно встретить утверждения, что благодаря облачности сервиса «данные пользователей доступны им откуда угодно». Да, пользователи сервиса могут закачивать изображения на наш сервис откуда угодно и получать результаты тоже откуда угодно. Кстати, пользователи Stack Exchange или Яндекс.Почты тоже могут работать с этими сервисами откуда угодно – задавать вопросы, получать ответы, отправлять и получать письма.

Функционально облачный сервис не отличается для пользователя ничем. Что в облаке, что не в облаке, на каком-то IP-адресе стоит сервер (обычно веб-сервер), который принимает и обрабатывает запросы. Если нет настроек, ограничивающих доступ к серверу с конкретных диапазонов IP-адресов и клиент сам не сидит за параноидальным фаерволом, то сервис доступен откуда угодно и с какого угодно устройства. Облачность тут никак не сказывается.

Облачные сервисы для облачных сервисов

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

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

Считается, что облачный сервис – это обязательно сервис для обслуживания многочисленных внешних запросов. Обычно да, но не обязательно. Никто не мешает вам запустить на вашем сервисе разложение простых чисел на множители, исходные данные для него хранить где-нибудь снаружи, чтобы сервис их сам оттуда брал, а результаты заливал на внешний ftp-сервер.

Облачная архитектура облачных сервисов

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

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

Считается, что в облаке используется «облачная операционная система». Обычно это просто допиленная «обычная операционная система». В Windows Azure это Windows Server 2008 R2 со слегка перетянутыми гайками (например, временная папка очень маленькая). Вся «облачность» в такой среде создается дополнительными сервисами – например, долговременным хранилищем данных, не привязанным к машине, на которой работает пользовательский сервис.

Некоторое время назад мы рассказывали, что теперь FineReader Engine поддерживает работу в Windows Azure. Эта доработка не потребовала полного переписывания всего FRE, просто учли ограничения платформы, немного под них доработали, протестировали, обновили документацию, взяли на себя обязательство дальше поддерживать. Кропотливая и важная работа, но не более того.

Беспрецедентная надежность

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

Прежде всего, нужно читать мелкий шрифт в соглашении о девятках (SLA – Service Level Agreement). Там указано точно, что эти девятки означают, какие конкретно свойства сервиса они затрагивают, какова ответственность провайдера.

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

Похожий пример из жизни: в среднем раз в год в здании на секунду отключается электроснабжение, так что перезагружаются компьютеры. С точки зрения поставщика электроэнергии – это жалкая секунда в год (сколько там девяток?), а с вашей точки зрения – это потеря нескольких минут работы каждым сотрудником, потому что ему нужно будет ждать, пока загрузится ОС, запустятся все программы, потом вспоминать, на чем он остановился. Девяток много, а вам от этого не легче.

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

От размещения в облаке сервис не становится гарантированно более или менее надежным. Риски никто не отменяет, просто риски становятся другими.

Так что это?

Теперь, когда мракобесия стало меньше, вернемся к вопросу, что такое публичное облако. Это сервис с дистанционным управлением, который предоставляет вам вычислительные мощности и хранилища данных с оплатой по мере использования. Вы используете мощности для работы вашего ПО (вашего сервиса), а хранилища – для хранения данных, с которыми это ПО (ваш сервис) работает.

У вас может быть разный уровень контроля над предоставляемыми мощностями. Например, вам могут выделить виртуальную машину с конкретной ОС и закрепить ее за вами и дать вам к ней удаленный доступ, чтобы вы сами настроили ее как вам нужно и дальше оставить ее в вашем распоряжении. Или (как в Windows Azure) вы можете загрузить специальный архив с исполняемым кодом вашего сервиса и конфигурационный файл, в котором указано «запустить вот это на 5 машинах по 2 ядра каждая», служебная инфраструктура облака сама найдет подходящие виртуальные машины, развернет, запустит и настроит на них ОС, потом развернет там ваш архив и передаст управление в точку входа (фиксированная функция типа main()), и будет следить, не сломалось ли что, в случае чего перезапустит ваш сервис на той же или (при сбое машины) на другой машине. В первом случае вы больше контролируете, во втором у вас больше дополнительных плюшек.

В чем прибыль?

Прибыль в гибкости и делегировании обязанностей. Вам нужно увеличить число машин, на которых работает ваш сервис? Несколько щелчков мышью, ожидание в районе 10 минут – и вам уже нашли новые виртуальные машины, запустили на них ваш сервис. Надо убавить? То же самое.

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

Провайдер может, например, предоставлять сервер баз данных – тоже «где-то» и тоже с оплатой по используемому объему. В Windows Azure это SQL Azure, основанный на специально настроенном и допиленном SQL Server 2008.

Нужно попробовать новую фичу и есть риск сломать сервис? Можно сделать так. Создаете еще одно хранилище и еще одну базу данных. Настраиваете ваш сервис на новое хранилище и новую базу, разворачиваете на дополнительно выделенных виртуальных машинах. Попробовали, освободили машины, если в хранилище и базе много данных, можно их тоже удалить, чтобы не платить за них.

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

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

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

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

Как обычно, есть и темная сторона

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

Например, виртуальные машины стандартные и вы можете даже не знать характеристик реального железа. Скорее всего, когда в Windows Azure вы разворачиваете сервис на одном одноядерном узле, вам на самом деле дают виртуальную машину, которая работает в каком-нибудь 16-ядерном сервере под HyperV. Может быть, можно там что-нибудь подкрутить и на ровном месте получить 15-процентный прирост производительности, но вы ничего не можете с этим сделать.

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

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

Безумные события бывают самые разные. Вот примеры реальных сбоев в датацентрах.

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

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

Обратите внимание, мы знаем об этих случаях потому, что они затронули сотни и тысячи пользователей облаков. Сколько аналогичных событий происходит с серверами, стоящими в офисах, мы просто не знаем.

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

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

Снова облачная архитектура облачных сервисов

Напоследок – об особых требованиях к облачным сервисам. Такие требования есть – нужно быть готовым, что в любой момент что угодно может сломаться. Если вы любите крайности, то можете как Netflix сделать сервис, который в произвольные моменты ломает что-нибудь в вашем сервисе. Особенно нужно быть готовым к эпизодическим кратковременным сбоям. Например, иногда будет ненадолго пропадать связь с SQL Azure – ваш код должен не паниковать и не ломаться, а подождать немного и попробовать еще раз.

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

Аналогично сервис должен быть готов к тому, что его могут в любой момент остановить – на всех узлах или на некоторых – и затем запустить снова, при этом не должно происходить повреждения данных, потеря самых новых данных должна быть минимальной, после перезапуска сервис должен быть в состоянии продолжить работу как будто ничего не произошло. Такое происходит, например, при автоматической установке обновлений ПО в Windows Azure – узлы по очереди останавливаются, затем сервис запускается на узле с уже обновленным ПО.

Требования существенные, но выполнимые, просто Мерфи будет чаще приходить к вашему сервису. От вас зависит, превратится ли небольшой FAIL в былинный отказ.

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

Кстати, у нас есть сервис для разработчиков, работающий в облаке.

Дмитрий Мещеряков,
департамент продуктов для разработчиков

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *