Our development teams at Crunch have seen a lot of changes in the last year, both in terms of architecture and ways of working. As a special treat for the more technically minded among you, here’s an overview of what’s going on.
One of the biggest changes is our switch to a service-oriented architecture (SOA); a decision we made to deal with issues of scaling as the number of clients and products grows.
Continuous deployment model
Once we made the decision to work with an increasing number of services, it made sense to move towards a model of continuous deployment – automating build, test, and deployment processes as much as possible.
This was partly to reduce time spent performing these tasks, but also to ensure consistency – the more times a person conducts these tasks manually, the more likely that on one occasion they will make a mistake or do something differently.
Our self-contained services are written in Spring Boot and communicate internally with each other via RabbitMQ. All our servers are hosted on Amazon Web Services (AWS), and GoCD allows us to deploy our services in AWS.
We’ve started to use Docker containers to develop services and are looking to work more with Docker in the future, as well as Kubernetes. The Elastic Stack enables us to centralise our logging and Kibana gives us the ability to search, analyse, and visualise our data. On the front-end, we are creating our own web framework using React, as well as building a component library.
Plans for the future
In the coming months, we’ll be writing more about our SOA in more detail, as well as the challenges we’ve faced when deconstructing a large legacy project into an SOA. You’ll also get the inside scoop on our new infrastructure and continuous delivery platform, our open-source contributions, and other exciting new projects we’re working on.
As if that wasn’t enough, you’ll be kept up to date with how the development team at Crunch is leading the way with Making Tax Digital – a Government initiative that aims to simplify and digitise the tax process.
Want to get involved? We’re hiring!
Sarah Barber is a software developer at Crunch with a background in Java and Spring web development. She is currently developing a continuous deployment platform for our microservices architecture.