Облако работает как «внешний накопитель»? Давайте рассмотрим, каковы плюсы и минусы облачного хранилища файлов, и когда это имеет смысл?
Не дискета, не CD и не флешка – сегодня файлы хранятся в облаке! Для некоторых, это давно очевидность, для других экзотика, но факт остаётся фактом — хранение файлов в облаке — очень удобный способ. Хотя, может, и нет? Ведь облако нестабильно, и у этого решения есть очевидные ограничения, например, необходимость подключения к сети.
Итак, каковы преимущества и недостатки облачных хранилищ и когда это действительно имеет смысл?
Что такое облако
Проще говоря, облако – это хранилища с доступом к данным и программам через интернет, а не через жёсткий диск или SSD вашего компьютера. (в энциклопедии они кратко определяется как «аппаратные и программные услуги от поставщика в Интернете»).
В конечном счёте «облако» — это просто метафора интернета. Она представляет гигантскую серверную инфраструктуру интернета, также принимающую соединения и распределяющую информацию по мере распространения (не имеет ничего общего с облаками в небе).
Как пользоваться облаком на телефоне
Что не относится к облачным вычислениям, так это ваше локальное хранилище данных. Когда вы храните информацию или запускаете программы с жёсткого диска или твердотельного накопителя.
Облако также не означает наличие в вашем доме выделенного сетевого хранилища (NAS). Хранение данных в домашней или офисной сети не считается облаком. Но, некоторые устройства NAS позволяют вам удалённо получать доступ через интернет к своему хранилищу – это уже, по сути облако.
Чтобы технология считалась «облачной», вам необходимо получать доступ к своим данным или программам через интернет или, по крайней мере, синхронизировать эти данные с другой информацией через интернет.
Наследие Dropbox
Dropbox, хотя и постоянно присутствует на рынке, для многих является синонимом старых добрых времён.
Небольшое выделенное пространство для данных в Dropbox компенсировано интуитивно понятными приложениями для различных операционных систем, удобной работой в браузере и простым обменом файлами. Кроме того, когда на рынке властвовал Dropbox, размеры файлов были не такими объёмными, как сегодня.
Так или иначе, Dropbox был потеснён Google, Apple, Microsoft и другими. Облако стало обычным явлением, превратившись из технологии завтрашнего дня в обыденность, хотя и не без своих недостатков.
Нравится нам это или нет, сегодня всё в той или иной степени используют облако. Google и Apple сохраняют в нём бэкапы софта нашего телефона, скидывают фотографии с камер смартфона, отправляют файлы друзьям и так далее.
Иногда мы пользуемся облаком, даже не подозревая об этом, даже не заходя в него с компьютера. Это неотъемлемая часть современного образа жизни.
Преимущества облака
О плюсах облака говорить однозначно проще, чем о минусах, это, вероятно, связано с фактом, что оно очень удобное.
Например, мы работаем над чем-то на работе и хотим закончить это дома. Что мы делаем? Сохраняем файл в облаке и… продолжаем работать дома. Либо мы сразу делаем всё в облачном файле, который сам себя сохраняет, а потом продолжаем работу дома!
Продолжим вышеизложенную мысль! Хотим показать кому-нибудь фотографии с праздников? Облако! Видео из отпуска? Опять облако!
Мы хотим всегда и везде иметь доступ к нашим файлам, документам, даже когда мы забываем любимую флешку или внешний накопитель? Облако!
Что нам нужно, чтобы иметь возможность просматривать наши файлы в облаке? Компьютер, планшет, телевизор, смартфон, умный холодильник и т. д. Нужен девайс и интернет.
И последнее, но не менее важное: минимализм, экономия места, ограничение снаряжения. Если у нас есть облачный диск, не нужно таскать с собой флешку, внешний диск, сотни кабелей и переходников — пользователи MacBook, это про вас. Всё, что нужно, это компьютер или другое оборудование и интернет.
Облако безопасно, оно зашифровано и продолжит хранить данные, даже если мы потеряем компьютер, портативный накопитель или другие носители. Наши облачные данные никогда не исчезнут! Ну, наверное, никогда.
Преимущества облака
К очевидным преимуществам хранения данных в облаке можно отнести:
2. Лёгкий доступ к файлам
3. Нет необходимости носить физический носитель
4. плата за конкретный объём хранилища
5. Безопасность — данные вряд ли пропадут и их никто легко не украдёт. Наверно…
Есть ли у облачного диска недостатки
Пожалуй, главный недостаток облачных файловых хранилищ — их безопасность!
Теоретически шифрование данных в облаке гарантирует, что никто не получит доступ. Поставщики услуг сообщают о том, насколько защищены наши файлы, хвастаясь технологиями шифрования.
Хуже всего то, что, если кто-то на самом деле захочет, он доберётся до наших данных либо путём кражи пароля у нас (а мы часто неосознанно подвергаем себя атакам в сети), либо с помощью наших киберпреступных навыков.
Да, физические облачные серверы, на которых находятся наши данные, могут быть повреждены или сломаны. Но случается такое редко, как авиакатастрофы, но всё же. Положительный момент в том, что, чтобы безвозвратно потерять данные, хранящиеся в облаке, вы должны быть невероятным неудачником.
Должны выйти из стоя, все физические серверы, на которых хранятся резервные копии наших данных. Шансов на это в принципе мало, но если мы захотим к чему-то придраться, то надо признать, описанная ситуация может иметь место. Поэтому безопасность данных в облаке является дискуссионной темой.
Недостатком файлов, хранящихся в сети, является необходимость иметь доступ к сети для возможности их использования. Вроде очевидная вещь, но без интернета файлов нет. Кроме того, стоит учитывать скорость передачи данных.
Доступ к файлам в облаке также может быть ограничен сбоями инфраструктуры или программными как на нашей стороне, так и стороне поставщика. Опять же, это случается крайне редко, но если случается, то возникает проблема, когда наши файлы срочно необходимы.
Другим недостатком является то, что облако стоит денег. Может, это и не бешеные деньги при покупке 100 Гб данных каждый месяц, но стоимость 1–2 Тб составляет ощутимые суммы.
Для сравнения, за аналогичную годовую стоимость мы купим физический, быстрый и ёмкий SSD-накопитель, а инвестиции окупятся уже через год.
Каждое облако — это отдельная вселенная, что тоже недостаток. Во времена Dropbox было проще, но это сомнительная правда. Будет ли у нас доступ к диску только на уровне браузера или специализированных приложений, или мы выберем интегрированное решение, которое разделяет папки на физическом диске компьютера с облачным, полностью зависит от нас.
Недостатки облака
К очевидным недостаткам хранения данных в облаке можно отнести:
· Риск ограниченного доступа к файлам
· Различные модели облачной интеграции
· Необходимость регулярной абонентской платы
· Необходимость постоянного подключения к интернету
Облачный диск – стоит или нет
Как видите, облачное хранилище не такое уж и простое дело. Решение не идеальное, есть неоспоримые преимущества, но и недостатки.
Это удобно и безопасно, и в то же время, наоборот, когда у нас слабая пропускная способность канала и кто-то хочет похитить наши данные. Для одних облако дешёвое и гибкое, а для других дорого, и в масштабах нескольких лет использования — экономически неоправданно.
Кому-то удобно, кому-то наоборот, потому что отправлять данные нужно в интернет, помечать папки, которые синхронизируются с облаком и т. д. Оно того стоит? Смотря для кого!
Каждый должен самостоятельно продумать смысл использования облачного диска. Подсчитайте рентабельность, проверьте, сколько и каких файлов окажется в облаке, как часто они используются, сколько места занимают и прочее.
Это важно, потому что может оказаться, что вместо облака нам нужна лишь большая флешка, на которой мы можем хранить наши дипломные, выпускные работы или профессиональные проекты. Или, может быть, SSD-накопитель, безопасный, быстрый и зашифрованный, на котором будем хранить данные исключительной ценности.
Тема преимуществ и недостатков облака и его прибыльности настолько же проста, как наши ожидания, и на столь же сложна и часто неочевидна.
Хотите первыми узнавать всё о Hi-Tech новинках – ПОДПИСЫВАЙТЕСЬ НА КАНАЛ
А также читайте самые свежие обзоры на нашем сайте – TehnObzor.RU
Источник: dzen.ru
Что такое облако в интернете и как получить к нему доступ
Облачными технологиями пользуются многие пользователи интернета. Облака удобны для тех, кто слушает музыку, смотрит фильмы на просторах сети, играет в игры. Но при этом есть и те, кто даже не знает, что означает облако в интернете.
Что такое облако и при чем здесь аренда
Под облаком подразумевается уникальная технология, позволяющая людям экономить место в памяти на компьютере и смартфонах. При помощи такого веб-сервиса можно хранить все необходимое не в памяти гаджета, которая ограничена по размеру, а на больших по размеру носителях информации на специальном удаленном сервере.
По сути, облако – это огромный жесткий диск в глобальной сети, на котором миллионы пользователей хранят свою информацию. В облаке пользователь может хранить свои фото, видео, бекапы (резервные копии), картинки, тексты и другие файлы.
Облачное хранилище такого типа не принадлежит пользователю. Третьи лица просто позволяют им пользоваться.
Все достаточно удобно – пользователю не приходится хранить информацию на своем телефоне или ноутбуке. Таким образом, получается, что человек берет в аренду кусочек места в Облаке. Такая аренда может быть бесплатной. Хотя для хранения особенно больших объемов информации порой приходится действительно платить ежемесячную арендную плату или плату за объемы хранимых данных.
Открыв облако, пользователь легко получает доступ к своим данным (фото, видео и т.д.) через любое устройство. Потребуется только связь с облаком с помощью интернет соединения.
С помощью облака можно отправлять файлы другим пользователям, или при необходимости дать доступ к любой информации своим родным или знакомым. Для этого достаточно отправить им ссылку на видео, фото или иной файл. Такую ссылку можно получить после того, как видео или другой файл загружены в облако.
Что нужно для получения места в Облаке
Чтобы получить место в облаке, требуется регистрация на сайтах, которые предоставляют облачный сервис.
Стоит отметить, что пользование облачными технологиями не всегда бесплатное. Зачастую зарегистрированному пользователю предоставляется какое-то место для информации, за которое плата не требуется.
Бесплатное место ограничено, нередко оно быстро заканчивается. Поэтому если нужно хранить что-то объемное в облаке, то пользователю приходится платить за дополнительный объем облачного пространства в сети.
Почему исчезли свадебные фотографии
Вспоминаются истории молодоженов, которые пригласили профессионального фотографа на съемку свадьбы. У свадебного фотографа было около 25 гигабайт бесплатного облачного пространства. В летний период он проводил особенно много свадебных съемок. Объем фотографий у него получался очень большой, поэтому бесплатное облачное место у него быстро заканчивалось.
Как поступал свадебный фотограф? Он давал молодоженам ссылку на архив со свадебными фотографиями из своего облака.
Молодые смотрели свои свадебные фотографии, потом оплачивали работу фотографу и уезжали в свадебное путешествие. Однако по возвращении из своей поездки они не могли скачать фотографии из облака фотографа. Ибо они были уже удалены – таким образом фотограф освобождал место в своем бесплатном облаке для следующего свадебного архива.
В чем была ошибка молодоженов? Дело в том, что архив со свадебными фотографиями хранился в облаке фотографа. Доступ (логин и пароль) к этому облаку был только у него.
Молодожены получили ссылку на архив, который находился в облаке у фотографа. Но они сразу же не скачали свадебные фото на свое облако, либо на свой компьютер, либо на какое-то другое свое устройство.
В итоге семейная жизнь начиналась с чистого листа – с отсутствия неповторимых свадебных фотографий. Восстановление информации, удаленной из облака, совершенно невозможно. Мы с этим автоматически соглашаемся, когда регистрируемся и начинаем пользоваться облачным хранилищем, но часто не читаем соглашение об его использовании.
Каким облаком лучше пользоваться
Логичнее всего пользоваться облачным хранилищем на том же сайте, где у пользователя находится его почта. Названия у таких хранилищ на разных сайтах будут разными. Тут все зависит от владельцев сайтов: как они придумали, такое название и будет.
На сайте mail.ru облачное хранилище так и называется: Облако, на сайте yandex.ru – Яндекс.Диск, на сайте Gmail.com – Диск (или Google Диск).
Облако mail.ru
h2 4,0,0,0,0 —>
p, blockquote 25,0,0,0,0 —>
Бесплатно каждому зарегистрированному пользователю почты mail.ru предоставляется 8 Гигабайт в облачном хранилище.
Если же пользователю нужно 40 Гигабайт облачного пространства, то он может зарегистрировать 5 почтовых ящиков Майл ру. Тогда у него будет по одному бесплатному облаку в каждом из пяти почтовых ящиков. Если 5 ящиков умножить на 8 гигабайт, то получится 40 Гигабайт бесплатного облачного хранилища.
Но для регистрации пяти почтовых ящиков пользователю потребуется придумать 5 логинов и 5 паролей, а потом их не забыть: записать в блокнотик логин и пароль или как-то иначе сохранить информацию о почтовых ящиках. Да, это неудобно, зато бесплатно. Чтобы получить 40 Гигабайт Облака в одном почтовом ящике, придется оплачивать то пространство, что больше бесплатных 8 Гигабайт.
Яндекс.Диск
h2 5,0,0,0,0 —>
Облачное пространство в почте Яндекса называется Яндекс.Диском. Обладателю этого почтового ящика бесплатно предоставляется 10 Гигабайт.
p, blockquote 30,0,0,0,0 —>
Возможности у разных облаков (в Майл ру, на Яндекс, в Гугле и других) примерно одинаковые, с небольшими отличиями. Везде можно хранить свои видео, фото и другие файлы в пределах выделенного облачного пространства. Если выделено 10 Гигабайт, то хранить 11 Гигабайт уже не получится. Можно использовать только 10 Гб.
Также везде можно дать ссылку на какие-то свои файлы, видео, фото, архивы и тому подобное. Либо можно предоставить общий, совместный доступ к какой-то папке или к файлу. Последнее бывает удобно, если два или более человек работают над каким-то общим проектом или задачей.
Гугл Диск
h2 6,0,0,0,0 —>
p, blockquote 33,0,0,0,0 —>
В Гугл Диске бесплатно предоставляется 15 Гигабайт облачного пространства.
Сбер Диск
Сбербанк создает свою экосистему. В рамках этой экосистемы есть Сбер Диск. Бесплатное облако Сбер Диск имеет размер 15 Гигабайт.
p, blockquote 38,0,0,0,0 —>
Для доступа к нему нужен Сбер ID. Он есть у тех клиентов Сбербанка, которые пользуются Сбербанком онлайн на компьютере или мобильным приложением Сбера на телефоне.
Видео-формат статьи «Что такое облако»
Итоги
Управление данными производится на том сайте, который выдал облако. Чтобы войти на свой облачный сервер, нужно вводить логин и пароль. Это ничем не отличается от входа в свой почтовый ящик. После этого можно смело отправлять информацию на облако. Например, можно сразу отправлять все фото со смартфона в облако, чтобы не перегружать устройство.
Однако в том случае, если файлы очень важные, например, семейный альбом, то имеет смысл сохранять их на своем устройстве. Это может быть внешний жесткий диск, карта памяти или иное устройство. Копия важных файлов на своем устройстве, принадлежащем пользователю, никогда не помешает.
Источник: www.inetgramotnost.ru
Облако — что это и зачем?
Недавно мы запустили сервис 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 в былинный отказ.
Облако – это не куча слов «масштабируемое», «доступность», «миграция», «производительность», «тенденция», употребленных в произвольном порядке в маркетинговом тексте. Это просто модель владения вычислительными мощностями. В определенных случаях эта модель очень удобна.
Кстати, у нас есть сервис для разработчиков, работающий в облаке.
Дмитрий Мещеряков,
департамент продуктов для разработчиков
- облачные вычисления
- ит-инфраструктура
- городские легенды
Источник: habr.com