Hacker News new | past | comments | ask | show | jobs | submit login
Facebook is closing Parse (parse.com)
1202 points by theunquietone on Jan 28, 2016 | hide | past | favorite | 500 comments



Separately, we developed an open-source Parse-compatible API server for Node/Express. https://github.com/ParsePlatform/parse-server

This, along with the database migration tools released earlier, allow developers a full migration path to move from Parse hosted data + API to their own infrastructure.

Over the weekend, I set up a website & app on a $5 DigitalOcean box running Parse and Mongo locally.


Kudos to Parse for providing an open source path forward. I know a lot of enterprise users who will only look at fully open source stacks, for a variety of reasons. It's good they are giving users a year to migrate. I expect Couchbase Mobile to see a lot of evaluations as this process plays out.

I will be watching to see how the community grows. It looks like the ExportAdapter.js module in parse-server is low hanging fruit to connect to stuff like Couchbase Sync Gateway, which would give access to a multi-vendor ecosystem including IBM and Apache.


[Full disclosure: I'm a FT Couchbase mobile developer]

Agree 100% -- Parse deserves huge kudos for that move.

Ex-Parse customers should definitely check out Couchbase Mobile, which has some functionality overlap with Parse and is already open source with several repos on github:

https://github.com/couchbase/sync_gateway https://github.com/couchbase/couchbase-lite-ios https://github.com/couchbase/couchbase-lite-android

At least you won't have to worry about getting "Parsed".


Thank you for doing this. It is so rare not to just leave users high and dry after a set time period.

Huge kudos to Facebook for providing this for Parse users.


Would it be possible to open source the Parse Dashboard? Even if it's just the data browser? I really loved that part of Parse.


We will work on that, yes.


You guys are awesome. Thank you.


That's great. I'm not regretting we chose Parse!



I don't see anything about the dashboard in the blog post?


Sorry my mistake. They have just open sourced the server not the dashboard. But some one has said they are going to open source the dashboard and all soon.


The release of the server is an awesome gift to the community.


Fosco, you are awesome and it was a pleasure working with you :)


Hi Ashley! Thank you guys.


Hacker culture of Facebook makes it really valuable company in terms of engineering. Dropbox and Google (Mailbox & Reader at least) should learn something from them. Incredible move and good luck in future endeavors!


Alas, open sourcing Reader wouldn't have done much: the code's all tied heavily into Google internal infrastructure. (Full disclosure: my team pulled the plug on Reader.)


Oh you're the villain!

But yes I can see that as joining a Blogger page in the Members widget automatically subscribed you in Reader.


Alas, I joined after the damage was done.


Interesting the Reader developers chose their own infrastructure over "best of breed" Google AppEngine?


Google Reader initial release: October 7, 2005

Google App Engine initial release: April 7, 2008

https://en.wikipedia.org/wiki/Google_Reader

https://en.wikipedia.org/wiki/Google_App_Engine


Alternate title: “Facebook is opening Parse”


It's actually incredible that they didn't position it that way.


This would have changed the dynamics a whole lot. Opening up everything and running an instance on parse.com


Just to complete this thought. Donating the project to Apache would have been great. I would have loved the Cassandra + Parse API integration.


Awesome, I think a small tutorial on how to migrate an existing app from Parse to DigitalOcean would go a long way!



Hey everyone looking for a migration path out - we have a “DevOps-as-a-Service” model where we can migrate Parse folks to AWS (not DO unfortunately) with full infrastructure automation, immutable infrastructure, autoscaling, chatOps deployments, monitoring and alerting, etc. for a flat rate. We have a platform that we’ve built that makes this possible - think of it as a Django/Rails/etc. for AWS: https://www.reactiveops.com/devops-as-a-service/

Although we have a framework, it lives in your github and runs in your AWS - there's no lock-in whatsoever. Ping me at matt [at] reactiveops dot com if you're interested!


Nice. These guys are legit. (RIP, Parse :( )


Are you releasing the admin dashboard code as well ? It will be easy to manage the server.


This would be tremendous.


Kudos for opensourcing ! but :

https://news.ycombinator.com/item?id=9693743

I guess the time spent ( a year ? ) on the Go version didn't help feature wise. The product didn't evolve that much in the meantime.

I hope you provide a solution for cloud code and webhooks , webhooks at least , since cloud code is just javascript. Please be sure to host the documentation somewhere, like github pages.

Good luck for your next project. I'd love to read a "post-mortem" once the service is definitely closed.


While this is not specifically GH Pages, the documentation has been hosted on GitHub for quite some time now: https://github.com/ParsePlatform/Docs


This is a really classy way to shutdown your service. Well done.


It's sad that you are shutting down but I think it's awesome that you are releasing the platform source. Who knows, this could be the birth of a great FOSS project.

2k Github starts in 15h and growing...


It really sucks Parse is closing down, it was one of the best alternatives to Firebase, indeed better for straightforward REST use cases, and I really enjoyed using it.

It's nice that you've released an open source migration path. I hope somebody else can fill the niche of a fully hosted API-as-a-service. Best wishes.


how long does the full migration and setting the digitical ocean box take to do? debating whether i should do that, or just start over with firebase


Migration is based on data size, but setting up the API server on a new VPS is quick... I'd say less than one hour from a fresh image on Digital Ocean. I'll try to publish a guide for that part.


that'd be great! thanks. please post the guide to HN or on the parse blog


Yes, that would be awesome! Please post a guide to move to digital ocean...

Thanks and best; C


This would be super awesome!


Take a look at the full migration guide here: https://parse.com/docs/server/guide#migrating

It'll really depend on your app, and how many features you used at Parse. In most cases, it should be easier than rewriting your entire app with Firebase, but you should carefully look through the guide and make that decision yourself.


[flagged]


Easy on the spam buddy.


Fosco, thank you for everything man.


Wow, that is a fantastic move. Much appreciated.


What about push notifications and Parse Config? Social apps that triggered push notifications now loose that functionality when moving to Parse Server, right?

Also what about security? One of the beautiful things about Parse was not having to worry about servers and the security of back-end because you knew Parse was on top of it.


Depends on your viewpoint: One of the beautiful things about having your own back-end is not having to worry whether or not some 3rd party team is not neglecting security of the back-end because you know you are on top of it.


You sound like somebody who feels comfortable handling security, but for boostrapped and/or a self-funded or even small funded startups, that's extra money that goes to plug a major whole that didn't exist with Parse because they made user authentication, permissions, and security simple.

I'm no security expert. So now instead of concentrating on growing the user base, gaining traction and making the best experience possible for our users, that means finding, interviewing, and hiring more people to handle back-end security which takes a lot of time out of improving the product.

How time consuming on a hours per day would it be to stay on top of handling security on your own? How many engineers would it take and at what cost per engineer?


Of course. Both approaches have their pros and cons.


Thank you for releasing tooling to deal with migrating as well as releasing the server itself.

Too often services don't think about the full exit / shut down strategy and as disappointing as it is to see Parse go, it's nice to see it will actually live on in a way that can't be shut down by a corporate decision.


@gfosco Thanks for everything. Is the open-sourcing of Push delivery, Analytics, and Config, planned for the near future?


Wow you guys are awesome!


I tried to use node on a $5 DigitalOcean dropplet a couple of times but whenever I tried to run npm to install something, it would run out of memory and be killed. Frustrated with this experience, I have stayed away from Node.


would like to see some tutorial how to move parsedb&server to digitalocean or heroku


thank you!


While I'm sure this sucks for a lot of people, I'll be honest the shutdown seems pretty fair. One year notice, detailed migration path with accompanying migration tools, and an open source release of the product itself.

I didn't use parse, but this seems like a reasonable way to do it.


Oh definitely. This is a fine example of how to do a service shutdown. Sadly, I await the comments from unprepared customers next year.

If you make apps and use any sort of {P,B,S,I,}aaS, do you yourself a favor and follow/subscribe/whatever to their news/release channels.


Yes! I wrote about this a few years ago:

http://geekestateblog.com/monitoring-microvendors/

It's really important as people build apps (and business value) through composition of smaller services rather than composition of code that they become aware of these external dependencies. And not just at build time, but during the operation of these apps/business processes.


I just received an email informing me of the shutdown


also major props for being up-front about the fact that they're shutting down the service and they realise it sucks for their users, rather than some "incredibly journey" style bs.


From the original post:

> We have a difficult announcement to make.

Yes, you can see their sheepishiness in the announcement.

I'm sure it was a tough decision.


Is it an open source release of the core Parse product? I am genuinely curious, hence the question.Correct me if I am wrong, but this means that most of their product is the Parse server and whatever migration tools they used to store data for users.


I hope we will see a lot of migrating tools and blogs


We are working on this @Hasura.io. This is our blogpost in response to the Parse shutdown. https://news.ycombinator.com/item?id=10994104


This announcement just underscores the importance of having full control over your backend. Yes, it's more work, but if you're writing apps that seriously depend on backend services, it's simply too much risk to depend on anyone else.

Fortunately in this case Facebook offered generous lead time to migrate off Parse.com, but they were not obligated to do so, and other providers might not be so generous in the future.

Developers who depended on Parse now have an interesting decision to make: export their data into MongoDB and start running their own servers, or look for an alternative BaaS provider to do it for them (which carries the same risk of that provider shutting down in the future).


A few more thoughts:

1. This effectively poisons the well for any other BaaS providers out there. If two of the biggest companies in this space (StackMob and Parse) can get acquired and shut down in less than 5 years, what does that say about the future of the smaller companies in this space? As a developer how could you possibly trust any of these companies going forward, based on this track record?

2. Syncing is notoriously difficult to get right. Building a generalized syncing solution is even harder. Bugs in sync code tend to lead to data loss, which leads to angry customers. These types of bugs are hard enough to track down and fix in your own code. Trying to track down and fix bugs in complex third-party code can be damn near impossible.

If you decide to adopt a third party solution that purports to do your syncing for you, do your research carefully. Not just by looking at the toy samples which look easy to set up and work perfectly, but experiences and reports from actual developers who have tried such solutions. What kind of problems are they having? What are the limitations of the current implementation? How mature is the product? How responsive are they to bug reports? If something goes wrong and data is lost, how much insight do you have into the system to figure out why?


This will definitely make me more wary in the future. I considered both Parse and Firebase for my app's backend and even did some early prototypes using each. Parse ended up being closest to what I needed for the basic app features. I would have used Firebase for real time syncing in a multiplayer version but decided to put multiplayer on hold so I could actually just deploy something.

I kind of got lucky dodging the Parse bullet -- it was only because I quickly saw in my Parse-based prototype I was going to go over the ~1M interactions per month allowed by the free tier. At the time, the tier I could tell I'd be headed for ratcheted up to something like $100/month. I decided I'd rather just build it myself. Obviously, I'm glad I did now. Mostly because I'm on to some other things now and would hate to have to be rebuilding at this point just to keep my humble (yet very much alive and being used) app running.


On the other hand, Google seems to be doubling down on Firebase. I guess the difference is that Google (cloud division) is an infrastructure provider, whereas Facebook is a fundamentally a consumer product.


Au contraire: it opens a wider deeper well. Parse customers are now up for grabs. Do you think they will go back to program back-ends and rent a server? I personally won't.

So the supermaket chain where you usually shop at closes its stores for whatever reason. Do you go back to farming your backyard or do you find a new store?

The BAAS industry is super young, only hipsters are into it. But it makes sense so it will eventually mature. Bugs will be fixed.


Switching supermarkets is much, much, easier than switching backends. I'm sure lot more BaaS companies will pop up to grab former Parse customers. I'm not sure how many of those will still be around in another 5 years.

I strongly suspect there's something negative about the economics of BaaS services that's being implied by the fact that two of the most successful providers have shut down after acquisition.


Amazon has fully embraced BaaS. And I don't know of any AWS services they've added and then removed. I think Amazon will be the winner here. MSFT is also starting to embrace BaaS. Of course they have a less stellar history of support.


> Of course they [MSFT] have a less stellar history of support.

Microsoft supported products: Azure - six years, .Net & Active Directory - thirteen years, SQL Server - seventeen years, Visual Studio - nineteen years, and Excel - twenty nine years.


True but they still lack a wrapped and simple to use solution like Parse. That is why I run everything on AWS except the BAAS.


True. I oversimplified. On the other hand: maybe they were acquired to buy the tech but to shutdown the business?


That's exactly our thought (hasura.io) while we prepare for our "launch" next week. We've been studying Parse's growth and are definitely going after their market. Our core philosophy with the BaaS is however to keep it as open as possible. We wrote this up in response to Parse shutting down: https://news.ycombinator.com/item?id=10994104


Is it production ready?


Yes! We have over 20 apps build on in during our alpha phase - ranging from e-commerce to payment wallets. Let us know if you'd be interested to try out the beta version releasing next week. You can write to us at build@hasura.io or @HasuraHQ.


What if you didn't do it via sync?

What if everything was built around streams that multiple people could read and write to and each stream would have a server that would be the authority on which operation done in which order?

I think that's a more flexible system that can include sync, but also other things.

That's what I've spent years building, and I'm hoping to make it also a completely distributed solution that works across domains:

http://qbix.com/platform/guide/messages


Had a look at the link and struggling to understand the concept of streams.

A primary benefit of sync is store-and-forward, i.e. I could be offline, change a customer record, and when I reconnect it syncs to those who need it via a server.

In the streams model, how does the server know which stream messages to send to a client that's been offline for a week, if not via sync?

Also, messages. Does a message equate to, say, a customer record? I read that a message is a record of an event that happened to something?


> This effectively poisons the well for any other BaaS providers out there. If two of the biggest companies in this space (StackMob and Parse) can get acquired and shut down in less than 5 years, what does that say about the future of the smaller companies in this space? As a developer how could you possibly trust any of these companies going forward, based on this track record?

Especially given the fact that the very goal of most VC companies is acquisition.


I would argue that this precisely is the reason for that many shut downs after acquisition. They don't make their business to be sustainable, rarely profitable even.


"This announcement just underscores the importance of having full control over your backend"

I disagree. If using something like this let's you get to market much faster, much cheaper, and find market fit faster/cheaper, then it's worth it. Depending on the need it can take millions of dollars and year(s) of work to then begin working on the actual business objectives.


We used Parse, and (contrary to your suggestion) it helped us get to market much slower and much more expensively. We experienced a hilarious amount of downtime, and hundreds of engineering hours that could have been spent developing features for our users or improving our services were spent working around fatal bugs in Parse, which were usually not manifesting on all instances, which made it very difficult for the Parse team to diagnose them.

Fixes for Parse bugs were usually not forthcoming from the Parse team---and when things were fixed, more often than not the fix was reverted within a week because it caused something even worse.

For the first six months of our time using them, Parse would only report downtime post facto and backdated by a day. “F@#$k Parse” was perhaps the most frequently uttered phrase among all of us in our douchebag Mission district headquarters. What a life.

All the time, push notifications inexplicably stopped working for hours at a time---we were running a daily sales app, and this really killed us. It ruined dozens of auctions and pissed off tons of our users. But what's even worse? Parse made my life a living hell for a year, and I'm glad they're gone.


Ran into the exact same issue when using Parse. I was working on an app that operated primarily through push notifications. The push notification downtime was horrible -- I remember having to get on calls with clients apologizing profusely for the downtime. We were also paying Parse an absurd amount of money for extra reliability, which didn't seem to help much.

I never heard people talking about the difficulty of moving off of Parse, especially in mobile clients that were developed with the Parse SDK. I spent a ridiculous amount of time getting Parse synced with our custom backend so old clients wouldn't break.

Final thing: debuggin. For nearly any issue, a half-assed solution---often not usable in production---by one of their staff was buried deep into their forums. Super painful.


Exactly, exactly, exactly!

> We were also paying Parse an absurd amount of money for extra reliability, which didn't seem to help much.

We were also hooked into the same scam!

> For nearly any issue, a half-assed solution---often not usable in production---by one of their staff was buried deep into their forums. Super painful.

Haha, well put. They always directed people to their pathetic "support forum", where one of their staff would propose a criminally bad "solution" to a problem, which no self-respecting engineer could even sanction putting into production.


I'm glad I'm not the only one who had parse slow down development. It was very...janky especially the REST API.


I really felt like I was being gaslighted, being surrounded by all these YC alum douchebags who never fail to have some gushing remark about it...


Interesting. Sounds like Parse wasn't nearly as mature as they made themselves out to be. I'd have expected at least PaaS levels of stability—by, at the very least, pinning each client to a particular API version with guaranteed semantics until they choose to shift to making requests on higher-versioned equivalents of each API resource.

A thought: if "Parse" had originally just been this open source Parse Server offering, and you had taken that and plopped it on e.g. Heroku, would that have been a better deal for you? Seems like "apply FOSS to PaaS to get BaaS" wouldn't have been that much more hassle, operations-wise; and you would have been able to upgrade the backend only when you liked, rather than having it mutated out from under you.


Thanks for your comment; regarding your thought, from my perspective there was nothing that Parse provided that was easier than just building the app on Heroku ourselves. And we wouldn't have been stuck in the horrible node/javascript ecosystem then!

So, I would say, if Parse had been this Parse Server product from the start, that would have been a lot better! But there wasn't really any need for such a thing at my company. We had to use Parse for incestuous "YC alum" reasons---we did not have a technical need for it.


really "incestuous"? firebase is/was a YC company, too. it's sad when cronyism trumps reason.


Haha, well funny you should mention it---management were also encouraging me to look into using firebase for something too, but I put the kibosh in it because we had had so much trouble with Parse. The truth is, we had no need for any of these products (even though I have heard firebase to be way better than parse); we needed to get serious and just write a little API server + postgres database and toss it on Heroku.


It's a good thing they had great documentation... oh wait.


painful. though more an indictment of parse than BaaS. the firebases of the world seem to work better. 20/20 hindsight, when should you have gotten off of parse and why didn't it happen?


I don't think I'm allowed go go into details based on a contract that I signed, so I will just say "we should have got off it earlier".


Hey I'm not sure what contract you're referring to, but from a Parse point of view I think you should feel free to go into details about what didn't scale for you about Parse. There is definitely a tradeoff between "ease of use" and "ease of scaling" in many places and using a "backend as a service" won't be the right thing for everyone. I would rather that people be honest and open about what works well and what doesn't.


Hey there—I've done my best to be as honest and up-front about my experience with Parse. (I apologize if it has seemed overly harsh; but it ate its way into many different parts of my life and really made my year difficult.)

But I can't really go into much detail about what we did at our company and why we did it, because when I left, I took a severance on certain terms. And in any case, it's not really appropriate to drudge up old arguments, and I have no interest in making comments that might make it more difficult for the people I worked with to do what they want to do now.


can you help me understand why you didn't give up on them in the first week?

i'd love to figure out how to lock people into expensive shitty projects that belong to me


If you're building a nascent mobile app it probably won't take millions of dollars and year(s) of works to get up and running, regardless of what backend you use.

If you do have a project that will take millions of dollars and year(s) of work to get up and running, I'm going to guess you have much bigger problems than what backend you use, and choosing something like Parse won't help you that much.


I'd change it to "if you depend on third party services, be sure to architect things so that you could migrate if you have to."


Yes absolutely. Hasura.io is coming up with a BaaS which is also simultaneously trying to address the "full control over your backend" problem. We put up some of our thoughts here:https://news.ycombinator.com/item?id=10994104


[Couchbase Lite architect here, so I have skin in this game]

Even better, if you're using an open protocol, you can work with _either_ a hosted back-end or one you own, and move between them pretty easily. HTTP being a good example of course.

The problem is that open protocols for general purpose data sync are pretty thin on the ground. Couchbase built our sync architecture on top of CouchDB's replication protocol, which was badly documented at the time but at least open.

Couchbase Mobile (http://couchbase.com/mobile) uses this open protocol, so you can either BYO server (our own Couchbase Sync Gateway, or CouchDB) or use a hosted one like Cloudant. And you've got full access to the code (ours is all Apache licensed.)

I can't say we're directly compatible with Parse, or trivial to migrate to (the data models and APIs are different), and I'm obviously biased, but I do think it's a good alternative to jump ship to.


you better build something quick :) to help all of us (independent developers)


100% agree. Building my first notification-based app right now and Parse seemed like the obvious and best choice. Thing is, after a bit of thinking something felt...off. Not with the service, but off with the idea of attaching this small little project to something so...out of my control.

I dug around the net and found a working solution I could install on my own server, and now that's exactly what I've got: The experience of doing this on my own, the flexibility to grow as needed, and the code to implement again and again without needing anyone or anything else.

Building apps these days is a massive gamble for small guys like me. We often spend dozens of hours with little to no possibility of return.

Any action I can take that reduces stress points and increase my knowledge base, (and this would have been a massive stress point) I'll take.


May I ask what that solution was? :)


Absolutely! Please do keep in mind no system is perfect, 100% reliability is a dream we all strive to attain, and even with Parse, I've read several reports on this very thread of instances of less than perfect reliability, iffy technical support, and so on. Anecdotal sure, but still.

That said: the app sends basic notifications when in-app, user-initiated events of interest occur.

The server code is PHP, based off of this fantastic little tutorial: http://www.raywenderlich.com/32963/apple-push-notification-s...

I modified and use the code in the simplest possible way:

I created the API layer using my wonderful form builder software (https://www.rackforms.com). Yup, it's form software flexible enough to write endpoints. Check it out : )

The app sends simple GET requests to my server, which are in turn handled by the API job. If a notification is required, the API INSERT's a record into a MySQL table called push_queue.

The magic, I suppose, happens with a constantly running PHP script called push.php. This guy's monitored by a simple cron job that checks for its running status every minute. if it's down, cron automatically restarts the script. The notifications are not time-sensitive that 1 minute delays are a deal breaker, and of course any sent during that time are handled automatically when the script restarts.

APN Feedback is handled by a second one-the-hour cron job, which calls a simple script called feedback.php. A touch of code was added to deal with the core user's device token being removed for "followers" of that user.

Three Key Takeaways:

1. The entire server setup part took me about 5 hours, API code (which we'd need to write regardless) not withstanding. The biggest hurdle was the cron stuff, I shall never forget cron -v cron! Using a third-party service would have been almost the same time, I'd imagine. The best part is future projects will literally be counted in the minutes for start to finish notification server duties.

2. I got to use a language I adore (PHP), and learned a bunch with others I was quite new too (shell scripting, cron, etc).

3. Finally: No app is guaranteed success. I know many of these services have/had! generous free tiers, but after my first app (http://www.skipcast.net) and its frankly lousy performance, fool me once indeed.

If, by some miracle, this new app gains traction, sure, I'll consider a third party. Until then, I'll do it my self thank you very much.

In all -- a wonderful experience that I'm keen to tweak and learn more from at deployment time.


Thanks! I'm going to need push notifications for an Android app and was thinking about using Parse. This news came as a little shock, but perfect timing!


Not to be a dick, but some companies seem to care more than others about the developers that rely on their frameworks. Google doesnt seem to care much. Facebook seems to care more. But Microsoft seems to care most. They have not abandoned legacy mfc, visual basic, and win 32 developers even though they probably should have. Granted those are not services but they require maintenance resources nontheless.


Eh? I have apps that are almost 10yo on Google App Engine. Even when they forced a complete migration from the Master/Slave datastore to the High Replication Datastore, it was a pushbutton process that required minimal intervention. Honestly if I have any complaint it's that they don't force change faster.

On the other hand, Facebook's API changes at a pretty rapid pace and there are few apps older than a couple years that have survived without significant code changes. I've seen API changes that are basically "rewrite your whole app".


No, it just underscores the importance of properly architecting your apps so that they don't directly depend on Parse or others. Keeping that stuff to the periphery of your app will make it much easier to replace when the service either shuts down or you outgrow it.


Eh, regardless of how well your application is architected, it's going to be a pain in the ass to migrate if you have a lot of data/users/versions of your app out in the wild.

If you continue to rely on BaaS providers you run the risk of playing perpetual musical chairs as each one shuts down over time. That's not an acceptable level of risk for me, but, to each his own I guess.


Wrong! Everything we build is on top of layers upon layers and not a single company/IT team has/can fully control all of them! So you suggest: build your own backend API and run it on a VPS/Container/whatever. Do you have full control on the hardware? The virtual machines? The vendor's infrastructure? Let's move a layer up. Do you have full control over the framework you used? The database engine? Does the sum of knowledge/experience in your team guarantees full control on all these layers? Under a security threat who provides the patches? Your team? Do you run your own mail server? Did you code our own OS?

This is rethorical of course, all the answers are no.

What exactly is wrong about trusting one more layer to 'experts'?

Not all dev teams can afford a backend ninja just as they cannot afford a network admin or a telecom engineer. Companies like Parse are on the right track, they provide a much needed service.

I've been on this trade long enough to witness the transition of companies hosting webservers in-house to realizing a dedicated server made more sense (one team of experts managing many machines), then VPS, then containers....then BAAS.


Your reductio ad absurdum is not particularly convincing. I draw the line at exactly the BaaS layer specifically because of the high risk of these providers pulling the rug out from under you.

If you disagree, fair enough, but I feel pretty bad right now for the poor developer who decided to adopt StackMob, then migrated over to Parse when StackMob shut down, and now has to migrate once again. Fool me once...


You'll move that line eventually. Datacenters were a hard problem to solve a decade ago. Now its (almost) trivial. Virtual clouds were a buzzword less than two years ago. Now they are huge and successful businesses. Same path for BAAS.


That's possible. But the current model of "give us money, use our code, and we'll host your data" is pretty clearly broken.


Why?


Doesn't seeing two of the most successful BaaS services get shut down after acquisition raise a red flag for you?


Yes of course but there may be other explanations other than 'a broken business model'.


Everything breaks at "host your data".


Any hosting/cloud service provider 'hosts your data'. I'm curious if you run your webservers in-house?


It's a different level of abstraction. They provide me with computers not data hosting. Theoretically they can have access to the software and the data on those computers but in practice they don't touch that and everything is completely in my control.


sigh, I just made my first app on Parse and now I have to migrate to another BaaS. what do you recommend? Firebase?

I dont' think running my own servers with Parse is viable as Parse won't be updated from now on while other BaaS will stay updated and keep improving


Firebase is good for small hackathon-like projects and it gets ugly when your DB grows. Not much optimizations you can do.


[Firebase founder here]

We'd love to know what limitations you've run into and how we can do better! Send me a tweet: @startupandrew


Well I love Firebase, but to put it naively, Firebase needs more advanced queries. Even more than usual because it is running 'far' from my backend, so queries from backend are expensive. For example, if there was a way to selectively bring back children of an object etc. I know there are workarounds (and I am doing those) but since Firebase is a DBaaS it needs to account for that when compared to other DBs.


This really seems like a limitation of nosql/mongodb, would it be worthwhile to reconsider sql/nosql trade offs?


Well I would say reconsideration is always right but it's expensive (nosql->sql is big deal) when you are a fast-paced startup and don't want to spend resources on non-critical things. I know it will get critical someday, so we are slowly finding a solution to it.


Schema design allows you to grab stuff you want joined all at the same time (aka the data lives together in a document) in mongodb's model. This obviously has limitations in many to many relationships where the access pattern isn't clear, but often these tradeoffs can work.


Would you like to try out our alternative approach instead at Hasura.io? Parse like API on Postgres - with all SQL queries possible! We'd love to chat if you are still evaluating options @HasuraHQ. We are launching our public beta next week. Here is a short post of our take on the Parse shutdown: https://news.ycombinator.com/item?id=10994104


We hear you! And we're working on it.


How is this any different to depending on Amazon for your back end?


for most applications i hypothesize that the cost of writing and maintaining your own backend will far outstrip the cost of the occasional migration.

if anything, the pressure is towards frontend:backend isolation, not away from BaaS. (in the spirit of segment.io for analytics.)

one ironic signal here is that money is bad for survivorship. facebook killed parse because it doesn't move the needle for facebook, but parse might have been a fine & profitable standalone business.


Developers will now be skeptical about using any BaaS. It can be acquired and shut down. They have every reason to be. We built a BaaS too. It is however built around this core philosophy of developers having complete control over their app backends. Here is the post we wrote about this: https://news.ycombinator.com/item?id=10994104


All this underscores is the important of not tightly coupling your codebase to a particular provider.


It doesn't matter how tightly coupled your codebase is. If you have a client app that talks directly to Parse.com, it will stop working a year from now, and you will have orphaned users. Even if you release a new build that points to a new backend, not everyone regularly upgrades, not everyone can upgrade.


... or use an open source BaaS which can be self hosted or managed like CloudBoost.io


Yes, self-hosting falls under "owning your own backend". The managed option carries the same risk of shutdown as with any other provider. I think you can stop spamming your website in this thread now that you've mentioned it a half dozen times though.


I am happy to see that they're not using any of the insulting language that would land them on http://ourincrediblejourney.tumblr.com/.

FYI, here's the announcement of the acquisition from April 25, 2013: http://blog.parse.com/announcements/the-future-of-parse/

Relevant bits:

Q: Will my Parse app be affected in any way? No.

Q: Will Parse apps have to use Facebook functionality? No.

Q: Will Parse honor my contract? Yes, of course.


This tumblr is so beautiful and so painful at the same time.


That's so great.

The lifespan of "cloud" services is not long. It seems to be less than five years.


The post itself is an image right? With dark text on dark background? Why!?!


So that will have been nearly 4 years ago.


Obviously you're not a golfer.


Mark it zero!


I don't get it. And I'm a golfer.


Yes, later next year.


Correct, when it closes.


Nearly 3 ;)


Now is nearly 3. When it closes will be nearly 4.


It will be funny to see all of the abandoned apps that start failing a year from now. Obscure games, utilities, etc. Most people won't be bothered to go through the stress of an App Store review process to update an old free-to-play app that's not even making them revenue. But how many people's morning commutes will be ruined when their old games or news apps fall apart? The price of progress (and of liquidity), I suppose...


>But how many people's morning commutes will be ruined when their old games or news apps fall apart? The price of progress

The "price of progress" is suddenly not being able to play WhackAMole 3000 on your mobile phone on your way to work?


Kinda. I mean, I can dust off my old console and play the games on that any time I want. App Store stuff means built in expiration date. Cloud integration means built in expiration date. Price of progress.


Your old console ran the same code for years on end with no updates and no new features. Your phone's updating all the time. Thus, software TTL is much lower. (Software TTL for your console is determined by how long your cartridge serves up good data.)


To be fair, those exact same abandoned apps would just as easily stop working because their developer didn't upkeep their custom backend - or worse, those abandoned backends could fall behind on security updates and get hacked.


Sometimes I like to think about how future archaeologists will be writing grand dissertations on the digital detritus we're all leaving behind today.


And all the people who will try to revive 100 old abandoned source projects.


It always sucks when things have to come to an end, however, this is a pretty graceful shutdown if you ask me. Many other service providers, especially in other industries, would often times send you a letter with a month, sometimes less, notice.

From a business learning experience, I'm really interested in the reasoning. I'm hoping a detailed blog post comes out of this, which I'm sure it will, just as a "case study" of sorts.


I feel like it reflects FB's character as an open source company.


They have 1 year contracts with businesses. If they don't they'd get sued.


And just when I was about to choose between Parse and Google's Firebase. Makes me wonder if Firebase will follow the same path through acquisition, seeming stability, followed by closing?

As far as similar open-source systems, it seems like Mozilla's Kinto compares favorably to Parse after it's code is released: http://kinto.readthedocs.org/en/latest/overview.html There's a nice table there comparing the different services' features.


[Firebase founder here]

We're not going anywhere. We have strong backing here at Google and are continuing to make big investments in our platform. You'll see big things from us soon.

What makes us different? Firebase is very complementary to Google's other product offerings. Cloud for one, as well as Angular, Polymer, GCM, etc.


Ironically enough the founder of Parse said the exact same thing two years ago in the StackMob shutdown thread:

> You could just use Parse. We're not going anywhere.

(https://news.ycombinator.com/item?id=7221823)


Oh man, good find. I wonder how many examples there are of "We're not going anywhere" followed by closure a couple years later.


Ouch.


"We're not going anywhere."

I'd like another answer like. "We are thinking about providing a community version that one can deploy on its own servers, then we provide the IaaS when the customer might want to scale". If Parse had an opersource version to begin with, it would have been much much more successful and people would have been less worried about building on a third party platform.

If Firebase closes tomorrow there will be no migration strategy for people who built their infrastructure around Firebase.

> Firebase is very complementary to Google's other product offerings

Google is a big org. Tomorrow some upper executive you don't even know might decide your product doesn't add value anymore. You know that.


"Google is a big org. Tomorrow some upper executive you don't even know might decide your product doesn't add value anymore. You know that. "

This demonstrates a pretty strong misunderstanding of how google actually works.


Well, there's a reason people have been compiling a graveyard of Google products: http://www.slate.com/articles/technology/map_of_the_week/201...


1. This is pretty irrelevant to whether the mechanism is that some magical bigwig exec decides a project "doesn't add value", which is what was suggested might happen.

2. Plenty of companies kill plenty of products. They just don't bother to announce it, they let it die quietly and silently


> If Firebase closes tomorrow there will be no migration strategy for people who built their infrastructure around Firebase.

To be fair, the same thing could have been said about Parse yesterday. Thankfully they've done as good a job as can be expected in releasing an open source implementation.

But indeed, I might have stuck with Firebase had there been something like that available. Instead, we switched while patiently waiting for a js implementation that supported offline sync.

Any updates on the availability of that?


From a customer's perspective, Parse is not remotely related to Facebook's core products. But Firebase is part of Google Cloud Platform. So I guess as long as Google Cloud Platform is active, Firebase will be operational too.


Tell that to Wave/Reader/Google TV/etc.

I love me some Firebase, but I don't trust Google for a second. They kill projects off all the time, with no regard to the communities built around them.


I hope you're right. I've really enjoyed using your service and plan on spinning up a new env very soon. Thanks for such a great product!


Old Parse user here - any plan to provide a swift SDK?


Our iOS SDK can be used in both Objective-C and Swift: https://www.firebase.com/docs/ios


Whoah Kinto looks cool. Thanks for pointing that out.

I'm one of the Ramses devs http://ramses.tech and we've been working on related problems from an "executable spec" angle.

Seems backend automation is about abstracting storage/syncing and also about making development fast and accessible to different skill levels.


[flagged]


Can someone tell me why this was downvoted? I couldn't find anything wrong with cloudboost.io except for the absence of a Dockerfile in their dockerhub repo.

[edit] Oh, because of spamming. Nevermind.


Thanks for the explanation in the edit. I also upvoted the comment for balance.


[flagged]


What do you use for cloud hosting the server?


Odd. The Parse SDK had a new release one month ago: http://techcrunch.com/2015/12/14/parse-launches-sdk-support-...

That makes this decision seem very sudden.


I have no knowledge of what happened at Parse but based on other experiences I've had, a "sudden" shutdown could be a sign of things being done correctly.

Too often, products are in an extended state of limbo. Internally, the company has given up on it but has been dragging its feet on making the decision to shut it down (or just slow about making the decision public).

As a user, I like to know ASAP if a product I use is probably being killed.

From the company's perspective, keeping a product around half-assedly will probably lead to a slow death anyway; just kill it quickly.


And that's not all. Parse just did a full rebranding, including a full frontend overhaul of its dashboard.

What the hell is going on?


It's a BA came through and said "Oh, they're not making a billion dollars for us yet? Let's get rid of them!"


BA?



Business Analyst


Deals often are on and then off or otherwise not necessarily expected to happen. In the midst of that, services typically and properly tend to push forward with what they were already doing as though no deal is going to happen. The worst thing you can do, is halt your progress during a negotiation.


Halting progress indeed seems like the commonsensical thing to do. A massive UI overhaul is not be the most resource-efficient course of action if you plan on announcing your demise. Hence my startling


It actually makes sense that they would cancel the project after a major release (which they were already working on), especially since they open-sourced the stack.


They didn't open source the overhauled web interface.


A few thought :

1/ parse wasn't a core service for facebook, nor a relevant source of a revenu AND their API wasn't standard. Those points combined made it very risky for people to use it.

2/ since they open sourced their API now, and the service was a paid service, there's a very high probability that someone will very soon create a 100% compatible PAAS.

3/ firebase will be next to shutdown. Not because they suck, but simply because they're exactly in the same case (proprietary,non standard, critical technology, held by a company who don't really care about it for its money service). People won't sign up on firebase anymore, so they will have to shut down quite soon.

4/ Every non core project run by facebook should be looked upon with extra caution now. Yes, that includes occulus. They're clearly not going to sell many devices, and gaming console maker (aka Sony) will have the lion's share of the gaming market. So, expect fb to shut it down in 2 or 3 years if it doesn't get a very large marketshare (the only use case large enough i can think of that is not gaming being porn).

5/ I personnaly would be really hesitant now to run on something like google app engine. I wouldn't be surprised to see google and microsoft moving forward api standardization for core cloud services on a much faster pace. Except amazon, nobody is really safe now.


I think you're pretty far off the mark when you say that Oculus is at risk if they don't sell enough devices.

Of course, we have to go off of what Oculus and FB says, but they are working to create an ecosystem and market for VR experiences and seem to be pushing VR forward wherever they can; look at Oculus Studio and the work they're doing to create interactive movies, as well as the software deals with partners like Samsung's Gear VR. Plus, VR is one of the three stated future pillars of FB (the other two are AI and Internet-for-all).

I'd be willing to put money on Oculus being around and still being a viable business for FB in three years, even if the Oculus Rift hardware is not a commercial success. If the hardware is not popular, they will still be pushing VR forward in other ways. VR is a huge opportunity and is likely to be the entertainment medium of the future. I sincerely doubt FB is going to be overreacting and shutting down Oculus the way you describe.


Or maybe it will turn out that VR is just a niche market or passing fad (for the Nth time). Or it won't gain the required traction within the FB executive's patience threshold. Both are very likely outcomes.

> VR is a huge opportunity and is likely to be the entertainment medium of the future

Is it? Last time it was 3D. And before that..


Before that... Smartphones.

Did anybody actually like 3D TV?


3D TV was a marketing iteration for television.

VR is a revolutionary technology. Much more akin to smartphones. It's not hard to imagine the possibilities that VR can bring.


They probably have a lot of patent, and i agree that VR is not going away. I was talking about occulus as a fb branded hardware and development platform.



To be fair, would they say anything else? Even if Google had plans of shutting them down in 3 months, it's not like they'd come out and say, "Oh, we'll be joining parse next quarter."


Weave is probably based on Firebase, so I doubt they will shut it down.


I agree that Firbase is a ool option and probably safe as they recently took steps to lock it into the google account. Someone will inevitably say google kills projects often, but they probably won't kill this.

Alphabet's strategy seems to be yo onboard new developers and get into mobile.Firebase is a good way to begin that pipeline allowing new devs into googles ecosystem and controlling how tags work on websites by creating their own library and pushing people in.

Why did parse fail though? Seems like a good strategy for Facebook.


> google and microsoft moving forward api standardization

Google maybe.

Microsoft never - if it's one thing that is in their DNA than it's they always have undocumented API edge cases, so they can change them right in front of a competitor - they have a very long history doing that. Ask Apple (Word, IE, etc), DOS-competitors (DR-DOS, etc), IBM (OS/2, DOS, OpenOffice, Lotus, etc), "open" Office format (docx, xlsx, pptx = weird XML serialization of their old binary OLE2 based Office format), Win16API, Win32API, NTkernel API, and many more.

You are right with AWS.


> gaming console maker (aka Sony) will have the lion's share of the gaming market

Given that you need a bleeding-edge $1000 PC to run Oculus at a smooth, nausea-free 70hz, I don't see how Sony is going to get similar performance from a 2-year-old $400 console.

Maybe a couple generations down the road, but not in the next few years.


That completely depends on how graphics intensive a particular game is. Sure you won't be running the Witcher 3 at 90 fps, but it's definitely possible if you make a game that is more stylized and less photo realistic.

They're also apparently using some kind of frame interpolation to run 60hz games at 120hz. How well that works to stop nausea I don't know, but the reviews from early demos I've seen look promising.


Most hardware is now targeting 90hz. Even more difficult!


Hardware ray tracing changes everything


Would love to come back to these predictions in 1-3 year timeframe and see which ones pan out


[flagged]


My goodness. How many of these sales pitches for Couchbase do you intend to insert into this discussion?! One time, that's cool. But you're way, way, way over quota. Give it a flipping rest.


Really man, stop spamming the thread.


Man, this is an example of how to shutter a service gracefully. 1 year heads up and an open source replacement for their service with export tools to port the data in to a format that replacement can use.


I wonder if Firebase will be next? They were acquired by Google in 2014. However they also acquired Divshot to join the Firebase team in 2015 which indicates they at least intended to continue with it then. Firebase does at least make more sense as part of Google's cloud services division rather than at Facebook.


I think Firebase's position is a bit more defensible -- Google has done well to ingratiate Firebase as a backend for angular apps.


The news i have heard from various googlers is, `GOOG acquired Firebase because a project started using Firebase as backend and grew very fast and they didn't want to migrate and just acquired FireBase`.


This is not even remotely true.

Disclaimer: I work on Google Cloud but not Firebase.


Sigh. There should be a Snopes for Hacker News.


One group of developers this is going to affect most are those who used Parse's GCM Server Key for push notifications.

Since Parse is probably not going to reveal this key, Android developers using Parse for push will not be able to use their existing GCM push tokens with other services.


The easiest way to deal with this is to add your sender ID to the app manifest, so Parse registers with both its sender ID and yours:

https://parse.com/docs/android/guide#push-notifications-sett...

This requires a new release of your app, but that is a necessity in any case.


You're right, it seems like this should work.


Parse authenticates with GCM using the API key that you provide, as do all other services AFAIK. So, all developers need to do is use that same key in their new push provider, and their push tokens will work.

The tricky part is actually making sure that all of your push tokens that are in the Parse database are migrated to the push provider that you've chosen.

EDIT: I stand corrected, looks like you have the option to use their key as you said, my apologies! Should have figured the founder of OneSignal would know ;-)


And here I was thinking that because Parse was acquired by facebook using their Push notifications offering was as safe bet as I could make. Can anyone recommend an alternative short of implementing my own GCM server app?


Maybe its not such a good idea after all to code your app to a proprietary API in the cloud.


…except that this just has just become an open-source API that is self-hosted?


Luckily, this time. Not all startups who provide a service like this may choose to do the same when they implode.


Also many (the majority?) of Parse users signed up with them so that they wouldn't have to self host anything.


yes. Meaning there is a market to fill. Too small to be of interest to Facebook, but I'm sure people will build business upon the open source server.


using a service and using open source/open standards/etc aren't mutually exclusive things.


...except being able to integrate with an API does not mean you have the ability to self host, run, and maintain the product.


If you can't self-host because you don't have the ability to, but can't use cloud services either because they could shut down, what alternatives do remain?


I think use an open source platform which has both self-hosted and managed as options. So when managed shuts down, You can self host it. I'm the founder of CloudBoost.io - and We're an alternative to Parse. We're both on Docker (Self-hosted) and Managed at CloudBoost.io


Not betting on just anybody who launches.


The point was to not host yourself the backend app. So yes it's nice to get a "replacement" but still...


> Maybe its not such a good idea after all to code your app to a proprietary API in the cloud.

That's why you write an adapter.


That's exactly what I did. I wrote a wrapper around their REST API. Feeling pretty good about that decision right about now.


Same here! This is a great lesson to newer developers... :)


Maybe it's also not such a good idea to claim you know everyone else's needs and constraints...


I would amend this to say "its not such a good idea after all to code your app to a proprietary API in the cloud without a plan B"


They were kind enough to release a compatible server for users to migrate to their own infrastructure to.


There is no such thing as "proprietary API". There are proprietary implementations...


> There is no such thing as "proprietary API".

I see you are unfamiliar with Oracle v. Google.


... or a walled garden like iOS.

But of course people will keep doing it, and keep complaining when the inevitable happens.

https://xkcd.com/743/


The walled garden has nothing to do with this.


... which is why I used the word 'or'.


'Someone once asked Slick Willie Sutton, the bank robber, why he robbed banks.

Sutton looked a little surprised, as if he had been asked “Why does a smoker light a cigarette?”

“I rob banks because that’s where the money is,” he said, obviously meaning “in the most compact form.”'

Why do you develop against a proprietary API? Because that's where the users are.


Why does your user care what API you use?


yeah this makes no sense


"the users" are at "a proprietary API"? this seems like a curious notion.


He likely misunderstood everything and is talking about the Facebook Platform ATI.


Ugh. This is why you don't build on proprietary stacks like this. I've detailed tonnes of complaints I've had about the platform itself being awkward and buggy in previous HN comments, but this is obviously the #1 reason not to.

If Facebook can shut down a service this big, Google or Amazon can too. Moving a VM is (reasonably) easy, but porting an app from proprietary backend X to another is hard.


No, this is just why you should architect your applications so that the backend isn't all over the app, but instead limited to the outskirts. Then you can change providers at will.


I disagree that Amazon can shut down AWS at this point, half of the company internally runs on it.


>We’re proud that we’ve been able to help so many of you build great mobile apps, but we need to focus our resources elsewhere.

I read this as "our Facebook overlords have decided that our revenue/head can be dramatically increased if redeployed on a different part of the overall company, so they have decided to shut Parse down and move us elsewhere."

Which is a perfectly fair business decision but this is really sad to see since I saw the Parse acquisition as a beacon for platform companies being able to run independently post acquisition. :(


If resource is the question, then I wonder how come they are sustaining WhatsApp? Its a zero-profit activity, the users chat amongst themselves, what does FB gain from that? I guess the parse resource traffic would be little compared to terabytes flowing through the WhatsApp every day.


WhatsApp is a competitor of Facebook. It's a way to discuss with people you know in real-life, share pictures, discuss, communicate.

Many engineers see a "chat app" and a "social network" and they don't see how they can be competitors, but they really are: they compete on being the transport of communication with your friends.

Long-running WhatsApp groups with your family or a specific group of friends is completing exactly what Facebook doesn't successfully provide and what Google+ tried to: a way for a more private discussion within different social circles. And on top of that, there are many people who resist Facebook for "privacy" and happily use WhatsApp (which is very very ironic, if you think of it).

The acquisition of WhatsApp (and Instagram) has been one of the smartest moves from the Facebook management. And not only that, they even handled it correctly afterwards, by not merging one into the other, resisting the usual technical urge for refactoring, unification, removal of duplicates.

Now they basically own all the most successful communication platforms. They own the primary way most people use to communicate with the world.


you kidding?? Knowing what 200MM people are talking about and being able to display them "relevant" ads based upon it is priceless!!


The day I see ads on whatsapp is the day I leave.


Facebook owns whatsapp. You already making FB money even if you not crossing FB site.

Actually you're working for Facebook... and you do it for free!


Kindly explain, if WhatsApp doesn't show me ads nor do I have a paid subscription to WhatsApp then how is Facebook making money from me?


Sure it goes something like this:

- hey rms, how you been?

- good Alice, just been busy - we're finally looking to buy our first house.. so excited about it can't wait!

- awesome, man! do you have location on your mind??

- well, me and wife are looking into Los Angeles and neighborhood, unsure yet..

- cool I come visit you!

- yeah you guys swing buy! We want to buy at least 4bd house, so there will be plenty of room for you to stay...

- okay see ya!

Meanwhile 2 days later on your Facebook feed:

Local Los Angeles realtor giving best tips for first time buyers...

If you buying in Cali you will be in shock about this one rule...

Learn about magic device this 60 year old used to built his own house in California.

California realtors are scary of this one website with top notch listings...

If you buying in Los Angeles you are overpaying not knowing about this law...

President Obama wants you to use first time buyers loan - click your State from the list below...

And so on...


I don't use FB...


You don't have to. Majority of internet websites includes either ads or forums/comment sections coming back to FB cookies. So yes they do know what to show you on drudgereport when you chat on whatsapp. try yourself!


That's fine. I just don't want to be distracted by ads.


Whatsapp is hosted on its own custom infrastructure. Parse is hosted on Amazon EC2. Facebook is probably sick of paying Amazon money.

I always thought the plan was to move Parse infrastructure onto Facebook servers...


That area of their farmland will eventually harvested to great profits (or at least that is their plan).

Parse was already monetizing and they could see the margins they were getting, and were not satisfied.


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: