Written by
Published on 13 May 2020

Sticking to the script: how Infrastructure as Code maximises the benefits of the cloud

By: Ian Redgewell, Head of Media Management, Globecast

It’s actually quite rare that a new technology is developed that genuinely disrupts an industry. We strongly believe that Infrastructure as Code (IaC) is such a technology – as much a way of thinking and working as an actual technology – and will transform the way we use the cloud.

Yes, we know, we’ve all read countless articles and had many conversations about using the cloud, the much-touted benefits and the fact that this is the way the industry’s heading. Globecast has worked with a portfolio of clients over the past two years or more on a range of cloud services; not least using cloud playout for the launch of Virgin’s TV Ultra HD channel in the UK in the autumn of 2018. And we have more on our pipeline, news of which soon.

Taking media management and playout as the core examples, there can be significant benefits – OPEX not CAPEX, time-to-market, the ability to spin up services very quickly and take them down too – and so on. But as an industry we haven’t reached the tipping point yet of complete cloud use domination. It’s still very much a case-by-case basis and may well be that certain parts of a given service deployment are cloud based while for other parts it doesn’t yet make technological or financial sense. But that’s set to change.

What is Infrastructure as Code?

IaC is the process of creating and managing cloud-based technologies using scripts – hence code – to do so. The script is then “read”, or accepted, by systems like AWS’ CloudFormation or the cloud-agnostic solution from Terraform. The systems created using IaC can be as simple or as complex as required, i.e. entirely cloud-based complex playout infrastructure can be generated far more quickly and cost-effectively via this method.

Let’s compare

Stepping back, let’s say the cloud doesn’t exist and we’re deploying a big service for a customer. Firstly, we need to make sure that we have the racks free, we need to it cabled up to the correct spec; we need to get the equipment delivered, get it racked up, configured and we need to get the software installed. Then there’s the creation of the user accounts and permissions. All of that involves a lot of people and a lot of time.

Even in the cloud, if we were to deploy the same system manually, while the process is undoubtedly simplified over the above for obvious and much discussed reasons, and with the aforementioned benefits in many scenarios, there’s still a huge amount of work to do. As explained above, using the cloud doesn’t necessarily provide catch-all benefits at this juncture. Having said that, we’re pushing forward with major projects where it now makes complete sense to do so.

Take the same project of deploying a platform for someone but this time using IaC. Via this methodology, everything that needs to happen – the 50 servers required, the software needed to run on those servers, the network, all the IP addresses, the user accounts, the security permissions – all of these can be written into a single document using the correct code.

We can then feed that into one of the aforementioned IaC engines and press the “go” button and within five minutes the entire facility is online – the network, the servers, everything, configured and running based on that code.

IaC: Far more than only cost reduction

We’re not only talking about cost reduction, but speed too. By having it as a single script that we’ve written and then pressing one button, we can deploy the entire thing in minutes and then shut it all down and then deploy it all again in minutes when required. We then essentially have a “cookie cutter” to deploy an entire facility’s worth of technology very quickly.

At the same time, if we discover we’ve typed in something incorrectly – we’ve misconfigured an address, or there’s a security change and we need to patch things – rather than logging in, finding it and fixing it, we can change the code. That then implements the fix, or amends the typo, and the deployment systems that handle IaC will look at what’s online, compare that to the update and will apply it all for us automatically. These systems are clever enough to look at what we’ve deployed, based on the initial script, look at the delta (the difference between the original and update) and update the entire platform.

Yes, of course it takes some time to make the “cookie cutter” and it requires a deep understanding of playout (in this example), of which we have vast experience. With that accepted, alongside the fact there’s some upfront investment, the benefits are there to be reaped.

Take sports tournaments as a prime example. We handle major sporting events every year and are renowned for this. To have a script that allows us to deploy a whole platform in minutes is genuinely amazing.

We see IaC as being critical to the growing use of the cloud in the long term. This is the way to do it as we move forward. The speed-to-market advantage is huge, as is the cost saving. And the ability to re-use it is a major step forward. We’re talking about the deployment of very complex systems, maintaining them and making changes easily and redeploying at will. To find out how this can benefit your business, get in touch and we’ll very happily talk through the possibilities with you.