Connecting the Clouds, A TrueLime Story

Last week I was privileged to present a business case study at the Kentico Roadshow in Amterdam, a one day event showcasing Kentico Cloud and Kentico EMS. In the case study I told the journey of getting our company blog live using the headless CMS Kentico Cloud in combination with ReactJS, hosted on the Microsoft Azure platform. This post highlights the result of our journey.

Describe the project

The project in question concerns our new company blog. The goal was to create a platform for our employees to easily share cool technology related content via a simple online blog platform. This should be done using headless and serverless technologies including Kentico Cloud and a Single Page Application framework.

While in this project our company is in fact the endclient, the same project approach will be applied because we don't differentiate between internal and external projects. The planning was slightly different compared to our "traditional" projects. We noticed that the content design and production took place very early in the project, because we could start right away with content type creation in Kentico Cloud:

Content first planning

Choose the right tech

Last year when Kentico Cloud was introduced at the 404 event in Las Vegas, we directly signed up for the early adopter program. It was at this time that we knew that wanted to do something with this new technology. After some while it became clear to us that Kentico Cloud was not the same product as Kentico EMS. Kentico Cloud provides "Content as a Service" via REST API's (Kentico Deliver). It offers structured content and digital assets via CDN's throughout the whole world, without the need for additional hosting. Ultimately Kentico Cloud helped us understand the headless CMS concept.

For the presentation part of our blog (the head) we choose ReactJS. ReactJS is very suitable to handle the "View" within the MVC pattern, while the "Model" will be handled and provided by Kentico Cloud. ReactJS compared to Angular and other JavaScript frameworks/libraries is pretty different from what we typically code. That is why we stepped out of our comfort zone and gave it a go. What I personally liked about ReactJS is that it promotes a fail fast strategy.

Connect the dots

Based on the choosen technologies Kentico Cloud and ReactJS, joining them will be quite simple. Kentico Clouds content types and structure will be automatically available via the Deliver API and can be consumed in the ReactJS application. Finally we will push the ReactJS code to a Azure Web App via Continuous Deployment in VSTS. The microservice architecture of our project looks as follows:

Headless (microservice) architecture

Check out my blog post for more info on continuously deploying a ReactJS website to Azure using VSTS.

Inspect the outcome

In our journey we have learned new technologies and how they benefit our decision making process. On the contrary we still have much to learn and things to figure out. In retrospect:
  • The content design (and creation) takes place in the beginning and in parallel with development
  • Development time can be shortened because we don't need to spend time installing/updating the software
  • We need to research the impact of the serverless technology ReactJS on SEO and if (and how) we would need to improve this
  • We need to investigate caching and limit the amount of requests to Kentico Cloud to avoid unexpected costs
And that's about it. I am happy to announce that our blog is now live: blogs.truelime.nl