Articles

MageFlow: Magento infrastructure made easy

MageFlow logo

Labeling themselves as Magento toolmakers, MageFlow offers infrastructure and release management for Magento. Allowed into the early access version of MageFlow, here’s what we encountered.

Introduction

Magento infrastructure is a job on its own and a lot of agencies are willing to pay handsomely to have it done properly. There are specialized/managed Magento hosts out there, just like that there are PaaS-providers offering Magento integration.

When you pick managed Magento hosting, you often pay premium due to the support and other options you get with it. PaaS-providers are great due to their simplicity and competitive pricing but often offer limited control compared to managed hosting.

MageFlow solves these problems by being the bridge between your unmanaged infrastructure and a Magento-optimized web stack. Instead of a vendor lock-in as with QuickMage, you can pick any server you like.

The MageFlow Workflow

MageFlow works with a server, instance and project architecture. A project manifests a Magento installation which belongs to an instance active on a server. A server can have multiple instances and you can have more than one instance attached to the same project.

For testing purposes we went with a $5 DigitalOcean Droplet booted with the required Debian 7. Support for other Linux distributions is said to come later. As soon as the SSH keys for authentication are set up, the server can be build with the MageFlow web stack. After a while a notification comes in and you can start attaching instances to it.

Building a Mageflow Server

Building a MageFlow Server is a breeze.

An instance is a deployment of a project. For example, you alter a module its functionality, commit the result and push it to Github. In the MageFlow dashboard you then see your latest commit, click “Deploy” and that commit is then automatically pulled on the specific instance.

Data Migration

In addition to this workflow, MageFlow offers Data Migration which is a really neat way to synchronize data between multiple instances. In the Magento backend you have a MageFlow-tab which allows you to push and pull store data via the MageFlow platform.

For example, if you were to have a staging and acceptation instance and the staging has a bunch of new configuration settings, you can easily select all those changes, push them to MageFlow and then pull them on the acceptation instance. From within the MageFlow dashboard you can easily moderate those change sets and even manually migrate specific items of a change set.

Using the MageFlow Data Migration tool

Using the Data Migration tool.

Powerful dashboard

The MageFlow dashboard is really straight forward. With its minimalistic design, going from building a server to deployment is no more than a few clicks away. All actions you perform have clear statuses and result in jobs being spawned which you can easily reflect on from the job log.

MageFlow instance details screen

MageFlow instance details screen.

No SSH client or terminal command has to be touched; it is all abstracted away for an easier user experience. This makes MageFlow an ideal tool for Magento agencies which do want to manage their customers their infrastructure, but do not have the resources to do so themselves.

Work in progress

Though the early access version works, there are still limitations ranging from severe to minor. For example: existing Magento installations cannot be deployed to instances yet and the only Git-hosting-provider you can deploy from is Github. The web stack is still bare bones but additional options are marked as “coming soon” (e.g. Varnish, Redis).

Having said that, the current demonstration works really well and there is no reason to believe this is a minimum viable product or something which is in its early development stages. According to the MageFlow blog, the early access is a preview version of 30 days and after that, a public version should appear soon.

Though not surprising, MageFlow is not (yet) intended as a full fledged alternative to absolute professional Magento infrastructure management. Load balancers, database replication et cetera should be handled at server level. All MageFlow does, is set up the top-level of the Magento web stack.

Conclusion

MageFlow is a Platform as a Service which allows managing of Magento infrastructure with little to no technical hassle. We can easily see MageFlow partnering with reputable hosting-providers and offering managed Magento integration on top of bare bones (virtual) hardware for an acceptable price.

Though there is still work to do, the early access version looks very promising and we are looking forward to the final product.

Subscribe Newsletter

Subscribe to get latest Magento news

40% Off for 4 Months on Magento Hosting + 30 Free Migration