Облака стали очередным отраслевым идолом. Сегодня уже немодно говорить про обычные сервисы, предназначенные для хранения и синхронизации пользовательских данных, нужно обязательно присобачить к ним префикс «облачные». Но если посмотреть на эти инновационные решения вооружённым глазом, то можно заметить широкий спектр давно известных вещей от обычного SaaS (в лучшем случае) до аренды виртуальных серверов, которую раньше считали хостингом. Недавно была опубликована очень интересная сборка live-дистрибутива Linux, позволяющая организовать отказоустойчивое и защищённое облако.
Программного обеспечения для создания собственного хранилища данных в Сети предостаточно, но Tahoe-Lafs выделяется из общего ряда подобных решений. Это построенная на пиринговых технологиях распределённая файловая система. Здесь не нужен выделенный сервер — дисковое пространство клиентских компьютеров используется совместно. Данные разбиваются на блоки и хранятся на нескольких машинах (таким образом ФС работоспособна, даже если часть компьютеров недоступна — эдакий p2p-рейд). Блоки шифруются, и владелец узла не получит доступа к чужим файлам. Для работы с распределённой файловой системой используются модуль FUSE (для Linux/Unix) или протоколы HTTP и SMB. Кроме того, здесь есть встроенный сервер SFTP/FTP, а также фронтеды для интеграции с Windows, Mac OS X, iOS и т.д. Целостность данных проверяется с помощью специально разработанных средств, а также есть механизм инкрементального резервного копирования в локальное хранилище.
Исходный код Tahoe-Lafs написан на Python и распространяется на условиях GPLv2. Разработчики сделали основанный на OpenSuse 11.4 и Tahoe-Lafs 1.8.2 дистрибутив Linux, который можно загрузить с флэшки, оптического накопителя или в контексте виртуальной машины. Сборка осуществлена при помощи онлайн-сервиса SuseStudio и доступна в SuseGallery. Чтобы скачать образ, необходима авторизация (сервис поддерживает внешнюю аутентификацию, например с помощью учётной записи Facebook). К сожалению, графической подсистемы дистрибутив не содержит, и для настройки Tahoe-Lafs придётся использовать утилиты командной строки.
Я протестировал предложенное решение и нашёл в нём только один существенный недостаток: распределённая ФС не отличается высокой скоростью работы. Впрочем, это может быть связано с сетевыми нюансами — узлы Tahoe-Lafs были разнесены по всему Питеру. Кроме того, далеко не все пользователи работают под Linux, что несколько сужает возможности применения решения. Тем не менее разработка очень перспективна — едва ли распределённые хранилища из нескольких машин способны заменить существующие сервисы (Dropbox, Ubuntu One и т.д.), но на основе Tahoe-Lafs можно организовать бесплатные службы по типу торрент-трекеров. Только обмениваться пользователи будут не файлами, а дисковым пространством. Доступный для хранения в подобном облаке объём данных может определяться неким рейтингом, зависящим от того, сколько гигабайт на своих устройствах человек отдаёт другим участникам, а также от толщины его канала доступа в Интернет. Разумеется, программное обеспечение придётся доработать. Прежде всего, необходима простая в установке и настройке реализация Tahoe-Lafs для Windows/Mac OS X.
P.S. У меня возникла сумасшедшая мыслишка: после соответствующей доработки подобное решение может использоваться и для файлообмена. Особенно если правообладатели сильно прижмут трекеры. Хотя в этом случае я бы поставил на magnet-ссылки.