Strengthening Contour’s Foundations: Modern Infrastructure for Faster Feature Releases
In March, the Infrastructure Team within Origin Digital made some fundamental changes to the underlying foundations that Contour is built on. But what are these supporting foundations, and why make such changes to our underpinning infrastructure?
To our customers, Contour is a web application that provides smart tools to support both their agronomy and their seed & nutrient planning, bringing together a variety of maps, tables and more to display the data and analysis a user needs.
However, this ‘front end’ that users see is just one of approximately 60 ‘microservices’ that make Contour what it is. A microservice is an application in its own right that performs a specific function. For example, we have dedicated services that fetch different types of data from our databases and from third parties, or that calculate and display various types of analysis. The idea is that through these microservices we can change a specific part of Contour without affecting the rest of the application, reducing risks when we release updates and increasing the rate at which we can provide new functionality.
Having so many microservices does mean we have a lot of moving parts to manage. Rather than trying to manually manage each of these deployments, we use an industry standard ‘orchestration’ platform. This platform allows us to run multiple replicas of each microservice across a number of different Virtual Machines (VMs), meaning if a single instance of a microservice or an entire VM were to have a problem, Contour still works.
Origin Digital have been building and managing our orchestration ourselves for a while, and as with most IT Systems, the platform we use for this needs patching and maintenance. The sheer scale of the VMs we use and the rate of change within IT makes this an almost endless task – as soon as we’ve patched and tested an upgrade, a new one is available.
Keeping on top of this maintenance is therefore very time consuming and requires a great depth of a technical specialism. It also means when something goes wrong, we have to spend a lot of time understanding, diagnosing and fixing the problem.
To address this, we began exploring a more advanced orchestration platform that runs as a ‘managed service’, meaning the platform provider handles all upgrades and testing on behalf of their clients – so all we have to do is focus on running Contour’s various microservices efficiently.
Over the last year Origin Digital have rolled out this new platform across our development, testing, and as of March, customer-facing product environments. As a result, Contour’s microservices are now sat on state-of-the-art infrastructure that’s always up-to-date, allowing us to release new features and fixes at a faster pace as well as increasing the security of the platform.
The rollout of advanced orchestration software is also allowing the Infrastructure Team to improve our “development experience”, making it far easier for our application developers to make changes, utilise new technologies, and make Contour ever more secure and resilient.
Migrating our orchestration platform has allowed us to strengthen the foundations that Contour is built on without shaking the house, removing dated and hard to support elements and increasing security without causing any customer downtime. With these new foundations in place, we can go forward building modern applications with security, supportability and speed of release at their very heart.