Облачные сервисы для WebGL? Нет, спасибо

    Несколько месяцев назад некоторые из наших клиентов начали сообщать о проблемах с подключением к нашему хостингу 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

      +3
      В суд на блокировку подали?
        –1
        Строчили им несколько гневных писем. Не понятно, помогло ли именно это, но через неделю-другую всё заработало.
          0
          Как отметил darken99 хостится может где угодно, т.к. WebGL в большинсте случаем это статика, которая может раздаватся с любого CDN
        +3

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

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

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

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

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

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

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


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

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

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


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


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

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

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

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

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


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

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


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

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

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

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

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

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

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

              Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

              Самое читаемое