You kids have it easy.
Back in the old days (ca. 2001), if we wanted to build a software-as-a-service business, we had to put it all together ourselves, lashing together web servers, databases, load balancers, and piles of software. We did the engineering, the marketing, the sales, the PR, the billing, the accounting, the operations support, and the advertising.
Then we’d walk in the snow (this was Boston, after all) uphill both ways to and from meetings with investors who would beat us with their riding crops while telling us every reason why no one would ever buy software that didn’t come in pretty boxes sitting on store shelves.
Things are different now. Here are ten kinds of services that you can use to get your idea up and running quickly and start taking orders:
First, the easy one: You have to put your cloud service somewhere. Actually several “somewheres.” For each machine you have in production, you usually need at least one more identical machine for staging. Then another for development. And another for penetration testing. And, when your service gets large enough, scalability testing. If you’re not thinking “virtualization” by this point, then you’re not caught up to the rest of the class.
In the old days, we built subscription-based businesses because we thought it would let us get paid while we slept. (Wrong on both counts.)
When the bulk of your payments come in repeated credit card charges, you need a system to manage products, pricing, promotions, charges, and dunning.
Great, so you’re making sales. Next up: counting them.
When your volume goes beyond a handful of sales a week (and, if not, you’d better be selling a really high-margin SaaS product), then you’re going to need an online accounting system. Choose one with an API so that you can extract real-time profitability metrics and publish them to your dashboards. (More about that below.)
Once a system alert or a customer issue interrupts date night with your spouse a couple of times, you may wish you weren’t monitoring. But, of course, you have to.
Choose something with an API and use it to attach monitoring to the internals of your design, not just the externally visible elements. How are the processing queues doing? Are tasks moving through the system or hanging up? Are errors occurring and are they being handled?
Every business owner wants a shiny dashboard with their key performance metrics on it, and almost every one of them has a hand-drawn design somewhere that describes what it will look like someday, when they have the time to build it instead of building new features for those pesky customers.
For bonus points, collect data from your billing service and your accounting service to show profitability metrics like customer long-term value, churn, and monthly recurring revenue.
So you’ve discovered the killer algorithm to help people share their favorite breakfast food choices with strangers who happen to have the same first letter of their middle name. It’s the ultimate social application, for sure, and you need to have it ready in time for SXSW.
Trouble is, you need data to feed to your algorithm to make your service compelling. Hard as it may be to believe, there was a time when all data in the world was not stored in a computer. (I know: weird, right?)
Do you have an API for your service? Sure you do, you have to. If you want to play the big game, you have to empower your users to make mashups. But planning for security on your API and scaling it are both hard problems. On the day the realization hits that “we have an API” means “we have a wide-open attack surface and a denial-of-service attack waiting to happen, all rolled up into one,” you need API help.
This is a new area, and Apigee is stepping into the breach. Protect your APIs with OAuth and manage their traffic volume all at once. If you target enterprise customers, you can also add SAML integration this way.
It’s annoying when the data your customers want to integrate with your service isn’t in your data center. If you serve business customers, particularly large enterprises, you’re going to find they need you to connect your service to some other large dataset outside your control. Very large datasets. With many delightful idiosyncrasies.
Trust me, you don’t want to do this yourself. Whole generations of programmers have suffered permanent psychological scars from the rat’s nest of Perl scripts and ETL systems that have grown around this problem. I shudder to think of the cost of the therapy alone.
Maybe you’re already great at the magic of design. Or, maybe you have trouble color-coordinating your jeans and t-shirts. You can partner with a design genius, or you can hire the talent you need from a pool of gifted creatives and have your pick of the designs.
That’s what 99Designs and CrowdSpring specialize in. The former appears better suited to the bootstrapping phase, while the latter may work better for more established firms. Either way, you can run design competitions faster and cheaper than hiring directly.
Let’s face it, you didn’t major in creative writing and your idea of sophisticated prose is a slashdot post that isn’t about Linux. But you still need a lot of written material to have a successful cloud product. Things like instructions, descriptions, calls to action, error messages, email messages, promotional messages … someone has to write them.
Got Other Ideas?
This is just a short list of sample tools that you can use right now. What are your favorite cloud application accelerators? Let me know in the comments.top