Maritime Coastguard Agency: Cloud Microservices Platform
The Maritime Coastguard Agency (MCA), an executive agency of the Department for Transport, instructed Catapult to help them digitise the UK Ship Register (UKSR) services in alignment with the Government Digital Service Standards. They required high quality, scalable, digital services to which they can easily add new features and updates while mitigating the risk of outages. We utilised agile and DevOps delivery, implemented a cloud first strategy and built a Microservices Enablement Platform with a Site Reliability Engineering (SRE) approach, powered by observability, to provide world-class services that meet the wide variety Ship Registry citizens' users needs. The service is increasing digital uptake and relieving the administrative burden on the Registrars, freeing up capacity to focus on achieving the MCA’s goals of increasing the UK flag's tonnage and number of registered vessels and gaining a global competitive advantage.
The situation
The MCA is a highly customer focused organisation, and its overarching goal is to be the most successful international flag by 2022. One of their primary objectives to achieving this goal was to digitise the UK Ship Register and provide highly accessible, quality, GDS compliant, online services to their diverse client base. They knew they wanted to leverage the cloud and have an API-centric architecture, but had limited in-house engineering capability. This meant the solution needed to be easy to manage with a minimal learning curve for use. As part of their customer-centric approach, the Maritime and Coastguard Agency had set itself the target of delivering its first fully digital customer experience by 2020. To ensure they met this target they selected Catapult CX due to our proven track record of building systems across multiple industries using modern engineering practices.
The solution
Catapult proposed a cloud native microservices architecture, using APIs and events to communicate. Using infrastructure-as-code, we built a microservices platform (supporting both containers and functions - CaaS / FaaS), which the MCA could use to securely provide access to their data and run any new digital service they wanted to create for their customers. Powered by an observability solution integrated into the platform, we provided proactive alerting and dashboards to gain real-time insight into system health and the service performance. We defined a set of engineering and operational policies that provide guidance for the MCA and any of their vendors on how to run this platform and create new services for it. Along with the platform we delivered a secure CI/CI (Continuous Integration / Continuous Delivery) pipeline which built, tested and deployed the services into the platform.
The results
Using this platform, we were able to deliver the first digital service for the MCA, namely the Small Ships Register, within 9 weeks. Over the following months additional microservices were deployed to the platform digitising the rest of the UKSR and Beacons services. Developers were able to use TDD (Test Driven Development) to build and deploy services written in any popular language, and use the NodeJS and Java sample projects to as a foundation to create a new service within minutes. The MCA were able to release at will, sometimes multiple times a day. They could respond to customer feedback within hours and even turn around any bugs raised on the same day.