Зачем облачные технологии нужны малому или большому бизнесу? Как начать быстро пользоваться облаками, какие сервисы под какие задачи выбрать? Надо ли платить, и если да, то сколько и как? Эти вопросы в различных формах регулярно обсуждаются и компьютерными СМИ, и онлайновыми ИТ-ресурсами, однако практически всегда подразумевается, что читатель владеет темой, понимает различные умалчиваемые детали и обладает некими минимальными навыками работы в облаках. В результате возникает разрыв между множеством потенциальных потребителей облачных служб, хорошо разбирающихся в ИТ, но пока не представляющих, как сделать самые первые шаги в облака, и поставщиками профильных услуг, по различным причинам не особо заинтересованными в такой помощи. Тут могла бы помочь литература, но отечественный книжный рынок по экономическим причинам с каждым годом все сильнее отрывается от реальных нужд ИТ-отделов, ориентируясь либо на полных “чайников” (“Windows 8 за полчаса”), либо на академических специалистов, переиздавая проверенную классику программирования на С++.
Данная статья представляет собой попытку немного сократить упомянутый разрыв. Ведущие облачные провайдеры предлагают сегодня обширный и непрерывно расширяющийся перечень дистанционных услуг, и мы познакомимся на практике с основными наборами подобных сервисов, которые востребованы как организациями самого разного размера, так и индивидуальными пользователями. Наиболее распространённая облачная услуга — это хранение данных в облаке. Загружаем информацию на некий виртуальный сервер, экономя место на локальном жёстком диске, а главное, предоставляем доступ к этой информации через Сеть своим коллегам. Раньше этим целям служили FTP-серверы, а до них, во времена ФИДО, действовали BBS-станции. Сегодня на слуху облачные службы “Яндекс.Диск”, Google Drive, Microsoft SkyDrive и др. Насколько они подходят для долгосрочного корпоративного пользования и мало-мальски серьёзных проектов?
Надо ли платить за облачное хранение данных?
В первые годы развития Рунета была популярна такая услуга, как платный почтовый электронный ящик. Тогда уже существовали бесплатные почтовые сервисы — и зарубежные, и отечественные, однако многие люди, у которых важные проекты были связаны с ИТ и электронными коммуникациями, предпочитали с бесплатными сервисами не связываться и не жалели символические деньги на платный вариант. Сегодня с платной э-почтой ситуация ещё проще: можно практически у любого провайдера купить подобную услугу (POP/SMTP-сервис) или же за небольшие деньги зарегистрировать свой домен и настроить э-почту под оригинальное имя.
Между платными и бесплатными сервисами всегда был и будет принципиальный водораздел, связанный с отсутствием обязательств и любых гарантий в отношении “жадных” клиентов, пренебрежительным отношением к таковым техподдержки, высокими рисками (показателен недавний случай, когда “Яндекс.Диск” испортил Windows на компьютерах пользователей; а масса историй о краже паролей бесплатных сервисов?) и т. д. Да и сама излишне навязчивая реклама таких сервисов должна настораживать: если услуга качественная, пользуется хорошим спросом, клиенты говорят о ней только позитивные вещи, то разве будет она рекламировать себя на сайтах сомнительного содержания “мгновенной регистрацией в один клик”?
Солидный, уважающий себя и клиентов сервис и вести себя должен представительно: прежде всего отсеивать те 20% пользователей, которые в конечном итоге ничего не покупают, но создают 80% проблем. По такой схеме, в частности, работают сегодня онлайновые службы Amazon. Регистрация в этой системе довольно строгая, а набор облачных услуг, прямо или косвенно связанных с хранением данных, весьма обширен, и по этой причине мы рассмотрим именно их.
Регистрируемся в конструкторе Amazon
Amazon предлагает десятки самых разных облачных сервисов, и несомненный плюс его подхода — в возможности стыковки и объединения различных услуг в одно целое. Фактически пользователю предлагается мощный конструктор произвольной облачной инфраструктуры. Для доступа к любому из этих сервисов (точнее, для работы с конструктором Amazon) надо зарегистрировать единый аккаунт — зайти на сайт aws.amazon.com и нажать кнопку Sign In. Регистрация в Amazon бесплатна, однако, во-первых, придётся ввести номер банковской карточки, с которой для проверки её валидности будет списана сумма в 1—2 долл. (российские карточки воспринимаются нормально), а во-вторых, потребуется указать номер телефона, на который тут же позвонит робот из Amazon. Ему надо ввести с клавиатуры телефона четыре цифры — PIN-код, который в этот момент появится на сайте в окне регистрации. На номера ведущих отечественных мобильных операторов робот дозванивается без проблем, поэтому регистрационный процесс никаких сложностей вызвать не должен.
Все шаги регистрации достаточно тривиальны. На одном из них потребуется выбрать тарифный план (рис. 1). Вариант Basic бесплатен, он хорош для ознакомления и решения задач индивидуального плана и малого бизнеса. Разработчикам подойдёт Developer (49 долл. в месяц за возможность получить техническую консультацию), проектам среднего размера — Business (от 100 долл. в месяц за круглосуточный телефонный сервис консультантов, реагирование на проблемы в течение часа, техническую помощь и советы по экономии денег при выборе тарифных планов различных сервисов), крупным организациям — Enterprise (от 15 тыс. долл. в месяц, реагирование на проблемы в течение 15 минут, прикрепленный специалист по профилю эксплуатации и ряд иных форм поддержки). При этом в случае превышения любых параметров тарифного плана придётся платить практически за всё. Надо также иметь в виду, что многие западные сервисы по умолчанию списывают ежемесячную плату автоматически, то есть попробовать сервис на один месяц не получится: надо будет отказаться от него явно.
Загружаем данные в облачные “вёдра”
По завершении регистрации мы оказываемся в главном окне облачной службы Amazon. Удобнее всего пользоваться консолью AWS Management Console, из которой можно быстро перейти к любому сервису, получить справку, узнать статистику (рис. 2). Для начального знакомства выберем самый популярный и в то же время простой сервис Simple Storage Service (S3), который позволяет хранить на серверах Amazon различные объекты (файлы) и организовывать к ним внешний доступ.
Для перехода к сервису S3 надо в списке Services выбрать соответствующий пункт. Бесплатный вариант Basic предоставляет 5 Гб свободного пространства, 20 тыс. запросов на чтение объектов, 2 тыс. записей и 15 Гб трафика в месяц. Обратите внимание на эти довольно подробно расписанные технические ограничения: пользователю с ходу фактически предлагаются формальные соглашения об обслуживании (SLA), а не сколь красивые, столь и бесполезные картинки бесплатных служб с рекламным текстом “как все просто и удобно”, что лишний раз демонстрирует серьёзность подхода Amazon.
Принцип работы S3 прост и понятен каждому пользователю: этот сервис фактически реализует привычную концепцию каталогов и файлов. Создаём структуру каталогов, при необходимости вкладывая их друг в друга, и загружаем в них файлы, которые потом предоставляем, например, для скачивания извне. Каждый набор файлов и каталогов для удобства абстрагируется дополнительным логическим уровнем — так называемыми “вёдрами” (bucket). Кстати, на российских айтишных ресурсах жаргонное слово “бакет” в облачном контексте уже давно устоялось.
Соответственно чтобы начать эксплуатацию S3, сперва надо создать “ведро” (их может быть несколько), а потом формировать в нем каталоги и загружать объекты (например, видеофайлы с котиками). Надо иметь в виду, что хранение объектов в “вёдрах” — процесс платный, то есть ежемесячно со счета будет списываться сумма согласно тарифному плану. Деньги снимаются не за сами “вёдра”, а за реальное использование хранимых в них объектов (например, за превышение трафика или количества считываний файлов в рамках текущего тарифа), то есть можно завести десять “вёдер” с сотней каталогов внутри, но если они будут пустыми, то и платить не придется.
Создание “ведра” — простейшая процедура. После захода в окно сервиса S3 пользователю будет доступна единственная кнопка Create Bucket (рис. 3). Нажимаем её и выбираем географически ближайший ЦОД (рис. 4). Для западной части России таковым будет только дата-центр в Ирландии, хотя не факт, что он окажется лучше, например, чем американские ЦОДы: пропускная способность ирландской линии вполне может проигрывать магистральному каналу до США, и конкретные варианты надо тестировать вручную. Но в Японию, например, передача нескольких мегабайтов данных из Москвы происходит явно подольше, нежели в Ирландию.
Основное меню консоли S3 тривиально (рис. 5). Кнопка Create Folder создаёт каталог. Кириллица воспринимается нормально, но названия желательно продумывать заранее, потому что переименовать каталог в дальнейшем нельзя. В выпадающем списке Actions доступны элементарные операции над объектами (копирование, удаление). Загрузка объекта выполняется кнопкой Upload: выбираем файл размером до 5 Тб на локальном диске, и через несколько секунд он оказывается в облачном хранилище S3. Имеется также, пока в бета-версии, загрузчик в облако локальных каталогов целиком со всем их содержимым. Реализован он в формате Java-аплета, что по нынешним временам выглядит несколько старинно, так как последние версии многих браузеров Java по умолчанию не поддерживают.
Скачать объект из облака к себе на компьютер, находясь в консоли S3, можно с помощью локального меню, выбрав в нём пункт Download. Перемещение и копирование объектов как между каталогами, так и между “вёдрами” осуществляется стандартными командами локального меню Cut, Copy и Paste. Если объекту дать команду Make Public, то для него сформируется ссылка для свободного скачивания извне, которую можно передать любому пользователю. Эта ссылка показывается в разделе Properties правой части рабочего окна (рис. 6).
Тут же можно задать элементарные настройки объекта — например, включить поддержку шифрования, настроить политики безопасности и права доступа для конкретных пользователей, что актуально для корпоративных проектов. Удобна возможность формирования метаданных — наборов предопределённых тегов в формате ключ — значение. С их помощью, например, можно конкретизировать тип хранимых в объекте данных, хотя количество предлагаемых форматов невелико: изображения, два формата текста (обычный и rtf), документы msword и pdf, медийный mpeg и несколько архивных.
Настраиваем “вёдра” под разные задачи
Для “вёдер” также можно задавать оригинальные свойства: правила доступа, уведомления о текущем статусе через сервис Amazon SNS, теги и даже возможность размещения статического (без скриптов) веб-сайта, для чего требуется запустить соответствующий режим. Это, кстати, очень важная особенность S3: фактически предлагается альтернатива классическим веб-хостингам простых сайтов, причём заметно дешевле типовых предложений. Кроме того, цены на S3 регулярно понижаются (это происходило уже несколько десятков раз), а вот со стороны отечественных веб-хостеров снижения цен дождаться малореально. Так, стоимость первого терабайта в S3 обойдётся в 0,095 долл. на гигабайт — попробуйте найти хостинг для небольшого статического сайта за три рубля в месяц. Специально для подобных задач Amazon предлагает привязать имя домена к “ведру”.
При необходимости можно включить весьма оригинальную услугу: за скачивание данных платить будет не владелец сервиса, а пользователь, интересующийся конкретным объектом. В таком случае анонимный доступ к ресурсу блокируется, дабы было понятно, с кого списывать деньги. Важными в корпоративном плане будут и такие свойства “ведра”, как ведение лога действий (с возможностью складывания логов в отдельное “ведро”), поддержка жизненного цикла объектов с помощью набора правил и возможностью программного доступа к ним через Amazon SDK .NET/Java или REST API. Отмечу и контроль версий объектов — будучи включённым, он гарантирует сохранность всех версий данных после их модификации и возможность доступа к любому из предыдущих вариантов. В окне консоли режим показа версий объектов включается кнопками Show/Hide.
Особое внимание обращу на необходимость тщательного продумывания названий “вёдер” и каталогов, потому что в дальнейшем изменить их уже будет невозможно. Хранимые в них объекты доступны пользователям в таком формате:
https://pcweek-test.s3.amazonaws.com/testcat/kote.jpg
где pcweek-test — название “ведра”, testcat — имя каталога в этом “ведре”, а kote.jpg — имя объекта в каталоге (при условии, что ему выставлено свойство публичности).
Статистика использования сервиса S3 доступна из главной консоли AWS. Для доступа к ней надо войти в раздел My Account, выбрать в левом списке пункт Usage Reports и в выпадающем списке указать подлежащий анализу сервис. Далее задаём базовые параметры отчёта (период, детальность, вид операций и т. п.) и скачиваем файл в форматах XML или CSV, под который скорее всего потребуется дополнительно настраивать Excel (например, под вид разделителей). Удивительно, но визуальных средств изучения статистики Amazon не предоставляет — как минимум для тарифного плана Basic.
Выводы
S3 — удобное и надёжное хранилище данных с внятным SLA и прозрачной системой тарификации. На первый взгляд оно довольно аскетично, однако за счёт масштабируемости подходит для ИТ-проектов фактически неограниченной сложности и самого разного профиля — от организации бэкапов, хранилищ медийных данных и приложений и ведения личных архивов до веб-хостинга и сложных сервисов, которые используют S3 в качестве фонового ресурса через программные интерфейсы. Кроме того, это хранилище удобно состыковывается с многими другими службами Amazon.