Yesterday Microsoft launched a new product under Azure services: Azure Mobile. It is a cloud backend for mobile apps. This is a huge leap forward in Microsoft developer tools and cloud+mobile iteration in the company. Maybe someday, it will be language-independent and have SDKs for iOS, Android, Windows Phone. It is just like Parse.com. So things are getting crazy at backend-as-a-service (BaaS) market.
But is it always viable to use a BaaS for your app or startup? What are pros ad cons?
Well, that depends on the scale you’re aiming for.
If you are aiming to be a mobile startup that is going to be around in the market for a few months or at most one and a half years, then BaaS is a good option. The main reason is, you don’t want to buy a Linux VPS, write backend code (in Ruby, Python, Java whatever), don’t want do choose a DB (mysql, pgsql, mongo etc) and don’t want to configure a permanent domain and URLs for your communication endpoints.
These are considerably messy tasks. Most of the backend-as-a-service providers promote several points on their homepages:
- Ease of use
- Rapid prototyping
- Off-the-shelf mobile SDKs
- Data security
If you would evaluate these features in terms of your needs, you’ll see that they are aimed mostly for small-scale apps. No serious apps rely on BaaS providers and probably they won’t in the near future. Even the security and privacy of services like EC2 (and therefore Dropbox) are questionable these days, so you wouldn’t expect large-scale apps to rely on some middleware service. If you are doing serious mobile development, then you won’t need BaaS mobile SDK and don’t need rapid prototyping etc.
BaaS market is relatively a new category of services. Parse has just appeared last year (or ~11 months ago) and today there are so many similar service providers took their places in the market. At this point, if you are planning a long-term project you should be asking, which of these providers will still be in the market and will be profitable (in their own terms) in the next few years. Because they will politely shut down their service if they run out of money they raised and you’ll face bunch of data export-import tasks and new service integration.
Usually the short-term projects appear to be mobile games, client-side functionality apps and that’s when you could avoid writing your own backend and using a BaaS instead.
In my opinion, you don’t have to use BaaS if you are planning to launch several web & mobile apps in the near future. You could just rent a VPS, a domain, install a database and you’re almost ready to go for any app quickly. When you are considering using a similar service always ask the question: How much this service earn out of customers just like me? If a BaaS service mostly has corporate clients each paying tens of thousands $/monthly, then the small-scale clients will be able to get much less support.
This was my answer to question “What are the pros and cons of using a backend-as-a-service?” on Quora.
Leave your thoughts