· · Matthew Ford  · 3 min read

Moving the first live service to the Platform as a Service for government

Moving the first live service to the Platform as a Service for government

Originally posted on the Government as a Platform blog.

The

GOV.UK Trade Tariff is a service

people can use to find licences, duty and VAT rates for goods they want to import or export. In July, the Trade Tariff became the first service to migrate to the UK Government PaaS.

In this post I’ll share some of the benefits and challenges of the migration.

Benefits of the PaaS

Maintaining the Trade Tariff service is now easier. We’ve maintained the Trade Tariff since it launched, but doing this as an external agency proved tricky at times.

The Trade Tariff used to run on the same hosting infrastructure as the rest of GOV.UK, but as an external agency, we didn’t have access to this. This meant we needed help from GDS  whenever we wanted to make changes (often called ‘deployments’) or investigate issues.

Since migrating to the PaaS, we’ve been able to fully manage the service ourselves. It’s now easier for us to make deployments and monitor performance. This means we can focus on developing and improving the Trade Tariff service, rather than having to worry about the underlying infrastructure.

We can quickly create new application environments

We followed the

guidance on multiple deployment environments in the service manual

: development, staging and production). Now we’re on the PaaS we can easily create new environments when needed, for example for user testing.

Scale up or down easily and simply

One of the benefits of migrating to the PaaS is we can now easily scale up the application to meet demand, or scale down development and testing environments when they’re not in use.

The challenges we overcame

With the PaaS in private beta and the Trade Tariff the first live service to migrate to the platform, this collaboration was in many ways a learning curve. It presented the PaaS team and Bit Zesty with challenges and insight, which will no doubt inform how the platform is iterated and developed for the next services to onboard. Here are some of those challenges.

Restrictions of cloud hosting

The PaaS is built on

Cloud Foundry

. Like most PaaS platforms, Cloud Foundry has a number of restrictions compared to more traditional hosting, such as a short-lived file system, ie one which can be destroyed at any time. We knew this would have an impact on how we imported the files we received on a daily basis from HMRC and the EU. To solve this we redesigned our file import process to use a cloud based file store called Amazon S3.

This 

approach is a one of the

best practice 12 Factor Application principles

– we adopted these during the migration to Cloud Foundry.

Different databases

The Trade Tariff was built on

MySQL

, but at the time we migrated PaaS supported

PostgreSQL

. To move the service to the PaaS we rewrote complex database queries and ran both applications in parallel. By doing this and testing extensively, we could make sure the data returned by the new version matched the old version.

Scheduling tasks

Scheduling periodic jobs was another challenge we solved. We used to have

cron job

(a job scheduler) that ran our daily import and database update process. Cloud Foundry doesn’t have this functionality built-in, so we migrated our jobs to use the open source tool

Sidekiq

and used

sidekiq-scheduler

for periodic

jobs

.

Backing services

There are PaaS backing services you can create for your application, but not all the services we need are available yet. For example, we chose

Papertail

for the log management service. This was easy to

integrate with Cloud Foundry

.

Another was

ElasticSearch

, which we use to power the Trade Tariff’s search. In the end we procured this outside of the PaaS, but with time, as more backing services are added we should be able to migrate this to the PaaS too.

What PaaS means for our users

We want to thank the PaaS team for all their support and help migrating the Trade Tariff to the PaaS. They helped make the process simple and straightforward.

Everyone involved worked hard to make sure users wouldn’t notice the migration. There was almost no downtime during the switchover and we tested everything thoroughly to avoid any surprises.

The migration to the PaaS benefits users because we can iterate and innovate more regularly. We’ll be rolling out a new design for the service which, among other things, will improve the experience of users on mobile devices. And there’s plenty more to come.

In my next post I’ll outline the useful lessons we learned from the Trade Tariff migration.

Do you need help creating or improving a digital service? Contact Matthew, our Technical Director, today on +44 207 125 0160 or drop him a line on [email protected] for a free consultation.

Do you need help with your application?

At Bit Zesty, we specialise in building and maintinaing bespoke software and intergrating AI into existing applications.

Looking to build an application, but unsure of the price? Keen to discuss our experience, processes and availability?

Back to Blog

Related Posts

View all
5 things you should learn from GOV.UK about creating a web app

5 things you should learn from GOV.UK about creating a web app

When it comes to the principles behind creating any of our digital products, the Bit Zesty team follows many of the practices set out by the UK Government’s Digital Service Standard – a set of eighteen criteria for ensuring that all government departments create streamlined,…

Kick-off meetings – A guide for clients working with digital agencies

Kick-off meetings – A guide for clients working with digital agencies

After 16 years of developing digital products and services, we’ve found that our clients benefit from learning more about important processes in Agile development. In this ‘Client’s Guide’ series, we’re shedding light on essential parts of the development process and why they’re helpful for…