tag:blogger.com,1999:blog-7533727264507128560.post3071098751500582279..comments2024-03-12T23:38:00.147-07:00Comments on Lessons Learned: Continuous deployment with downloadsErichttp://www.blogger.com/profile/12249063135381216090noreply@blogger.comBlogger2125tag:blogger.com,1999:blog-7533727264507128560.post-62617847687697290672009-02-17T20:40:00.000-08:002009-02-17T20:40:00.000-08:00One of the key points Joe grabs onto is that you d...One of the key points Joe grabs onto is that you don't have to get all the way to the ideal to start reaping benefits. <BR/><BR/>At a previous employer, one of the key advantages we had was that while all our competitors were shipping new code to customers once or twice a month, we shipped new code multiple times a week to all of our customers. Even though we couldn't approach the iteration speed IMVU now has, slicing a 0 off the amount of time between releases was a game-changer, especially in the highly competitive industry we were in (MMORPGs). The effort that went into shipping to customers quickly also meant that we could rapidly deploy updated code to our internal customers, like QA and localization departments, on an hourly basis, which made our turnaround on new content and fixes stupendously quick compared to the day or even week long delays between builds at some game studios.<BR/><BR/>I'm of the opinion that continuous deployment is a valuable asset for almost any kind of software, even if it turns out that you don't *need* to deploy very often. Having the ability to iterate whenever necessary means that you'll be able to respond to your customers' needs quickly, and they'll help you drive towards a near-perfect 1.0 product while your competitors are still cutting features to reach a deadline.<BR/><BR/>In our case, we handled the multiple-versions problem in a somewhat simple manner: When we rolled a new version of our game code out to the servers, the server cluster sent messages to all the logged in users' clients, informing them that a new version was available. At that point, their only options were to continue playing in their current location, or restart the client for an automatic, painless update. Combining this with client updates that happened in a matter of seconds (with any associated content updates streaming down in the background) meant that we could deploy a new version of the client and server code simultaneously with tens of thousands of active players, and have virtually all of those players running the latest version within an hour.Kevin Gaddhttps://www.blogger.com/profile/04689186557672996705noreply@blogger.comtag:blogger.com,1999:blog-7533727264507128560.post-9685594337996964542009-02-17T09:48:00.000-08:002009-02-17T09:48:00.000-08:00Thanks for the comments. As you suggest, Thought E...Thanks for the comments. <BR/><BR/>As you suggest, Thought Experiment Part II is going to involve lots of changes to the classic MMO architecture that makes it more like the web. You also answered another question I had, which was "How often does IMVU update its client?"Joe Ludwighttps://www.blogger.com/profile/05216200749512371935noreply@blogger.com