We use many components to deliver Worldmill. Standing on the shoulders of giants and all that. Even writing it down, I'm a little bit surprised at how many things we are actually using to provide this service.
|kubernetes||deployment, scaling and management of containerized applications|
|helm||package manager for kubernetes|
|sops||Simple and flexible tool for managing secrets|
|ghost||A full-stack, modern publishing platform|
|cert-manager||cert-manager is a native Kubernetes certificate management controller|
|prometheus||An open-source monitoring system|
|grafana||Grafana is the open source analytics & monitoring solution|
These components provide the vast majority of our off the shelf stack. There's a lot of YAML to make these all work for us.
Rust is a great language for developing high performance, back-end services and my first choice for most things now. Not so great (yet) for front end functionality.
Dan was designing the front-end and doing the core website design. His preferred language choice is Scala.
All applications need some glue to do simple tasks and we favour Python and Bash for that kind of stuff.
3rd Party Services
In this day and age, not many people write their entire system themselves. We've written/configured quite a lot of our stack, but it makes a lot of sense to use 3rd party services where possible.
I've left one component to the end, but it's the most important component. All of the above is wrapped around "Foundry" which is the high quality VTT at the heart of our services.
Good question. You can, of course, go ahead and either host your Foundry on your own equipment or setup your own hosted solution. There are lots of guides out there that enable you to do this fairly simply without requiring too much technical knowledge. Most of the stack above is related to the added complexity of doing this for multiple users.
If you have setup your hosting on your home computer, you'll soon begin to realise that domestic hosting in most parts of the world isn't going to deliver enough bandwidth for a satisfactory Foundry gaming experience.
If you have decided to host Foundry in the cloud yourself, then that will help you overcome the bandwidth problems. You'll still find that there may be advantages which Worldmill offers that you may find hard to replicate. I think I'll write another blog about that...
We are now setting ourselves to think what additional features we can provide. Can we deliver even more to our users now that we've put in the time and effort to deliver a rock solid platform?
Expect to hear more about our future plans here...