For some, the cloud seems like a frightening abyss where assets threaten to become irretrievably lost. In the first of a two-part feature, Ian Fletcher, CTO of automation and playout at Miranda, takes the mystery out of cloud computing with some basics for broadcasters.
Cloud computing really does offer enormous potential benefits to broadcasters, but there’s huge scope for confusion too. The Cloud is a difficult thing to define, to grasp and to pin down. Before you can profit from it as a broadcaster, you need to be sure you understand what it is, and what it isn’t.
Fundamentally, ‘cloud computing’ is a term meaning a form of distributed computing involving a large number of computers linked through a realtime network. But there are many different forms, some more useful to the broadcaster than others. There are many different models of cloud computing, including private clouds, public clouds, community clouds, hybrid clouds, distributed clouds…
One thing that’s easy to understand about cloud computing is the promise that a high-CAPEX model can be replaced with one that is more based on OPEX and the ability to scale expenditure more directly to revenue. How is this achieved? In an effort to locate some hard edges in the cloud, let’s start with a few important acronyms: IaaS, PaaS, and SaaS.
Cloud computing, of course, does require computers. They reside not in your broadcast facility, but in a data centre run by a specialist provider, and instead of buying the computing resource, you rent space on it. This is called IaaS – Infrastructure as a Service. PaaS (Platform as a Service) is a little more complicated, and it’s a key area where confusion is generated by people using terminology loosely when claiming to offer cloud solutions.
Virtualisation and the cloud
Over recent years as computer technology has become more powerful, it has become possible to change the one-to-one relationship between a computer and its OS (operating system). A high-specification computer can now run many different ‘virtual machines’ – either as more than one different OS, or different instances of the same OS – to serve a number of clients. Each user experiences this as being logged onto a server in a way that seems like a one-to-one user-computer relationship, but in fact the user is only exploiting a portion of the resources of that piece of hardware. This is called virtualisation. Virtualisation enables IT departments to become more efficient with their hardware: they can dynamically allocate resources if there’s a problem with a machine or if more performance is needed, and this can take place locally within an organisation. With the cloud, this kind of virtualisation can be implemented on a larger scale: the data centre can spin up any number of virtual machines to order and to the customer’s specification (how much RAM, how many processor cores, and so on). The data centre can move these VMs around to suit the customer requirements and their own, without interrupting the service.
But that’s virtualisation – not true cloud computing. And it doesn’t deliver the full, revolutionary potential of cloud computing for broadcasters. To do that, the software for a cloud computing solution has to be developed from the ground up to take advantage of a distributed architecture. And to run this kind of software, you need to run it on a PaaS.
PaaS and SaaS
PaaS bears superficial similarities to virtualisation but is subtly different – and the difference is the key to unlocking the real power of cloud computing. PaaS will allow you to create virtual machines and software nodes, but it also provides other infrastructure and capabilities which include big data functionality, messaging, storage, and queues. Using PaaS enables the software developer to design software in a different way, building in dynamic scaling to meet the demand of large numbers of users running the application.
Virtualisation is fine up to a point. You can operate a TV channel using an automation product running on a virtual machine deployed in a cloud, provided there is enough network bandwidth and sufficiently well-designed communication mechanisms. But if you then want to run another channel or group of channels you would need another VM or group of VMs. So you could quickly end up running 20-30 channels on 20-30 VMs. This is not an efficient use of the resources, and it’s costly and cumbersome.
A true cloud computing multi-tenancy architecture takes a different approach. It provides SaaS (Software as a Service – the applications you use) that takes full advantage of the host PaaS in order to service the demands of very large numbers of customers without a linear relationship between the number of VMs and customers. The software dynamically uses the available resources, spinning up more hardware whenever necessary. To run 100 customers you no longer need 100 VMs. The resource savings are sizeable and these efficiencies can be passed on to the customer.
Data centres: a very different animal
Broadcasters can be a cautious lot – and for good reason. The idea of entrusting critical functionality to a facility outside the walls of a dedicated broadcast centre goes against the grain for most of us. The response of many when they see the advantages of cloud computing is to ask: why don’t we keep control by building our own data centre and operating a cloud from there?
You only have to look at the data centres run by the major providers like Amazon, Microsoft, and Rackspace to see why it’s not feasible to try making one yourself. The scale is vast: in Microsoft’s Chicago data centre blocks of up to 3000 servers are housed in shipping containers within the building and there can be up to 150 of these containers. That’s nearly half a million servers. These containerised server blocks can be wheeled in and out quickly for maintenance or to adapt the capacity to demand.
But the sheer numbers of servers in a data centre doesn’t tell the whole story: around them there is a massive envelope of specialist network hardware that handles traffic and hardware load balancing – infrastructure that goes far beyond what could be implemented in a local facility. It’s this hardware that dynamically farms out traffic between the web servers to meet demand, and makes it possible for high-traffic sites like Facebook and Amazon to cope serenely with the load from hundreds of thousands of concurrent users. These facilities go way beyond what would be practical for a broadcaster to build locally: apart from the inconceivable amount of processing power offered by computing on this scale, there is also the reliability inherent in having so much hardware with load-balancing to compensate if a server fails.
In our industry we tend to think that the technical demands of broadcasting are exceptional, and skepticism about the limitations of computers is common. If you are still thinking of your office email system or your home computer as the measure of what computers are capable of today, you have to realise that data centre computing is a very different animal. The massive power and redundancy transforms everything – and data centres are perfectly capable of handling critical tasks within the kind of speed and performance parameters broadcasters demand.
True cloud computing?
But let’s sound a note of caution here. When looking at potential broadcast uses for the cloud, it’s vital to understand what the cloud is capable of in a broadcast context, what you need from it as a broadcaster, and how to accurately interpret the pitch of vendors who claim to have cloud solutions of various types. Are they really talking about virtualisation, or are they offering a true cloud computing solution?
To design software that takes full advantage of the cloud a vendor has to start again from scratch, and in terms of automation that means re-thinking what automation is, how you go about it, which parts of the operation should run in the cloud, and which parts should be kept on your broadcast site…
I’ll start from that point in Part Two, in TVBEurope’s March issue.