Cloud services for WebGL? No thanks

Published on September 17, 2018

Cloud services for WebGL? No thanks

    A few months ago, some of our clients started reporting problems connecting to our hosting of Verge3D Network WebGL applications. As it turned out, the reason for this was blocked by Roscomnadzor IP-addresses of Amazon Web Services.

    Unpleasant, of course, but tolerable. Verge3D is a desktop toolkit, and publishing on Amazon hosting is a nice but not critical feature. However, such events make you think about the prospects. Actually, this article contains some considerations about cloud services in general and WebGL-services in particular.

    image

    WebGL is the only “right” 3D technology for the web today. And in general, it’s pretty natural that the tools for creating and publishing three-dimensional content are sometimes in the cloud themselves. Web sites such as Sketchfab, Clara.io, Playcanvas offer a cloud editor that gathers 3D scenes. Pushed the button and your content is now available online - conveniently the same!

    In reality, not everything is so rosy and in this article I will try to explain why.

    image

    Vendor lock-in


    The main problem of cloud services is the imposition of a hard dependency. For example, customized 3D scenes and other assets are stored in the cloud and can only be edited and configured in a web-service-specific editor. Over time, the developments gradually accumulate in the cloud, and it becomes more and more difficult to jump off it.

    Thanks to the ever-growing base of users attracted by freebies, such web services are constantly increasing traffic and increasing maintenance costs. Which, in turn, are passed on to users, which leads to higher prices for paid customers, well, or simply show more advertising.

    The desktop program and all the files that it produced will always remain in your hands (it is clear that you need a backup). Even if the software is no longer supported, you can still use it without time limit (hmm, if you don’t have a subscription, of course, you got damn clouds).

    Brakes


    If you are a 3D artist, then you know very well how a scene with hundreds or thousands of objects, materials and textures can slow down even if you work on a graphic station.

    image

    Now add a network connection (which is of different quality) from above, and it will become clear that in the online editor you can comfortably create only unpretentious scenes.

    Integration


    Cloud content is distributed to users from a central server using a universal viewer like a YouTube video player. Often, he lacks the functions that you really need, and vice versa, there are completely useless buttons, logos and other tinsel, which can not be removed.

    A good desktop program allows you to customize everything for yourself and is often expanded with plugins. In turn, the custom application generated by it individually adapts to a specific client. If desired, it can be embedded in an existing server infrastructure or software without becoming dependent on an external connection.

    Servers and domains


    Three-dimensional online content is usually not shown by itself, but works in the context of the environment (for example, an online store with 3D viewing or configurator). If 3D on your site is loaded from the cloud, it can lead to various problems. One of them is browser security policy that restricts the interaction of web content loaded from different domains.

    If WebGL content is hosted in the same domain as the rest of the website, full access and control of it by the front end of the site becomes possible. For example, if it is a configurator, the user can select and configure the product using the site interface and place an order on it, without redirections or reloads.

    Privacy and Security


    Everything that is published in the cloud becomes available to the general public. Even if there is a “private” mode, your content and other information will still be visible to service staff or may be stolen by hackers. One can only hope for the professionalism of the developers and the reliability of the cloud infrastructure.

    Well, and vice versa, if you do not publish anything in the cloud, it means that information is stored only for you. Besides, what's the point of downloading the sources of your models and scenes to a public server?

    Politics


    It is difficult to find a cloud server, whose developers will not guarantee you trouble-free operation around the world in 24/7 mode. And in fact, now we know perfectly well. Not only in Russia, but also in many other countries, including China and the United States, programs are being implemented to censor the Internet.

    If your project is aimed at an international audience, any accessibility issues will immediately affect your income. In particular, the
    Sketchfab model hosting service running on Amazon was unavailable while the epic with the blocking of Telegram lasted. It is clear that all Russian companies that have started on this service, in particular online stores, had to experience difficult times.

    findings


    So it turns out that to ensure security and guaranteed performance on a global scale, you will have to take responsibility for a part of the infrastructure and providing development tools instead of delegating this to cloud services.