When engineers choose technologies for a project, they often want to try out new tools they haven’t used before. Perhaps something they read or heard about. Or something that may prove to solve a certain problem. Whenever choosing 3rd party technologies you must keep in mind that the technology you use will be around for the life of the app you are building.
When we do most of our server development, we use Google App Engine since this is a platform that Google supports and uses themselves. That is, they “eat their own dog food” by using the same tools they offer to customers. This is important since if a backend server technology is being used, you want to make sure that it doesn’t become obsolete or is discontinued by the provider.
A perfect example of this is Parse. This was a technology to allow you to quickly deliver small backends, to speed up development. It worked well for the projects we identified it as suitable for, which was certainly not all of them. Then Facebook bought Parse, which raised concerns in our minds about whether the service would continue. Despite FaceBook’s founder Mark Zuckerburg saying that the technology is truly great in the video below:
About a year and a half after this grand announcement, what we feared actually came to pass, and Facebook discontinued Parse. They aptly named the post “Moving On”:
https://shutdownlikeaboss.com/post/138248838460/parse-moving-on
This type of change by Facebook would have been near catastrophic for a company that built all their apps on Parse.
When a technology is free to use but at the same time has a high cost to the people who provide the technology, you have to put a red flag ity and decide if you think it has a long-term future. If they don’t have a vested interest in keeping things running over time, then the odds of it being discontinued are quite high, and you may find yourself needing to rewrite your app.
Maintaining a good set of apps isn’t just about picking good technologies, it is also about picking technologies that will survive over time.