Ask HN: To BaaS or not to BaaS
From a time to launch perspective we are wondering if it is at all a good idea to use BaaS services like parse/StacKMob/PubNub. While we are aware of most of the pros and cons of using a BaaS, our main worries with BaaS are high costs at a later stage when users multiply, vendor lock-in. Some things we would love some experienced hackers to throw light on are:
- Any idea on costs of BaaS once one moves into the enterprise usage range with millions of API calls per day
- can one launch with a BaaS backend, and then as the app is gaining traction, build out and switch to a custom solution? is this practically feasible?
- if above (switch to custom solution) is feasible then any specific advice on what one must keep in mind while architecting the app, and any recommendations on a BaaS provider that is easier to switch over from
- any other insight if you think this is a complete no no
cheers Ani
10 comments
[ 3.2 ms ] story [ 31.6 ms ] threadFor any such commodity as a service, the initial costs to you will be lower than if you had to build the service yourself. However, over time the costs will go up. The benefit to you will always be ease of development and having the time to focus on building the core features that will make your startup feasible. Most startups fail before they reach a point where they need to worry about rising costs and that's a good problem to have. (when you have it you can mostly pay someone to fix them for you)
My recommendations (having never used any of the above mentioned BaaS providers, do take these with a pinch of salt)
1. Look at how easy it is to get your data back if you need to host the services yourself or change providers. Does the provider have any processes for the same? Speak to the sales (and support) people about this before you decide on a provider. Look for the provider that is transparent about this.
2. Don't worry about what the cost will be when you reach a million users. Your time right now is spent wisely validating your idea. Cross that bridge when you come to it.
3. The only "complete no no" scenario I can think of would be if you were hosting sensitive information (credit card etc)
Hope this helps
You would face technical scaling issues no matter what you were using. If the BaaS is your bottleneck you could fix it then.
"High costs at a later stage when users multiply, vendor lock-in" -> it doesn't matter. 95% chance you won't get millions of users, so focus on that first.
About six months ago I tested Kinvey (a BaaS) for an application that makes heavy use of data. Basically you upload your data (say, from CSV) and then you access it via API calls.
It looks like you can download your data at any time, say if you need to switch providers. I don't have any experience of other providers, but with Kinvey it doesn't look like there is a risk of vendor lock-in. It's data on the wire via AJAX requests. If things turn to be expensive when you grow up, you move the data to your own backend.
That said, I must add that I never ended up using them. The reason - I just needed something with serious geospatial capabilities. I mean PostgreSQL + PostGIS kind of thing.
There is also the DIY route, which is not necessarily the best, since it will prolong the time until you release a MVP. But, if you have the manpower to work on it, maybe Drupal is a good alternative for you. It can be set up as a backend, it is secure, and it's free. I think you can even set it up as a SPARQL endpoint.
Good luck with your startup! I don't wish you to reach millions of users, but instead to make millions of dollars :)