Don't write plumbing code for your startup.

All startups have to decide the trade-off between time and money. I will point out a set of problems where throwing money is optimal in 99% of the situations.

Programmer time is VERY expensive (yes, even in India. A good programmer costs an arm and a leg everywhere). Anything plumbing (like mail handling, source code hosting, live deployment, server management, bounce rate tracking, newsletter lists), should not be done in-house if you can avoid it, especially in the beginning. We use Appharbor, Azure, BitBucket, PostMarkApp, MailGun, AWS, Mailchimp. We use pre-configured SQL Server instances, Mongo instances, etc etc.

With the exception of AWS and Azure, I feel everything is so pricey. Especially since I earn in Rupees and I have to spend in Dollars. These services are priced for American Businesses not Indian ones. But still, we at ClearTax pay for them. We are a bootstrapping startup, hungry for cash. How do we justify spending hundreds of dollars per month in these services? Because Programmer time is even more expensive and every line of code has the potential to be buggy. So we depend on these guys to get it right. Their incentives are aligned in getting it right. We'll find the cash, somehow, we always do. Startups don't die mid-keystroke as Paul Graham eloquently pointed out in his "How to Not Die" essay.

Just to twist the whole thing though: Our business is ClearTax - We help Indians prepare and file their tax returns online. We need the services for only for 2-3 months. Rest of the year, we go to the minimum plans. We hustle mate. ;-)