I put together a nice sketch of our current server setup + ideas for improvements (in blue). Am really liking sketchboard.io, it lives on there (account needed - I can add yours to the team, let me know), and I exported a .png to TeraMisc for reference - really should start using that repo more for infrastructure stuff.
This might be mainly of interest to @msteiger and is the thing I wanted to put together today to get an easier overview of what we have and where we might want to put stuff with Heroku not being a good option for tiny services anymore.
For good measure and completeness I added everything I could think of, including some ideas for improvement (in blue). Did I miss anything? Didn't include IRC/Slack or draw lines for Gooey as that'd probably get too messy.
It is amazing how much easier it can to be think about stuff when you have a good chart!
My personal ultimate goal is still to manage everything server related via Chef or so, designing cookbooks/roles for our different components. With that in place we should be able to move stuff around fairly easily. For instance if we come across some cheap hosting with a big beefy single dedicated server we could just apply all the roles to it and everything would install together on there (taking some care to avoid port conflicts and reuse DBs/containers)
This might be mainly of interest to @msteiger and is the thing I wanted to put together today to get an easier overview of what we have and where we might want to put stuff with Heroku not being a good option for tiny services anymore.
For good measure and completeness I added everything I could think of, including some ideas for improvement (in blue). Did I miss anything? Didn't include IRC/Slack or draw lines for Gooey as that'd probably get too messy.
It is amazing how much easier it can to be think about stuff when you have a good chart!
- Suggests using a single 1/2 GB droplet to host a dedicated MySQL DB for the other servers to connect to. Might help shave off a little memory use on the tight droplets, although I could be wrong and the DB process memory usage there minimal
- Suggests Gooey and the master server list could use said new dedicated DB instance, although really they could probably just use one of the existing DBs if we keep them - likely less work. Either actual process is minimal - just throw on an existing droplet / into an existing web container. Maybe Gooey would benefit from running out of Jenkins itself.
- Shows how we could introduce the use of Bintray to host both release binaries from Jenkins (game zip) and jar files from Artifactory (libs and modules)
- Show where the Module Index & Manager concepts fits in - the manager would read from the index + Bintray and in turn be used by the game/launcher/module site
- Includes other services that seem related for various integration ideas and other stuff we could do like provide hosting for light-weight stuff like IRC bouncers or email forwards for Contributors
My personal ultimate goal is still to manage everything server related via Chef or so, designing cookbooks/roles for our different components. With that in place we should be able to move stuff around fairly easily. For instance if we come across some cheap hosting with a big beefy single dedicated server we could just apply all the roles to it and everything would install together on there (taking some care to avoid port conflicts and reuse DBs/containers)