A couple of months ago some of our customers reported connection issues when using our Verge3D Network service. We investigated this and figured out that the reason for this was the blocked IP addresses of Amason Web Services, a popular cloud platform leveraged by our Network platform.
Luckily, Verge3D is a pure offline tool to which the Network relates as a convenient but not essential feature. Nevertheless, this event motivated me to think big picture. As a result, I decided to share my thoughts on cloud services versus self-hosted in this article.
WebGL is all about online. It seems quite natural that some tools for creating 3D Web content are offered as web services. Sketchfab, Clara.io, Playcanvas, and other similar websites have a kind of a cloud-based editor where 3D models can be uploaded and fitted with materials, lighting, and background. Single button click and your model becomes available online – looks very convenient, doesn’t it?
As always, the devil is in the details. Here I’m trying to sort out the main reasons why some of our customers that used online tools in the past, decided to abandon them and migrate their workflow offline.
The main issue with cloud-based services is that they create a strong dependency between them and their users. For example, a 3D Web service enforces using of their own WebGL-based editor so that your assets are stored and can be used only within the context of a particular web service. As a consequence, you are unable to use another online or offline solution without substantial switching costs.
Also, due to the constantly growing user base attracted by free subscription plans, the use if storage and traffic tend to increase, which in turn, boosts maintenance costs. As such, after a certain level is reached, a cloud-based service needs to monetize itself on a constantly increasing scale, leading to higher prices for paid customers and more adverts shown to freebie lovers.
Offline software usually generates files stored on your own computer that you fully control. Even if a product is no longer maintained, you can still use it forever and produce quality content using the last version available.
If you ever tried to work with a non-trivial 3D scene you know very well how difficult and lagging it can be to handle hundreds and thousands of objects, materials, and textures, even on a beefy graphics workstation.
Now add up a network connection (which sometimes can be far from ideal) and you’ll understand that it is possible to comfortably create only rather simple scenes using online tools.
Being a centralized provider, a cloud-based service always follows the one-size-fits-all policy, meaning that it strives to offer a solution that satisfies the majority of customers. Sometimes it lacks features that you really need and sometimes it has redundant things that are of no use neither to you nor your customers (such as eye-catching logos, adverts or non-tweakable user interface).
Offline solutions can be individually tailored to a particular customer, extended with plug-ins and embedded in existing infrastructure or software.
Server and domain isolation
Often the remotely served content works not by its own but rather embedded in some other web-based application (such as online store with a 3D viewer option or a product configurator). However, the WebGL content being served from a different server (sometimes distant) can lead to various issues. One of them is a security limitation enforced by all modern browsers called same-origin policy that makes organizing the interaction between the embedded part and the rest of a web page a non-trivial task.
Offline content can be hosted on the same domain and server and loaded simultaneously with no such hurdles.
Privacy and security
Content uploaded to an online service is by its nature available to the general public. Even if there is a “private” mode, your content and other sensitive information can still be accessed by the service’s staff or targeted by a hacker attack. This implies that you have no choice but to trust your vendor.
Offline solutions allow you to keep your information private. Particularly, no copyrighted material such as files or work-in-progress applications is uploaded, thus securing your trade secrets.
All cloud services claim to be accessible around the globe 24/7, but can this really be achieved in the modern times of turmoil? Many countries impose regulations or censorship over the Internet to some extent, blocking local audience from accessing particular web hosts or slowing them down.
For businesses with international presence every customer matters. Any barriers or uncertainties will significantly affect the profits. As such, the question whether to use a third-party cloud that may be unavailable to some markets or use your own hosting becomes decisive.
As strange as it may seem, I came to the following conclusion. In order to enjoy security, robustness and global reach, you have to take the responsibility for your infrastructure and development tools and not to delegate them to any third party. Thanks for reading this and feel free to share your thoughts below.