Облачные сервисы для 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 был недоступен, пока длилась эпопея с блокировкой Телеграма. Понятно, что всем российским фирмам, завязавшимся на этот сервис, в частности интернет-магазинам, пришлось испытать не самые лучшие времена.

Выводы

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


ссылка на оригинал статьи https://habr.com/post/423579/


Комментарии

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *