This is my full-time business, and I've been building it since half-way into my freshman year of college 8 years ago. I don't generally outsource anything -- I really enjoy all aspects of the work, from design and development to helping onboard new customers to managing marketing efforts.
Being the only employee does mean everything needs to be automated. I use Pingdom to check that every site and API is responding with proper content. Monit and custom scripts make sure various services/daemons are always running on the right servers, and restart them if something fails. Everything is set to SMS me, and I'm never far from a computer, even on vacation.
When you're the sole employee, you're the one responsible for disaster recovery. Data center on fire, hard drive corrupt, billing mistake, etc. -- your problem, at 3AM when you get that SMS that your service is down.
So prepare for that. Keep all code in a ready-to-deploy state in a hosted repository, with local copies in case the repo host is down too. Keep all your service configuration files backed up too, or have scripts that can deploy them automatically. Have all your databases backed up, automatically, to at least two different data centers. Don't hard-code IP addresses in your code. Test all these things. These days, every server I have could be hit by a nuke, and I could have my customers back online as fast as new servers provision and DNS caches refresh.
The only issue is keeping support requests manageable. I have almost 100k users across all the sites. Requests come in through SnapEngage, ZenDesk tickets, feedback forms in the app and e-mails. I try to treat every support request as an opportunity to make something easier to find or easier to do so that the next person in the same position doesn't need to contact me -- fix the bug, fix the process, create a FAQ entry, make the documentation easier to find, etc.
SoftLayer primarily. They're rock solid, their hardware is top notch, their management tools and infrastructure are top notch, their support staff is top notch even at 3AM on a weekend.
Comments
As I said in the "recurring income" thread recently, I'm mainly working on http://www.improvely.com , http://www.w3counter.com and http://www.dialshield.com
This is my full-time business, and I've been building it since half-way into my freshman year of college 8 years ago. I don't generally outsource anything -- I really enjoy all aspects of the work, from design and development to helping onboard new customers to managing marketing efforts.
Being the only employee does mean everything needs to be automated. I use Pingdom to check that every site and API is responding with proper content. Monit and custom scripts make sure various services/daemons are always running on the right servers, and restart them if something fails. Everything is set to SMS me, and I'm never far from a computer, even on vacation.
When you're the sole employee, you're the one responsible for disaster recovery. Data center on fire, hard drive corrupt, billing mistake, etc. -- your problem, at 3AM when you get that SMS that your service is down.
So prepare for that. Keep all code in a ready-to-deploy state in a hosted repository, with local copies in case the repo host is down too. Keep all your service configuration files backed up too, or have scripts that can deploy them automatically. Have all your databases backed up, automatically, to at least two different data centers. Don't hard-code IP addresses in your code. Test all these things. These days, every server I have could be hit by a nuke, and I could have my customers back online as fast as new servers provision and DNS caches refresh.
The only issue is keeping support requests manageable. I have almost 100k users across all the sites. Requests come in through SnapEngage, ZenDesk tickets, feedback forms in the app and e-mails. I try to treat every support request as an opportunity to make something easier to find or easier to do so that the next person in the same position doesn't need to contact me -- fix the bug, fix the process, create a FAQ entry, make the documentation easier to find, etc.
Dan, your work is very impressive & inspiring.
Where do you host your apps?
SoftLayer primarily. They're rock solid, their hardware is top notch, their management tools and infrastructure are top notch, their support staff is top notch even at 3AM on a weekend.
Is it worth it?