Posted by on March 17th, 2017

Happy Friday! Cambo here to kick the weekend off by bringing back the dev tech blogs. We plan to keep them coming at least once a month as we make more progress on development. In regards to the Q&A, most of them are answered and I’ll be sure to post it in our next update blog. For now, here’s our infrastructure dude, Maylyon!

 


 

Hey everybody! Maylyon here with a new non-game related, non-engine related, non-tools related tech blog!  Hint: this is your tune-out point if those are the topics you are looking for.  3 … 2 … 1 …  Still here? Excellent!

After literally years of silence about Devotus, I wanted to follow-up with a snapshot of where Devotus is today. If your memory is a little rusty, Devotus will be our mod content distribution pipeline to help mod authors create and manage their home-brewed content and deliver it to end-users.  To get context for this blog entry, you should definitely read those first two blogs.  Without further ado, the “what has been happening?” (aka: “you guys still work on that thing?”).

 

ModJam 2016 ARMAGEDDON!

In case you didn’t know, there were mods on Devotus’s developmental servers from a TUG v1 ModJam in early 2016.  Don’t go rushing to find them now; they’re gone.  They were sacrificed to the binary gods in order to make way for…

 

Going “Serverless”

Suspend your understanding that the term “serverless” is a lie because there are always servers somewhere and play along for a bit.  The old Devotus architecture was built on AWS EBS-backed EC2 instances running a mix of Node.js, C++, and MongoDB.  It looked a little bit like this:

image

The primary detriments to this approach were:

1.    Paying for these servers (even extremely small servers) when nobody was using them,

2.    Scalability at each layer of the stack would incur even more financial cost and contribute to…

3.    Complexity of the implementation.

Leveraging AWS API Gateway and AWS Lambda, we have moved to an architecture that looks like:

image

Moving to this setup allows us to:

1.    Greatly reduce the costs associated with Devotus (especially when nobody is using it),

2.    Offload most of the scalability problem to AWS (less work = more naps),

3.    Synergize our implementation with the other microservices we have been developing on the Infrastructure team.

 

Support for GitLab

Devotus now allows mod authors to create git repositories on GitLab in addition to GitHub.  It’s actually been there for a while but wasn’t there in the last blog I wrote. By supporting GitLab and their awesome pricing model, Devotus allows a mod author to choose whether they want their mod’s git repository to be public or private at mod creation time.  This choice does not apply to mod’s created on GitHub because their pricing model is less awesome (but still pretty awesome) and I’m cheap (see previous section for proof).

 

Improved Download Metrics

In the “bad old” days (read as “a month ago”), mod download count was just an unsigned integer.  Download request comes in, number gets incremented by one.  Commence spamming download of your own mod to falsely inflate its popularity!  Everybody wins!  … Except for the people who want to use the system.

Now, in the “brave new world” days, mod downloads are tracked per-user, per-version.  This allows mod authors to track their mod’s popularity throughout its release history and allows end-users to trust that a mod’s popularity is probably because of an amazing mod author rather than a mod author’s amazing spam-bot.

 

The Future Is…?

That’s all I have for this installment.  I (or somebody from my team) will be back with future Infrastructure updates as we get new and/or exciting things to share.  In the meantime, be sure to jot down all those cool mod ideas you have kicking around in your brain into a little leather-bound notebook so that WHEN TUG v2 is launched and WHEN Devotus is client-facing, you will be ready!

Have a great weekend!

Leave a Comment

Follow Us!

Stay up to date!

To get the latest updates on Nerd Kingdom tech sent right to your e-mail, fill out the form below