В технических кругах любят склонять слово “открытый”, особенно в связи с облаком. Ведь сами понимаете, никому не интересно быть привязанным и стесненным “закрытой” системой.
В последние годы я побывал на ряде заседаний с разговорами об открытом облаке, и у меня всегда возникал мысленный вопрос: в чем все же точный смысл понятия “открытое облако"?
По моему мнению, простое использование технологии с открытым исходным кодом еще не делает облако открытым, и когда кто-нибудь меня про это спрашивает, это мой постоянный аргумент. Я предпочитаю мыслить как пользователь, и, откровенно говоря, у пользователей облака (как и иных технологий) обычно присутствует один главный интерес, и связан он с данными.
Переносимы ли данные? То есть, если мои данные находятся в одном облаке, могу ли я их оттуда изъять и перенести в другое облако? Простой вопрос, но на него не всегда имеется простой ответ.
Пойдем чуть дальше, а переносимы ли рабочие функции? То есть, если у меня имеется работающее приложение в каком-то облаке, могу ли я его перенести по собственному усмотрению в другое облако (причем не обязательно от того же провайдера)?
Да, открытый исходный код — важная вещь. Это значит, что я как пользователь по своей воле могу (при наличии навыков) скорректировать код как мне хочется и получить то, что мне нужно. Это также ведет к формированию настоящих стандартов, поддерживаемых большим числом производителей. Реальность, однако, состоит в том, что многие пользователи хотят от вендоров решений, доведенных до полного ума. Возьмем, к примеру, OpenStack. Если вы используете для рабочих функций облако OpenStack на платформе какого-то провайдера (Red Hat, Rackspace, HP, SUSE, Canonical, Piston, Nebula или другого), сможете ли вы легко и с полной интероперабельностью переносить ваши данные между этими сервисами?
Сегодняшний ответ — и да, и нет. Благодаря OpenStack Image Service (с кодовым названием Glance) у меня есть возможность сделать мгновенный снимок работающей системы и перенести этот образ в другой сервис. Это форма открытости, заключающая большее, чем открытый исходный код. Есть и другие сценарии, когда пользователи могут желать иметь или нуждаться в гибридном решении, позволяющем переносить данные между любыми вариантами сервисов и вендорских решений, как проприетарных, так и на базе открытого исходного кода.
Вопрос, которым должны задаваться пользователи облаков, состоит не только в том, используется ли открытый исходный код (в моем личном представлении это должно быть так). Надо ставить и более крупный вопрос — интероперабельно ли решение? Если конкретное решение по каким-либо причинам таковым не является, даже при открытом исходном коде существует очень вероятный риск, что оно вас к себе привяжет.