Every few years, often on the eve of a major trade show, the media & entertainment industry is set abuzz by some new innovation or technology breakthrough. Just a couple of years ago, an IT invasion swept through the industry, setting off a torrent of tongue wagging and a mad scramble to get up to speed on IP technology, cloud computing and software-defined networking. This time around, it looks like microservices and Cloud-Native are on the lips of nearly everyone who makes a living from the production and consumption of video content.
Imagine Communications is knee-deep in microservices, but we recognize that many of you are fairly new to microservices and why they will have such a big impact on the future of the industry. With that in mind, we thought it made sense to provide the community with a sort of clearinghouse for all things microservices. Consider this blog, which contains links to a treasure trove of educational information and background materials, a crash course on microservices design and the benefits of building Cloud-Native applications.
Though new to the industry, microservices design has been around for decades and is part and parcel of the IT industry’s efforts to overhaul the monolithic nature of application development. Microservices are closely aligned with the Internet model of software development and the so-called app economy, where services are continuously upgraded and enhanced with little or no disruptions to end users. Large enterprises, many of them recognizing the need to infuse their monolithic applications with the same agility, flexibility and openness of Internet applications (as well as talk to those applications), have been moving development and operations toward a microservices model for several years.
An important repository of information about microservices and their role in the evolution of enterprise software development is hosted by James Lewis and Martin Fowler, who provide this definition:
In short, the microservice architectural style is an approach to developing a single application as a suite of small services, each running in its own process and communicating with lightweight mechanisms, often an HTTP resource API. These services are built around business capabilities and independently deployable by fully automated deployment machinery. There is a bare minimum of centralized management of these services, which may be written in different programming languages and use different data storage technologies.
At this point, you might be asking yourself, “Why all the fuss? Why do microservices matter to the broadcast industry?” Good questions. What we’re talking about, after all, is the building blocks of software used by enterprises and Internet-based businesses. But as this white paper on the importance of microservices to the media industry points outs, the inevitable migration of media operations — even the most demanding ones — to fully virtualized, IP-based environments running on commercial off-the-shelf (COTS) platforms means that microservices will play a prominent role in the future of media companies that wish to fully exploit the capabilities of this new technology foundation.
It only makes sense that as media companies begin to migrate their operations from purpose-built hardware to the IP-based common computing platforms that power both enterprises and the Internet, the software underlying their media operations, such as playout, encoding and monitoring, must be designed to fully tap into the digital economy. Building a business on top of a technology foundation that does not support the full exploitation of the digital realm, including rapid innovation and isolated troubleshooting, is tantamount to entering a boxing ring with one hand tied behind your back.
That point is expounded on in a recent webinar on the value of adopting a microservices design architecture. The Webinar, What are Microservices—and Why do they Matter, provides an introduction to the world of microservices, while at the same providing practical examples of how microservices are used by broadcast engineers and other media industry professionals to expand the capabilities of their operations and protect their businesses against technology obsolescence. Here’s a sampling of some of the information on the role of microservices in the broadcast domain provided by webinar presenter and microservices subject matter expert Darren Gallipeau:
I think the easiest way to think about the potential of microservices is to consider every part of the broadcast network today running as an independent software process, and each piece of underlying shared technology or components as further examples of microservices.
Microservices design is also closely associated with the term Cloud-Native, which describes an application that has been designed from scratch to fully exploit the capabilities of a virtualized environment, including cloud-based orchestration and automation, elastic resources and iron-clad reliability associated with geo-dispersed environments. Here’s a blog that concentrates on helping media professionals discern the differences between Cloud-Native and merely Cloud-Enabled, and the limitations of the latter.
Expanding on that topic is this The Broadcast Bridge article bylined by Imagine Communications CMO Glodina Lostanlen, who provides a three-question test for determining if your technology supplier has embraced a microservices-based approach to software development. Given all the hype around microservices lately, Lostanlen cites as critical the need to determine if your technology supplier is deeply invested in microservices-based design or merely jumping on the latest bandwagon:
Designing and developing cloud-native applications doesn’t happen overnight and an authentic cloud-native application is likely the result of years of extensive research and development. Unless there is strong evidence that a technology supplier has been walking down the software-enabled, IP-based road for at least a couple of years, then it’s very unlikely that it’s made it far enough along the path to have completed a significant shift to the cloud.
As you dig deeper into microservices, you’ll soon understand why the term represents an oxymoron of sorts. But don’t let the name fool you. Microservices are a big deal.