3

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.

http://bcrypt.codeplex.com/

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:

How scalable is Parse?

Community
  • 1
  • 1
Ogglas
  • 62,132
  • 37
  • 328
  • 418

1 Answers1

0

I don't have a direct solution. I just want to discuss your plan here. What do you think your users will react if they have to change their passwords? How much more work have you calculated to change your backend completely? I also think about building my own backend server but quit the idea later. I think that it is good to keep the old apps as they are to avoid too many changes. For the new apps, I might make my own REST service and build it on my own backend server with SQL and C#.

flame3
  • 2,812
  • 1
  • 24
  • 32