

Ask HN: good resources to learn about building/deploying large projects? - kevinburke

I have a bunch of questions about how to build and deploy large projects to production and I haven't been able to find good resources for answers. Right now I've been haphazardly checking engineering blogs and hoping someone talks about deploys, and reading http://www.kalzumeus.com/2010/12/12/staging-servers-source-control-deploy-workflows-and-other-stuff-nobody-teaches-you/. That's a great starting point but where should I look next? Where can I learn more about building and deploying large projects?<p>Is there a gospel for building and deploying systems? What's a "good" duration for end-to-end deploys?
How do I make sure I don't break everything? 
How do you swap the production code without dropping in-progress requests?
What are the things I won't know that I don't know, if I've never done this before?<p>Thanks,
Kevin
======
freerobby
This answer will vary depending on what you are building. Web app?
Language/framework?

As far as not dropping in-progress requests, most web sites have multiple
servers with an haproxy instance that redirects among them. You can deploy to
only one box at a time, and haproxy can direct visitors to the boxe(s) that
aren't in the middle of being upgraded.

There is no generalized answer to your larger question though. Many frameworks
and architectures have different deploying methodologies because of their
unique nuances. If you share what you're building on, I'm sure many folks here
can direct you towards some best practices/how-tos.

~~~
kevinburke
Sure, it's a web app deploying to AWS and using, at different times, Twisted,
Pyramid, Ruby, redis, and some Java.

