We know migration to another MBaaS is not an easy business. With more than 4k successful migrations for the last year, we'd like to share with you the most appropriate order of steps to do your migration to SashiDo, along with few tricky moments you need to know.
Use them as a reference to smoothen your migration and to ensure you won’t forget any aspect of the process.
Here’s the short list of the recommended migration steps:
- Database Migration
- Files and Responsive Images
- SDKs
- Cloud code
- Scheduled Jobs
- Push Notifications certificates
- Email templates
- Set up your Host Name (CNAME)
Database Migration
As you already know, the Database schema of Telerik Platform is vastly different from the one of Parse Server (and any other backend for that matter). Furthermore, there’s no straightforward way to export your Telerik Platform database, this makes any kind of migration to another service a tad bit tedious.
Fear not, SashiDo has your back. We have developed an automated process that will export the data from your Telerik Platform application, transform it to the respective Parse Server format and import it into your SashiDo application’s MongoDB. All you have to do is click here and there{or contact us?}. You can see in details how each Telerik Platform field and/or feature maps to Parse here:
Crash course with Parse Server for Telerik Platform developers by SashiDo.
After the migration is complete, you can head straight to the Parse Docs and start using your data right the way.
Files and Responsive Images
As part of the migration automation we will also make sure to upload all used images from your Telerik Platform application to the respective S3 Bucket in SashiDo and replace all fields in the database accordingly. If you have to do it manually it may take 1-2 days, depending on the number of your files and for sure will raise your migration expenses.
To save you even more development time, we, at SashiDo also made sure to set-up a Responsive Images service compatible with the one at Telerik Platform. The service has the same API as the service you have used up until this point. E.g. https://res.sashido.io/1/your-app-id/resize=w:250,h:250,fill:cover/https://your-app.s3.amazonaws.com/large_image.png
If you have used the HTML helpers to resize your images, then we have more good news - we created a small library to assist you further in the transition to the new service. It’s a drop-in replacement of the current everlive.helpers.htmlHelper and can be used as follows:
var sashidoResponsive = new SashidoResponsive({ appId: 'your-app-id' });
sashidoResponsive.processAll();
SDKs
Parse Server has a wide range of open source SDKs at your disposal:
- For iOS & OSX
- For Android
- For JavaScript
- For .NET + Xamarin
- For Unity
- Parse PHP SDK
- For Arduino
- Embedded C
- Cloud Code (Parse CLI)
All you have to do is pick the right one for you. And rewrite a significant part of your application by replacing the Telerik Platform bits with the new, Parse Server ones. Head to the Crash course article to learn how to make the transition as seamless as possible for yourself.
Cloud Code
In the table below you can see how each Telerik Platform Cloud Code term maps to Parse Server.
The Cloud Code (Business Logic in Telerik Platform) being as different from any other backend as its database schema, you will be forced to rewrite it. This is a process we can’t automate, but we will do everything in our power to help you in this transition. As a starting point you can refer to the Crash course with Parse Server for Telerik Platform developers blog post and the Parse Docs - http://docs.parseplatform.org/cloudcode/guide.
Scheduled Jobs
Scheduled jobs, also known as Cloud or Background Jobs in Parse Server, will also have to be manually rewritten and scheduled. Make sure to watch out for collisions with the already running ones in Telerik Platform before their closing date.
Push Notifications certificates and credentials
There’s just one difference with the iOS certificates in Telerik Platform - in Parse Server you need to export them without a password before uploading them.
For Android, just set your SenderID and ServerKey. For more details, you can read our blog posts on the topics:
- https://blog.sashido.io/how-to-set-up-ios-push-notifications-in-sashido/
- https://blog.sashido.io/android-push-notifications-how-to-start-using-fcm/
Email templates
If Emails are a vital part of your application, then make sure not to leave them behind. There are two ways to manage email templates. First, go to AppSettings -> Emails & Hosting, where you can edit the templates for verification and password reset. Another way is to directly use mailgun in your cloud code, since any npm module is allowed, there are no limits.
Set up your Host Name (CNAME)
You can use static web hosting with SashiDo, you just need to set up your custom domain and CNAME in the Dashboard. You will also get free SSL encryption, courtesy of Let’s Encrypt. Here's an article explaining how to use hosting on SashiDo.
Don’t wait too much
We will not sugarcoat this for you. No matter if you choose SashiDo for your next MBaaS provider or not, you have a lot of work to do, and very short time to do it. We can only save you so much time, by providing automatic data migration and support assistance, but you have to do the heavy-lifting of completely rewrite your codebase by yourself. And don’t fool yourself, the sooner you start, the better.