3 ms·
Ask HN: good resources to learn about building/deploying large projects?
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?
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?
Thanks,
Kevin
- freerobby 15y agoThis 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 15y agoSure, it's a web app deploying to AWS and using, at different times, Twisted, Pyramid, Ruby, redis, and some Java.