What to consider when moving your CMS to the cloud

Content management systems (CMS) are heading into the cloud, with promises of being faster, better, cheaper. But how can you assess if the cloud is right for your content management needs and how can you make the most of cloud capabilities should you choose to move?

In this article published by CMSWire, Magnolia CVO Boris Kraft argues that some digital practitioners might be missing the real promise of the cloud: that essential customization can be done outside the deployment of the CMS. This means writing your customizations in a different piece of code or technology, hosted somewhere in the cloud as well (or even on premises), and then using the APIs provided by your cloud CMS to hook into the system and customize as needed.

Using the analogy of modifying a standard coffee machine to produce cafe latte, Boris explains how cloud environments make it possible to customize and integrate in a comparable fashion. Instead of running your custom code inside a CMS, you deploy an independent piece of code that connects the different services together, each of which you basically treat as a black box, accessed only through public APIs.

Finally, you connect from your front-end (e.g. webpage or mobile app) to this independent piece of code to provide you with the data you need — via representational state transfer (REST), delivering JavaScript Object Notation (JSON) — and using Javascript to create the experience you want. Or do the same using the templating mechanisms your CMS provides.

Boris challenges the CMS world to think about how to make the most of cloud deployment by adapting the new extensibility environment, how to change and makeover legacy applications and extensions originally built for on-premises deployment.

Some strategies could be: 1) build operational processes into sofware, 2) use automated backups and continuous delivery to help simplify migrations and updates, 3) work with live content in separate, yet synchronized environments for development, authoring and testing, 4) find a balance between flexibility and functionality.