How I guarantee to keep my services running for more than 2 years?
In order to answer that, only one question matters: Am I losing money keeping this service running? Because If I am, then sooner or later I have to shut the service down.
Easy math:
profits/month - costs/month = net profit or burn rate/month
Savings/burn rate = months left alive
As I am not able to keep a service running when I lose money on it, there is only one way for me to ensure I can keep my products running: I cut costs to the essential.
For example:
I use a webserver that is being paid for by other projects, as new services have no (or just a few) customers. I can run the service on a server I already use, which can easily handle the few additional pageviews. So I have a very powerful webserver that is financed through other projects--perfect. Savings: $530+/month.
Another big saver is the payment gateway. I use PayPal, which saves me at least $150/month. I will use a better system when it makes financial sense, but why risk shutting down a service just to look more professional? Customers who like my service will go through PayPal, but they won't pay for a lousy product just because I have a nice payment gateway.
Next, third-party software. There are a lot of software suites out there that I would like to use, like a nice support system, for instance. But these services are not essential. Again, nobody will use my service because I use insert-fancy-support-system-name-here; they use my service because of the service itself. So again, these are costs that can be cut. Also, I use services that charge by usage, so no customers means no cost. The savings here: $20+/month/project/software suite.
To keep it short, I cut unnecessary costs and subfinance every necessary cost. What I am left with is the great feeling that I can guarantee that my services will be available in two years (and even longer), regardless of whether I have thousands, ten, or no customers.