

Ask HN: Infrastructure for provisioning, billing & supporting webapps? Buy or build? - bengtan

Hypothethical situation: I have a webapp that I want to deploy on a paid subscriptions basis. I would like the sign-up, billing, and provisioning process to be as simple as possible for the user (ie. just a few clicks).<p>A complicating factor is that the app requires each user to have their own instance of the app. It's not a simple case of 1 user == 1 account, more like 1 user == 1 deployment. You could argue that's not a web app, but for the purposes of this thread, please let's pretend it is :)<p>I would like opinions on setting up the infrastructure to do this, particularly billing &#38; invoice management, and automated provisioning. Support tickets would be desirable, but not essential.<p>I know I can always build this myself, but if there is something out there I can use (ie. open source) or buy, then it would be faster to get to market.<p>Any thoughts on build vs buy?<p>If buy, any thoughts on what to consider to buy?<p>I've looked at things like ModernBill and WHMCS, but these are more for web hosting. I don't want stuff like DNS management, email configuration, blah blah. Is there something analoguous for web apps?<p>Or perhaps a middle of the road approach like buy WHMCS and then write some plugins to do what I want?<p>Or can someone point me to any past HN posts which are relevant?<p>Thanks in advance!
======
pjhyett
Having written two billing systems in the past year, I'll never build one
again.

There are certainly advantages to writing your own, we generate custom PDF
receipts at GitHub that customers really seem to like, but the amount of time
wasted building and maintaining the system was/is fairly substantial.

If I were to do it again, I'd use a hosted service that you can skin to look
like your site and let them manage everything.

~~~
davidw
... such as ... ?

~~~
1gor
<http://www.foxycart.com/>

I have not tried it, anyone has any experience with it?

Unsuitable name for me, but they say you can run in on your own domain, and
skin it to match your site.

------
delano
If you're okay with US-only billing, you can use Amazon FPS in conjunction
with EC2's product codes. The product codes allow you to build a machine image
which you can authorize each of your customers to use and you can configure
how much to charge per instance hour. Amazon keeps track of which customers
are running instances and takes care of the billing details (you can do this
with other aspects of Amazon Web Services too).

If you require non-US billing, find a billing a system that gives you an API
for post-processing hooks (this isn't my area of expertise but it looks like
others are offering suggestions here). You can use the API hook to launch an
instance at the provider of your choice (EC2, slicehost, etc...) and also send
your customer the access info.

With regards to provisioning, I suggest creating your own base machine image
and scripting the minor customer or instance specific stuff. This gives you a
balance between launch speed (you don't have to install the same stuff every
time) and flexibility. If the scripting is simple, you can get away with
hacking something on your own. If it's more detailed, I'd suggest Fabric
(<http://www.nongnu.org/fab/>) if you're into Python or Rudy
(<http://github.com/solutious/rudy/>) for Ruby.

Note: I developed Rudy so I'm biased :]

~~~
mrduncan
It appears that Amazon FPS will also handle non-US credit cards based on the
following note from the pricing section:

 _This fee schedule is for payments by US customers only. For an additional
charge of 1% of the transaction amount, non-US customers can make payments
using credit cards (but not using Amazon Payments balance transfers or bank
accounts at this time)._

~~~
delano
Excellent! Thanks for pointing that out.

------
lux
A couple services that come to mind:

<http://spreedly.com/> <http://zuora.com/>

Zuora is mucho $$$ though, and Spreedly has a ways to go before it's a full-
featured solution. Their current focus I believe is on being solid with
regards to ordinary subscriptions first and expanding from there.

Unfortunately, for most of the projects I've done, there are too many types of
transactions, extra costs, etc. so I've had to roll my own. I've built a
somewhat reusable app for this now, so it's a time saver now, but it was a
huge time waster earlier on.

~~~
ntalbott
Hey, Spreedly guy here - we're _definitely_ a full-featured solution, and
we're already servicing dozens of businesses (we've sold 30 Kickstarts
[<http://spreedly.com/info/kickstart>] in less than two weeks, so we must be
doing something right!). Sorry if we've ever given off a different impression.
What you may be referring to is that we're primarily focused on time-based
subscriptions for now, vs. usage based subscriptions - that much is true. That
said, very soon you'll be able to pile usage charges on top of any time-based
subscription, which covers what a lot of businesses need in terms of usage
fees.

Still not clear? Probably my fault! Hit me up at support@spreedly.com anytime
and I'll gladly clarify.

------
ntalbott
I'm biased, but I'd strongly recommend taking a look at Spreedly
(<http://spreedly.com>). We can't help with the provisioning, but we can make
the billing drop-dead simple so you can focus on getting your infrastructure
right. The best part is: you can grab an account and give it a spin with no
obligation, as test sites are completely free.

FYI, in less than two weeks we've sold 30 of our "Kickstart" plans
(<http://spreedly.com/info/kickstart>) - a lot of businesses are hopping on
the Spreedly platform, and we're cranking away to build the best billing
platform around. Come on in, the water's fine!

------
aichcon
Here's a relevant HN post that came to the top of Google results when I
searched for 'spreedly vs amazon fps':
<http://news.ycombinator.com/item?id=526517>

------
mstefff
Funny, in the same exact situation. Building a deployment app and deciding on
a billing system. Was thinking about just writing a custom one or maybe
writing something for Ubercart since it's drupal-based.

------
EastSmith
I have not use them, but isn't Amazon FPS what you are looking for?
<http://aws.amazon.com/fps/>

~~~
bengtan
Looking into Amazon FPS now. Never heard of it before this.

------
sucuri2
I would certainly recommend amazon FPS... or do you need more than that?

~~~
bengtan
Looking into Amazon FPS now. Looks like it's mostly billing only, but I'd
certainly keep in mind as a component of a possible solution.

~~~
secos
if you can deploy your app to Amazon, then it seems to be ideal for what you
are asking for. Amazon EC2 for the "deployment" piece, Amazon FPS for the
billing, and you tack on your charges...

