Несколько месяцев назад некоторые из наших клиентов начали сообщать о проблемах с подключением к нашему хостингу WebGL-приложений Verge3D Network. Как оказалось, причиной этого были заблокированные Роскомнадзором IP-адреса Amazon Web Services.

Неприятно, конечно, но терпимо. Verge3D — десктопный тулкит, а публикация на амазоновском хостинге это приятная, но не критичная для работы фича. Тем не менее, такие события заставляют задуматься о перспективах. Собственно, эта статья содержит некоторые соображения об облачных сервисах вообще и WebGL-сервисах в частности.

image

WebGL — единственная на сегодняшний день «правильная» 3D-технология для веба. И вообщем-то довольно естественно, что инструменты для создания и публикации трёхмерного контента иногда сами находятся в облаке. Такие веб-сайты как Sketchfab, Clara.io, Playcanvas предлагают облачный редактор, в котором собираются 3D-сцены. Нажал кнопку и ваш контент теперь доступен онлайн — удобно же!

В реальности не всё так радужно и в этой статье я попробую объяснить почему.

image

Vendor lock-in


Основная проблема облачных сервисов — навязывание жёсткой зависимости. Так, настроенные 3D-сцены и другие ассеты хранятся в облаке и могут редактироваться и настраиваться только в специфичном для веб-сервиса редакторе. Со временем, наработки постепенно накапливаются в облаке, и соскочить с него становится все труднее и накладнее.

Благодаря постоянно растущей базе привлеченных халявой пользователей, у таких веб-сервисов постоянно растет трафик и повышаются затраты на обслуживание. Которые, в свою очередь, перекладываются на пользователей, что приводит к повышению цен для платных клиентов, ну или просто показывают больше рекламы.

Десктопная программа и все файлы, которые она произвела, всегда останутся у вас на руках (понятно, что нужен бэкап). Даже если софтина больше не поддерживается, все равно ей можно пользоваться без ограничения времени (хм, если у вас, конечно, не подписка — чертовы облака и сюда добрались).

Тормоза


Если вы трехмерщик, то вы очень хорошо знаете, как может тормозить сцена с сотнями и тысячами объектов, материалов и текстур, даже если работать на графической станции.

image

Теперь сверху добавьте сетевое соединение (которое бывает разного качества), и станет понятно, что в онлайн-редакторе можно комфортно создавать лишь простенькие сценки.

Интеграция


Облачный контент раздается пользователям с центрального сервера с помощью универсального вьюера наподобие видео-плеера YouTube. Часто ему не хватает функций, которые вам реально нужны, и наоборот, есть совершенно бесполезные кнопки, логотипы и прочая мишура, которую никак нельзя убрать.

Хорошая десктопная программа позволяет настроить всё под себя и часто расширяется плагинами. В свою очередь, генерируемое ею кастомное приложение индивидуально адаптируется к конкретному клиенту. При желании, его можно встроить в существующую серверную инфраструктуру или программное обеспечение и не впасть при этом в зависимость от внешнего коннекта.

Серверы и домены


Трехмерный онлайн-контент обычно показывается не сам по себе, а работает в контексте окружения (например, интернет-магазин с 3D просмотром или конфигуратором). Если 3D на вашем сайте подгружается из облака, это может привести к различным проблемам. Одна из них — политика безопасности в браузерах, ограничивающая взаимодействие веб-контента загруженного с разных доменов.

Если же WebGL контент размещается в том же домене, что и остальной веб-сайт, становится возможным полный доступ и контроль к нему со стороны фронтенда сайта. Например, если это конфигуратор, пользователь может выбрать и настроить товар с помощью интерфейса сайта и сделать на него заказ, без перенаправлений и перезагрузок.

Конфиденциальность и безопасность


Все что опубликовано в облаке, становится доступным широкой публике. Даже если имеется «приватный» режим, все равно ваш контент и другая информация будут видны сотрудникам сервиса или могут быть украдены хакерами. Остается только надеяться на профессионализм разработчиков и надежность инфраструктуры облака.

Ну и наоборот, если вы не публикуете ничего в облаке, то значит и информация хранится только у вас. К тому же, какой смысл загружать исходники ваших моделей и сцен на публичный сервер?

Политика


Сложно найти облачный сервер, разработчики которого не будут гарантировать вам безотказную работу по всему миру в режиме 24 / 7. А как на самом деле, мы теперь прекрасно знаем. Не только в России, но и во многих других странах, включая Китай и США реализуются программы по цензурированию Интернета.

Если ваш проект нацелен на международную аудиторию, любые проблемы с доступностью немедленно сказываются на ваших доходах. В частности, работающий поверх Amazon
сервис хостинга моделей Sketchfab был недоступен, пока длилась эпопея с блокировкой Телеграма. Понятно, что всем российским фирмам, завязавшимся на этот сервис, в частности интернет-магазинам, пришлось испытать не самые лучшие времена.

Выводы


Так получается, что для обеспечения безопасности и гарантированной работы в глобальном масштабе, вам придётся взять ответственность за часть инфраструктуры и обеспечение средствами разработки, вместо того, чтобы делегировать это облачным сервисам.

Комментарии (18)


  1. Valle
    17.09.2018 18:26
    +2

    В суд на блокировку подали?


    1. alexkowel Автор
      17.09.2018 18:43

      Строчили им несколько гневных писем. Не понятно, помогло ли именно это, но через неделю-другую всё заработало.


      1. RPG18
        17.09.2018 23:43

        Как отметил darken99 хостится может где угодно, т.к. WebGL в большинсте случаем это статика, которая может раздаватся с любого CDN


  1. darken99
    17.09.2018 20:38

    Вывод можно сделать тут только один: вы вообще не понимаете в чем ваша проблема и решили все свалить на "облако".
    99% описанного не зависит от того, будет это лежать в облаке, на виртуалке в любом ДЦ, на шаред хостинге или у вас дома в кладовке на компьютере, подключенном через домашний интернет.


    1. alexkowel Автор
      18.09.2018 10:28

      Мы не пытаемся сказать, чтобы все отказывались от облаков. В этой статье мы просто решили проанализировать возможные проблемы, с многими из которых, мы сталкивались сами. Процент отказов, утечек данных и последствия возрастают по мере отчуждения вашей инфраструктуры и её передачи в облачные сервисы — это факт, с которым следует считаться.


      1. darken99
        18.09.2018 10:53

        Факт в том, что если вы некомпетентны — то не важно где у вас данные, они у вас все равно утекут и вы будете наступать на те же грабли.
        Вы проснулись и в 2018 году узнали что есть HTTPS, CORS и XSS? Ну поздравляю, только это далеко не проблема IaaS, SaaS, PaaS и прочих XaaS — это ваша некомпетентность и непонимание причин, и более того, нежелание разобраться в них.
        Наймите грамотного спеца или фирму, котор(ый/ая) вам настроит все так, как положено в конце 2018, а не продолжайте жить в интернете 90-х.


        1. alexkowel Автор
          18.09.2018 12:19

          Проблема не в чей-то компетенции. Почитайте статью про апрельские блокировки Телеграма:

          За 10 дней блокировки Telegram Роскомнадзор получил 46 тысяч жалоб

          Интересно, получается, все 46 тысяч это некометентные люди, которые никогда не слышали о «HTTPS, CORS и XSS» и «IaaS, SaaS, PaaS и прочих XaaS»?


          1. darken99
            18.09.2018 12:26

            В церковь вон вообще миллионы идиотов ходят, руки попам целуют и на коленях стоят.
            В психушках тоже достаточное кол-во.
            И вообще сумма разума на планете – величина постоянная, а население постоянно растёт.


            Вы о чем? Кто эти 46тыс.? Дизайнеры? Да, они некомпетентны в данном вопросе.
            Вы лично тоже, раз до сих пор по существу возразить нечего.


    1. qrKot
      18.09.2018 11:09

      Все автор понимает, вы просто невнимательно читали.

      нашему хостингу WebGL-приложений Verge3D Network.


      Verge3D — десктопный тулкит, а публикация на амазоновском хостинге это приятная, но не критичная для работы фича.


      На остальное не обращайте внимания, вся суть тут.


      1. darken99
        18.09.2018 11:20

        Я же о чем — чуваки пишут програмулю под винду XP уже лет N, потом где-то услышали про "облака" (только почему-то называет его через раз хостингом), решили что-то туда разместить и тут оказалось (внезапно!) что за последние 10 лет был изобретен HTTPS, CORS, XSS и еще много непонятных слов.
        Чуваки офигели от такой наглости и решили что у них все хотят что-то украсть (да-да, инженерам ежесекундно мерещится тот момент когда они в экзабайтах клиентских данных будут искать вот именно эту модельку на 10кб)


        1. alexkowel Автор
          18.09.2018 12:22
          -1

          Я вижу другую проблему. 10 лет взрывного развития облачных сервисов подходят к концу, а вы не видите или не хотите видеть, что маятник качнулся в другую сторону. Блокировки Телеграма это звоночек, на который нужно реагировать, а не зарывать голову в песок.


          1. darken99
            18.09.2018 12:35

            Завтра РКН заблочит вашего любимого провайдера, у которого стоят ваши сервера и будут у вас те же яйца, только в профиль.
            Вы не хотите понять что как раз Telegram, в отличие от вас, компетентны.
            Потому что они работали, а вы нет.
            И это все что вам нужно знать.


          1. qrKot
            18.09.2018 15:34

            10 лет взрывного развития облачных сервисов подходят к концу


            Ну да, впереди следующие 10, не столь взрывные, но как раз необходимые для «устаканиться», выработать «лучшие практики». Технология «созрела» — вы это же хотели сказать? Или вы про шумерскую нумерологию и прочие теории символизма?

            Блокировки Телеграма это звоночек, на который нужно реагировать, а не зарывать голову в песок.


            В качестве реакции вы что предлагаете? Отказаться от использования «облачных» практик, «похоронить» это направление и откатиться назад в развитии еще лет на 5? Завтра на полчаса выключат свет и вы призовете отказываться от электричества?


  1. iKest
    18.09.2018 06:08

    Вообще всё в кучу свалено. И кросс-доменные запросы (с https вобще не проблема), и стандарты передачи 3д контента (glTF в помощь), и рост траффика, и блокировки, и сложности вычислений. Магазины с какого-то боку приплетены. А вообще WebGL тут причем? Что Вы вообще хотели показать в своей статье? Что Вы SaaS не умеете?


    1. alexkowel Автор
      18.09.2018 10:32

      Кросс-доменные запросы всегда проблема, независимо от используемого протокола и настроек сервера. Браузер просто не позволит вызывать вам произвольный код на удалённой системе.

      А WebGL может быть разный. Может быть как у three.js, где всё что вам нужно, это несколько файлов на JavaScript и модели. А может как у PlayCanvas и Clara, где вся среда разработки основана на облаке.


      1. darken99
        18.09.2018 10:54

        Расскажите про проблемы с кросс-доменными запросами Google, Facebook, Amazon, Yandex, Uber и всем остальным, они то бедняги не в курсе :)


        1. alexkowel Автор
          18.09.2018 12:27

          Интересно, кто из этого списка не пострадал, когда Роскомнадзор начал блокировать IP адреса Телеграма? Или ещё вопрос, сколько из этих сервисов не испытывают проблем с доступом в Китае.


          1. darken99
            18.09.2018 12:38

            Пострадали не они, а клиенты в РФ.
            Остальной мир выходку вашего РКН просто не заметил.
            Как раз в Китае все намного понятней и предсказуемее. Изучите матчасть по тому как MSFT, AMZN, GOOG  и прочие работают в Китае — узнаете много нового.