We’ve developed our own cloud platform service, but what does that mean – and why does it matter?
If I were to tell you that I work on the ‘Platforms Team’ and that we have built a ‘cloud platform’, would that mean anything to you? It certainly didn't make sense to me when I joined the team half a year ago.
I’ve found out the meaning behind the buzzwords over the past 6 months. I’d like to share what I’ve learned and introduce you to our cloud platform service.
Software before the internet
Cast your mind back to 2010. Software was stored on discs, packaged in boxes and purchased in shops.
I remember installing and running Microsoft Office 2010 on my computer: I double-clicked on the program to run it, which copied instructions to the computer’s memory (known as random access memory or RAM) that were then executed by the computer’s central processing unit (CPU), with the whole process looked after by the computer’s operating system.
Everything was contained in one machine and one disc. There was no need for the internet because it ran on my computer.
Now it’s 2016. I no longer buy discs and I access most of my software via the internet (software on demand or software as a service).
I can access this software anywhere using a browser connected to the internet. This is because the software is not installed on my computer; it’s on someone else’s machine.
Using software in this way is known as cloud computing. This term is vague, with heated discussions even within my team about what it really means.
The term ‘cloud’ stems from the way the internet is depicted on network diagrams as a cloud symbol. When services that could be accessed over the internet started appearing in large numbers, the term ‘cloud computing’ emerged.
Just remember that there is no ‘cloud’ – it’s just someone else’s computer.
Infrastructure and web operations
Modern public services like those created by MOJ Digital are increasingly delivered as ‘software as a service’ and need cloud computing resources (infrastructure like RAM, CPU and an operating system) to run on.
They also need web operations: a service to ensure the software runs on the web and can be updated quickly.
Infrastructure and web operations are technically complex and time-consuming. They can take you away from developing nifty software for your users and bog you down in backroom maintenance and support work.
There are companies out there that provide the cloud computing and backroom support to allow you to build your own software. These are often known as platforms. One example is Heroku.
Platforms are ‘things that help you build things’, and that’s exactly what Heroku is: it’s an infrastructure and web operations platform that software companies can build on top of.
This allows software companies like If This Then That to focus on what they’re good at (building software) while getting someone else to handle the behind the scenes stuff that they don’t have the time or expertise to worry about.
Building our own cloud platform
My team was created in 2015 with responsibility for ‘things that help you build things’, ie platforms.
We found that infrastructure and web operations were the things most commonly needed by our digital services and could give us the biggest bang for our buck.
In the past, every new service at the MOJ had created its own infrastructure and web operations, something that GDS’s Chris Ferguson recently described as ‘building a kitchen every time you want a meal’.
We made the the decision to build a central platform offering a single solution to a common problem.
Our cloud platform offers infrastructure and web operations products and services (here’s the science bit – concentrate!):
|Continuous integration (Jenkins)||Automatic code testing and deployment|
|Deployment templates & server configuration scripts||Automatic provisioning of infrastructure as a service via public cloud hosting|
|Monitoring, logging and graphing (Sensu, ELK & Graphite)||Planned web operations support, including onboarding with MOJ Cloud Platform|
|Unplanned web operations support, Responding to incidents with live, digital by default services|
Why this matters
We’re already using our cloud platform for half of our new digital services at the moment, and are aiming for 60% by the summer.
Centralising infrastructure and web operations has already made services easier to maintain, as we only have to build things once, rather than multiple times. This also means we can provide a better quality and more consistent service and cut down on incidents affecting our products.
We’ve built the kitchen once, and we’re now using it to make savings and improve digital services for the whole of the department.
Want to know more?
We’d love to hear from you if you want to find out more about what we’re up to, or if you’re grappling with similar problems building and maintaining services.
If you’d like to know more about the platforms team and the services we can offer, email us on firstname.lastname@example.org.
We’re also hiring if you're interested in joining us.
Don't miss out on future blog posts: sign up for email alerts.