Introducing App-to-App Deployment (Multi-Environment Development)

by on June 17, 2020

App to App Deployment Feature

We see more and more complex apps being developed with Backendless. Once an app is released into production, making changes to a live backend becomes very risky and could destabilize the app. App-to-app deployment from Backendless is here to help.

The traditional app development approach is to create multiple environments – or replicas – of the app for development, testing, staging, and production purposes. Changes in the app are then typically promoted from development to testing to staging and finally to the production environment.

To support this workflow, in Version 6 we are excited to introduce the “Sync Changes” feature. Sync Changes is a simple yet powerful tool that allows you to share settings and changes in one app with another.

Sync Changes (App to App Deployment)

There are tons of time-saving ways this tool can be used. Before we discuss uses, let’s discuss how it works.

In order to unlock this tool, you will need two or more replicas of a Backendless application, each used for a specific functional purpose (dev, test, stage, and/or prod). To promote changes from one app/environment to another, you will use the Sync Changes function on the Manage screen of the Backend section.

To use the function, the apps must both be on a paid plan.

Sync Changes allows you to migrate changes in schema, roles, security permissions, and Codeless Business logic from one application to another.

You are given the option to choose from any of your other apps. Once chosen, click the Inspect button to review the differences between the applications and choose which to deploy to.

Use Cases

Multi-Environment Development

It is never wise to make changes that haven’t been thoroughly tested to your application’s backend while it is in production, i.e. accessible by your users.

It is highly advisable to have separate development and testing environments where you can implement and test changes and safely break things. Every Backendless application you have is essentially its own environment.

Many Backendless users already have multiple instances of their “same” app on the service. The reason: they build new functionality in the development “version” of the app and test it in the “test” version/environment while the production version – the one that is publicly accessible – remains untouched.

When the developer is ready to release a new version to the public, they would have to find a way to migrate items from the development/testing/staging environment to the production environment. This may seem simple, but when handled manually, any process like this carries a good deal of risk.

If any single change you’ve made – be it a small tweak to existing logic or a whole new feature – gets lost in the workflow, it can spell disaster.

Sync Changes will make it much easier to maintain separate development, testing, staging, and production environments. Now, when you’re ready to release the update, you simply use this tool to promote the changes. A few clicks later, you’re done.

Oh No, I Published My App With An Error!

It’s many app developers’ worst fear: you just released an app update only to quickly find an error that was missed.

Regardless of whether that error is on the frontend or the backend, Sync Changes can help provide a quick fix.

If the issue is on the backend, you can use your development environment to test solutions until you find one that works. When you do, you sync the relevant changes and breathe a sigh of relief.

If the issue is on the frontend, you will likely still need to publish a new version of your app to the various stores (assuming this is a mobile app). However, as we all know, getting the app through the review process can take valuable time that your broken app is still exposed.

The easiest way to fix this problem, at least for the short term, is through the backend.

You can add custom Cloud Code (business logic) to your app to fix things from styling, images, text, and possibly even button functionality, depending on how your frontend is constructed.

With Sync Changes and multiple separate environments, you can test your new code (or Codeless logic) in your development/testing environment without impacting your live app.

In summary, app-to-app deployment with Sync Changes is a new tool that will help you sleep a little easier at night. You know your app is in good hands, and you know how to act if there’s a problem.

We hope you find this new feature helpful and hope it saves you lots of time and stress!

Check out everything that’s been released in Version 6 so far.

Happy Coding!

1 Comment

The 6.0 release is impressive! Good to see that besides fun-to-use features like Missions and Shop, developers also get very useful technical updates – Transactions and Syncing!

Leave a Reply