Облачные сервисы хранения данных предоставляются сегодня фактически всеми ведущими компаниями, сражающимися на рынке cloud-хостинга. Загрузка, выгрузка и надежное хранение с гарантированно быстрым временем доступа — это неотъемлемые составляющие любого облачного проекта. Соответствующая услуга Amazon Simple Storage Service (S3) рассматривалась в статье “Как хранить данные в облаках Amazon”, теперь познакомимся с сервисом компании Google и сравним его с вариантом конкурента.
Регистрируемся в облачной структуре Google
Облачная платформа Google Cloud Platform предлагает достаточно развитый набор сервисов. Для доступа к ней, пусть и в бесплатном режиме, в дополнение к стандартной регистрации пользователя (например, через аккаунт gmail.com) потребуется “материальное” подтверждение личности с помощью банковской карточки. Правда, схема в сравнении с подходом Amazon сильно упрощена: во-первых, номер телефона роботом не проверяется, во-вторых, с карточки в целях её проверки ни цента не списывается. Карты российских банков понимаются без проблем.
Организуем проект по хранению данных
Amazon S3 сразу предоставляет прямой доступ к условной файловой системе, а вот Google предлагает более общий подход: универсальная консоль Google Developers Console группирует деятельность не по функциональности, а по проектам. Независимо от того, какой облачный сервис будет использоваться, сначала создается проект, а потом в его рамках развиваются подходящие сервисы. Это отличие стратегическое: если Amazon — это конструктор из различных облачных услуг, то Google скорее хостинг в одной из типовых моделей IaaS/PaaS/SaaS. Еще одна очень важная особенность: биллинг в Google привязывается не к аккаунту, а к проекту, т. е. при создании нового проекта процедуру регистрации через банковскую карточку придётся повторить.
Работа с консолью Google максимально упрощена. Единственная кнопка Create Project предлагает создать проект, требующий лишь ввода названия. Далее выбираем нужный нам сервис, он называется Google Cloud Storage. Непосредственное хранение данных, как и у Amazon, организовано в “вёдрах” (bucket, рис. 1). В каждом проекте может содержаться неограниченное число “вёдер”, только вкладывать их друг в друга запрещается. Но это и не требуется — внутри можно сформировать привычную систему каталогов для размещения объектов (файлов). Важная особенность при создании “ведра” — выбор места его физического размещения (в ЦОДах Европы или США), что влияет на оплату регионального трафика.
Работа с данными через консоль Google проста (рис. 2): файлы грузятся с помощью кнопки Upload (при этом в большинстве случаев автоматически распознается тип загружаемых данных), новые каталоги создаются кнопкой New Folder. Удобна возможность добавлять к хранимым объектам мета-данные и настраивать группы допуска к ним сторонних пользователей. После того как файл загружен в “ведро”, его можно сделать доступным для скачивания извне щелчком на свойстве Shared Publicity — появится внешняя ссылка на файл. К сожалению, в отличие от Amazon из консоли нельзя перемещать объекты между каталогами или переименовывать их.
Разработчикам доступны программные RESTful-интерфейсы для взаимодействия с данными в облачном хранилище: XML API и JSON API. К облаку Google можно обращаться из программ на Python, Java и JavaScript, поддерживается типовая схема аутентификации OAuth 2.0. Сервисы Google поддерживают и работу через командную строку, для этого надо установить бесплатную утилиту gsutil, которая хорошо интегрируется с локальным Python-окружением.
В облачные сервисы хранения данных Google входит также Google Drive, однако он позиционируется как услуга для конечных пользователей и предназначен для хранения приватных данных и доступа к ним физического пользователя прежде всего с мобильных устройств и из браузера. Google Drive поддерживает собственный программный интерфейс, однако относится к направлению мобильных систем (в основном, платформы Android) и не включен в основной перечень облачных корпоративных услуг.
Google немного дешевле, чем Amazon
Хранение первого терабайта в Google Cloud Storage обойдется в 0,085 долл. на 1 Гб в месяц (1 Гб в Amazon S3 стоит 0,095 долл.), с увеличением объемов в сотни и тысячи раз цена снижается до 0,06—0,05 долл. Кроме того, цены можно уменьшить ещё на 20%, если воспользоваться менее надежным вариантом хранения Durable Reduced Availability, подходящим, если скорость доступа к данным некритична. Оплате подлежит и трафик между разными регионами — примерно 0,1 долл. за 1 Гб.