In case you are not aware - Facebook is discontinuing Parse service. This means all the dev who used Parse for production apps now have to find an alternative or manually host themselves.
What lessons should we learn from this?
Jan (@JanVladimirMostert) has mentioned nearly everything I have to say. However, I think that a story lacks something from the person if there is no personal touch.
I used to work with the Netflix API. Some really cool application. Now, one fine day these people decide to pull the plug (if you think about it, quite literally so). All of my applications came crashing down. Quite a few developers were raged at this. But then, what can we do...
That was a slap on my face; a didactic one, with that. After that, I have never tied an application to any service. Let me give you a couple of examples:
Another example of technology-lockdown is when I used HDFC's payment gateway. The Reserved Bank of India changed its rules, and made VbV and MasterCard SecureCode mandatory. Unable to handle those error codes, quite a few services broke.
The bottom line: don't make a platform-dependent architecture. For example, if you're deploying something to Google Cloud, make sure that you're able to recover in case of a disaster.
Similar to the cousin comment here, if you do need to use third-party services (it's often highly preferable to avoid re-inventing the wheel), try to find one that is open source / supported by an open source community. For example, when planning for a new dashboard last year I was choosing between Angular, Ember, and React. Without starting a flame war (they all have their benefits), Angular and React were disqualified in my mind largely on the basis of their propreitary nature. This ended up being a pretty lucky / safe call with regard to Angular, as migrating to 2.0 would have required a large rewrite.
In the case of Parse, it's good to remember that there are often less flashy, less cool, but much more stable alternatives to these kinds of services. I mentioned on another thread that CouchDB is a pretty awesome choice in this regard. Apache services are never the cool choice, but if they're anything it's stable.
It is very sad that Parse is shutting down. Yes definitely using these kind of platforms gives a problem one day or another. But we should not forget the advantages that these provides us. Parse had various advantages like a ready to go backend for your apps which saves a lot of effort for you. Lets say you are validating your ideas, parse gave us a lot of edge than rolling your our own API, DB, Server stack, push notifications etc. So I have a bit of different thought here, instead of making your apps vendor-independent, make it flexible enough to switch, and switch to our own stack one by one when the time is right.
There are some inherent issues with Baas providers .The biggest of them is the low reward for maintenance. Big players in the application sector are already self reliant with strong backend infrastructure and its the low market cap count indie developers who are adopting these services .
Facebook backing out seems the biggest testament to the fact. I myself have been using Parse for my application - play.google.com/store/apps/details
The data being served from there is the application category for apps installed on a user device .
The parse announcement did come as a shock to me but i was prepared because (may not apply to everyone) i was going to open source the app anyways after a year of maintenance and also release the data publicly . (The parse data)
Coming to parse itself . It had won me over with its beautifully written documentation and absolutely no frills written API . I am thankful to the team for serving so many clients with minimum downtime and also releasing the source code for parse server api , and a substantial time and documentation for migration
I would totally agree with @JanVladimirMostert for the point he raised . Trusting a service like this is an absolute no brainer when it comes to making production ready code waiting to scale up , but the thing that struck me most was , the parse team was so enthusiastic after the facebook acquisition that it almost meant that they would never die out . But sadly that did happen and there is nothing that you can do to help yourself other than migrate to other Baas like firebase or aws mobility or simply write up your own scaleable infra :)
Do not lock yourself into third-party services - build your software as generic as possible using interfaces so that you can move it around, unless an open standard is used which would allow you to just plug another service in.
Same advice goes for frameworks, if the company abandons a framework that you've heavily invested in, your project essentially needs a rewrite.
Over the years I've seen many such things happen - just recently when Apple acquired Metaio, Apple shut down everyone's API access leaving many production apps useless (techcrunch.com/2015/05/28/apple-metaio)
Google shutting down Helpouts after some people left their dayjobs to make a business on it full-time: techcrunch.com/2015/02/13/google-pulls-its-helpou…
Same goes for SEO, certain people I know made a living selling stuff on the internet and then Google changed the rules of their search engine and all of a sudden, they got penalised for the SEO they did and had to shut down their businesses due to no longer making sales. People depending on YouTube for an income might face the same fate in the future if Google decides to change the recipe.
If you're building a business, make sure you understand the risk you're undertaking when depending on a third-party provider for anything.