3 ms·
Blue Green Deployment
- jbyers 17y agoDouble the hardware can be an expensive proposition for a startup, unless you're paying by the hour. I prefer red pill / blue pill deployment. Build an environment where you incrementally deploy and roll back new code. During a rollout some servers will run old code (blue), some servers will run new code (red). This is what IMVU and others have described in their continuous deployment processes, only with Matrix-friendly colors.
- jrockway 17y agoThis seems like a problem unless your application is truly shared-nothing. Imagine what happens if the red code puts a piece of data in the shared cache, that is later retrieved by the blue code. The blue code gets confused, and crashes (or more likely, subtly corrups some other piece of data, which confuses the red code...) Also, database schema issues, users wondering why a feature disappears when they reload the page, etc. Either are definitely improvements over the usual dev / staging / production nightmare, though. (Sometimes I think people like that setup because their lives are boring and hacking on the production site at 5am on a Saturday adds much-needed excitement to their lives. I can't think of any technical reason for it, anyway.)
- jcapote 17y agoThis is pretty much what EngineYard does.
- pibefision 17y agoAny insight about gems, git workflows or any other interesting bit to implement it on Rails Apps?