We’ve always promoted the fact that we’re utterly compatible with Heroku, from Procfile support to 12factor adherence (with a very nice environment variables management). We’re going one step further by releasing today a first version of heroku2scalingo, a tool to easily migrate your app from Heroku to Scalingo.
How does it work?
In this first release, the workflow is very simple:
- Read the environment variables list of your Heroku app by connecting to the Heroku API (we’ll ask your permission first)
- Create an app on Scalingo
- Checkout the source code
- Set the environment variables accordingly
- Push it on Scalingo
Voilà! You should then see your app live on Scalingo.
Yep, that’s all!
Here is a sample output:
On the roadmap there’s a bunch of asthetic feaures that we’re thinking of. But the next big challenge will be about data migration (migrate your data from Compose/MongoLab/Heroku PG to Scalingo). A first milestone would surely simply do a dump/restore from our local workstation. Proper data management between Scalingo data stores will need a decent amount of work on our side because we’d like to do it in a clean manner to be able to do high level data operations on the platform (who’s saying “Big Fork Button”?).
Test it with your app
Get the latest version of heroku2scalingo. It’s only one binary file to download (thanks to Go) without any annoying extra dependencies to fetch.
The Scalingo API bindings have been externalized in the go-scalingo package. Interfacing with the Scalingo API using the Go language is even easier and a go get away :) And BTW this component is shared between our CLI and heroku2scalingo.