Author Topic: Staged Releases  (Read 1576 times)

Offline Scion

  • Level 27
  • **
  • Posts: 402
  • Reputation: +11/-0
    • View Profile
Staged Releases
« on: November 11, 2008, 06:48:59 AM »
Hi All,

I Just wanted to bounce an idea off people, Related to staged deployments.

As a player of various games Ive experienced firsthand the issues that can arise when a new version is deployed. Suddenly a raft of previously undiscovered bugs are found, users get frustrated because there was no warning, changes can often invalidate several days gameplay towards a target that is now rendered invalid. and so the list goes on....

I was considering adding a staging area, where a new release is deployed first prior to full release on the live servers. Access to the staging area can be given to your more active users and as a 'premium' service to any paying customers. This would allow them to have the chance to tryout upcoming changes, modifications, and make comments that you can than take into consideration.....sort of like having a constantly runing beta for the next release. Initial setups could be generated bassed on current data, or generated to best illustrate the new features.

Does anyone have any experience with something like this, or what do yousee are the pitfalls or gottcha's that would need to be avoided.

Offline JGadrow

  • Level 35
  • **
  • Posts: 1,133
  • Reputation: +23/-2
    • View Profile
Re: Staged Releases
« Reply #1 on: November 11, 2008, 07:00:45 AM »
This system is actually utilized by Blizzard Entertainment with the massively popular World of Warcraft. It's a good strategy :)
Idiocy - Never underestimate the power of stupid people in large groups.


Offline Zeggy

  • Global Moderator
  • Level 35
  • *****
  • Posts: 1,187
  • Reputation: +13/-4
    • View Profile
Re: Staged Releases
« Reply #2 on: November 11, 2008, 07:21:04 AM »
Yep, it's used by many MMORPGs, they have a test server and live servers.

You could do the same with a web game, although I think you'd probably want it open to anybody who wants to test new features, not just premium members.

Also remember to make it clear that the test server might go through resets or rollbacks just in case something goes horribly wrong :P

Offline Scion

  • Level 27
  • **
  • Posts: 402
  • Reputation: +11/-0
    • View Profile
Re: Staged Releases
« Reply #3 on: November 11, 2008, 08:27:45 AM »
yes, I was planing on making the test server visually different (using an alternative css file) to re-inforce that it wasnt the live site, and that testers would need to activate a test acount from a live players account.....the login would then be identical.



Offline Tribal

  • Level 22
  • *
  • Posts: 256
  • Reputation: +1/-1
    • View Profile
Re: Staged Releases
« Reply #4 on: November 11, 2008, 03:18:30 PM »
Wow yes. That sounds like a really good idea. The identical login does sound good. Would what they do on the test server affect the main server?

Offline JGadrow

  • Level 35
  • **
  • Posts: 1,133
  • Reputation: +23/-2
    • View Profile
Re: Staged Releases
« Reply #5 on: November 12, 2008, 07:22:23 AM »
The test server should be entirely separate which means, ideally: No, Tribal :)

And the test server should probably be the same in all respects to the original server. The only difference is the (sub)domain. I doubt a user would log into the test server and not realize that it's the test server so no separate CSS should be required. Plus, if they're identical except for the code changes, all you need to do in order to upgrade the live server is to copy the files onto the new server.

I would actually recommend a 4-server scheme:
Live application server = Slave Database + Application. Accessible externally
Deployment server = Slave Database + Application. Accessible internally
Development server = Master Database + Application. Accessible externally
Data server = Master Database. Accessible internally

The Data server is where your master database is located. Both the Deployment and Live servers slave off of this database so as to have identical copies. So, you create your initial database and application on your Development server. Once it's ready for prime-time, you re-construct the master database on the Data server and copy the application to your Live server. Then, you create a slave of your master database on the Live server and you're ready to rock.

Now, people are playing your game and discovering errors. You work on them in your Development server (which is identical to the Live server at the start except for data). People can log into your development version and play through to let you know when it's ready for live play. You then create a copy of the application on the Deployment server. If any database changes took place, you need to perform the relevant alter table statements and such on your master database so that it reflects your Development version without altering the stored data. You slave the database to the Deployment server.

Now, you edit your web-host to point the old Live server URL to the Deployment server. Now, your Deployment server and your Live server have, essentially, switched places. You re-slave the 'new' Deployment server and replace the application on it with that from your Development server and you're in a better place for the next upgrade as the Deployment server from this point on will always be a mirror of the Live server except that it is not actually 'used' by players allowing you to do the upgrade to that server without any down-time for your application :)

Idiocy - Never underestimate the power of stupid people in large groups.


Offline Tribal

  • Level 22
  • *
  • Posts: 256
  • Reputation: +1/-1
    • View Profile
Re: Staged Releases
« Reply #6 on: November 12, 2008, 01:13:29 PM »
That really is a great idea. *ups*

Offline AcidicOne

  • Level 16
  • *
  • Posts: 147
  • Reputation: +0/-0
    • View Profile
Re: Staged Releases
« Reply #7 on: February 12, 2009, 05:45:03 PM »
Also a mentioned earlier, You can do what blizzard does, to keep the db for the "test" server only for those who wish to use it. Blizzard through WoW has members "copy" there account to the test server, only leaving those who wish use the test server are moved to it. So through a profile/settings page you could allow the individual members a button that will activate a query to copy users information that would be r elevate to test server aka username,e-mail etc. Seeing how the server itself can suffer rollbacks etc there would be no need to copy user items,stats etc. Giving people a chance to try new stat combos etc or take different routes in development of there accounts.
People Like You, Are the Reason People Like Me Need Medication

 


SimplePortal 2.3.3 © 2008-2010, SimplePortal