Update: Two days after the original question Parse have announced that they are winding down the Parse service, and Parse will be fully retired after a year-long period ending on January 28, 2017.
Original: I currently have an app running Parse.com back-end and for various reasons I'm thinking of switching to my own back-end. This also means that I'm going to migrate the data to my own database server. I'm a .Net developer and therefore I'm normally using Microsoft SQL Server and I want to use it now as well.
Exporting data from Parse is not hard using their “One Click Export” but from there the problems start.
My application has a bit over 4000 users, using both Facebook-login and normal username/password. Parse uses bcrypt for passwords and the best implementation I have found for .Net seems to be BCrypt.Net that was last updated late 2013.
I have not found a verified reference implementation of bcrypt and therefore I’m also thinking about a switch to Microsoft.AspNet.Identity. Identity uses PBKDF2 so that means that the users will have to reset their passwords if they have username/password sign-in (I’m aware that PBKDF2 can be better accelerated with GPUs and as such, PBKDF2 is easier to brute force offline with consumer hardware but I still prefer to use verified implementations). Facebook sign in should not be a problem as I see it because I can export the needed values from Parse.
Parse uses MongoDB and therefore I have to sort the relationship between the data, should be doable using a custom program.
Do you think I’m wrong in implementing Microsoft.AspNet.Identity and should stick with bcrypt?
Will it be harder than I think to map the data in SQL Server?
Is there anything out of the information provided that I have not thought about?
Even if the application is not that big I still want to be able to scale better and therefore I would rather do it now while it is still possible. This is not something that has come up over night, I have been thinking about it for the last month or so and even though a migration can take some time I still think it will be worth it in the end.
If you wish to read more about Parse scaling you can do it here: