Облачное хранилище данных. Как создать облако для хранения файлов. Облако: что это такое и зачем хранить файлы в облаке

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

Синхронизация данных в облачном хранилище

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


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


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


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

Какое облачное хранилище выбрать

Владелец сервера предоставляет свободное место для информации всем желающим. Доступ на сервер может быть бесплатный, платный, или условно-бесплатный. Наиболее популярны бесплатные , но они имеют ограничения по объему. Увеличить объем облака можно путем покупки специального тарифного плана.


Вот сравнение некоторых облачных хранилищ, предоставляющих место для хранения:


  • облако Mail.Ru – 100 Гб;

  • сервис MEGA – 50 Гб;

  • Google Disk – 15 Гб;

  • Яндекс.Диск – 10 Гб;

  • OneDrive - 7 ГБ;

  • Dropbox - 2 ГБ.

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


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


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

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

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

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

Как работает облачное хранилище

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

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

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

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


Плюсы и минусы облачного хранилища

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

Достоинства облака:

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

Недостатки облачного хранилища:

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

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

Как выбрать облачное хранилище

Размер облачного хранилища

Объяснять тут особо не нужно. Если вам нужен большой объем памяти, к примеру 5, 10 или 15 Гб, то найти такой вариант бесплатно возможно. А вот уже выше придется заплатить.

Отзывы о компании

Если компания, предоставляющее место для хранения себя зарекомендовала, то вы можете смело пользоваться их услугами. Не стоит использовать малознакомые сервисы. В качестве примера могу привести Dropbox, Облако Mail.ru, SkyDrive и прочие.

Увеличения объема хранилища

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

Программное обеспечение для компьютера и смартфона

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

Ограничения

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


Какие выбрать облачные хранилища 2017 года

  • Облако Mail.ru – 100 Гб бесплатно.
  • Mega – 50 Гб бесплатно
  • MediaFire – 10 Гб бесплатно. Для получения дополнительного пространства, нужно поработать.
  • SkyDrive – 25 Гб бесплатно.
  • Copy – 15 Гб бесплатного пространства. За каждого приведенного клиента даётся 5 Гб.
  • 4Sync – 15 Гб бесплатного пользования.
  • Google Диск – бесплатно 15 Гб.
  • Яндекс Диск – примерно 10-20 Гб бесплатного пространства.
  • Dropbox – 5 Гб бесплатно, а к примеру 1 Тб за 100 долларов.

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

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

Что такое облако mail.ru

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

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

Подытожим, для чего же нужен сервис:

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

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

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

Как пользоваться Облаком от mail.ru

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

Теперь вы можете пользоваться виртуальным диском. Для того чтобы загружать с компьютера файлы более 2 Гб, нужно установить диск Облака на свой компьютер. Он может устанавливаться как на компьютер с windows, IOS, так и на android.

Разберёмся, как установить Облако на компьютер:

  • Заходим в Облако. С левой стороны будет находиться синяя форма «Установить Облако на смартфон». Здесь вы можете выбрать любое устройство из всех предложенных, на которое нужно произвести установку. Мы рассматриваем компьютер.
  • Теперь нажимаем «Приложение для ПК».
  • Появится форма, в которой нужно выбрать свою операционную систему.

После загрузки необходимо открыть файл и произвести настройку:

  • Нажимаем «Запустить».
  • Выбираем язык программы. В нашем случае русский, нажимаем «Ок».
  • Запустится Мастер установки. Нажимаем «Далее».
  • Теперь нужно выбрать папку, в которую произойдёт установка файлов программы. Выбираем «Обзор», кликаем на нужную папку, нажимаем «Далее».
  • Соглашаемся с тем, что будет создан ярлык на рабочем столе. Нажимаем «Далее».
  • После этого нажимаем «Установить».

Облако Mail.ru




После установки Мастер настройки уведомит вас, что процесс установки прошёл успешно. Вам останется только нажать на кнопку «Завершить». После этого можно открывать Облако с компьютера.

Как загружать и скачивать документы с сервиса майл ру

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

  • Выделяем нужный документ.
  • Нажимаем «Копировать»
  • Переходим в скаченный диск. Нажимаем «Вставить».

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

Теперь разберём вариант загрузки файла с компьютера на Облако, которое не установлено на компьютере:

Видео будет скачано на компьютер.

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

Удаляются файлы так же просто, как и загружаются. Вам нужно выбрать нужный файл и нажать «Удалить». Не забудьте почистить ещё и Корзину , так как все удалённые файлы перемещаются туда.

Итак, мы рассмотрели такой сервис, как Облако Mail.ru. Здесь можно смотреть, сохранять видео, картинки, документы. Также можете создавать файлы в любом текстовом редакторе. При первой регистрации, вам представится Облако объёмом в 100 Гб. Если нужно больше места, то есть возможность подключить новый тариф. Проверять содержимое диска можно с любого гаджета.

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

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

Преимущества

Использовать облако очень удобно по нескольким причинам:

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

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

3. Возможность сэкономить дисковое пространство на компьютере. Ничто не мешает сбросить 15 ГБ в Google Drive, еще сколько-то в Яндекс Диск и еще часть в Dropbox. При этом вы можете удалить файлы с локального накопителя и освободить достаточно большое количество места, если оно вам срочно понадобилось.

4. Надежность. Облако представляет собой инфраструктуру из множества дублирующих серверов. Ваша информация хранится сразу на нескольких узлах и риск потери данных в Google Drive или OneDrive намного ниже, чем в случае хранения на компьютере.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Так что это?

Теперь, когда мракобесия стало меньше, вернемся к вопросу, что такое публичное облако

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

5 характеристик облачных вычислений

  • имеет возможность самообслуживаться по требованию (self service on demand) пользователя, путем изменения и определения вычислительных нужд: скорости доступа, серверного времени, скорости обработки информации, возможность самостоятельного управления объемом хранящихся данных;
  • обладает универсальным доступом (universal access) посредством сети, охватывая все категории терминальных устройств;
  • объединяет ресурсы (resource pooling) для возможности обслуживания как можно большего количества пользователей в единственный пул, чтобы потом произвести динамически перераспределение компьютерных мощностей между пользователями прямо во время работы с облаком, кому-то выделяется больше ресурсов, кому-то - меньше, в зависимости от выполняемых задач, при этом, пользователи могут выбирать ЦОД (центр обработки данных), который ближе всего расположен географически;
  • гибкая и эластичная (elasticity and flexibility), а это значит что пользователи взаимодействуют с поставщиком облачных вычислений в полностью автоматизированном режиме, что дает возможность управлять услугами быстро и без долгих ожиданий;
  • автоматически ведет учет потребления (accounting of consumption) на ходу, подсчитывая использованные ресурсы: пропускная способность, объем сохраняемых данных, количество пользователей, транзакций облачным провайдером, оценивая размер предоставленных пользователям услуг.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

статья взята с Блога компании ABBYY на habrahabr.ru