Why You Need to Modernize Your Media Supply Chain

The demand for direct-to-consumer services and media content is continuously growing, and with that, audiences are raising their expectations of media and entertainment companies. Agile and innovative companies, such as Netflix, YouTube, and Amazon Prime, have arguably created and continue to enable the current viewership trends.

These streaming services have disrupted the traditional media landscape by empowering audiences to watch any content wherever and whenever they want. To accommodate new audience behaviors, relevant media companies use technologies to support the modern-day digital media supply chain, which has become increasingly complex to manage.

However, legacy media companies have something that audiences still want: content. Most of these institutions have massive budgets for content production and enormous existing media libraries that have latent revenue potential. For example, legacy media brands own nostalgic cult classics, like “The Office,” that viewers will always want to watch, even though they have watched these episodes multiple times before.

As the volume of content consumption and demand increases, media organizations will find that a traditional media supply chain will constrain their ability to grow and meet customers in their preferred venues, despite owning a broad range of content that viewers want to watch. In order to keep up with audience demand, media companies will need to transform their media supply chains, so that they can distribute their media quickly and at scale, or they risk falling behind. Cloud technologies are the key to modernizing digital asset management, metadata models, quality control, and content delivery networks.

The Challenges of a Traditional Media Supply Chain

There are a lot of moving parts and behind-the-scenes work for media and entertainment businesses to push media assets to audiences. The media supply chain is the process used to create, manage, and deliver digital media from the point of origin (creator, content provider, content owner, etc.) to the destination (the audience.) For the right content and best experience to reach users on devices and platforms of their choice, digital media files must pass through various stages of processing and different workflows.

Media supply chain management is challenging and if there are inefficiencies within this  process, issues that will ultimately affect the bottom line will crop up. The following are top challenges of media supply chain management:

Decentralized Assets

The content wars are in full swing, and as a result, the media and entertainment industry has seen an influx of divestitures, mergers, and acquisitions. Organizations are accumulating as much content as possible by bolstering their media production with media acquisition, but as a result, content management has become more difficult. With more content comes more problems because this introduces more siloed third-party partners. As companies merge, the asset management system becomes decentralized, and media files and metadata are spread across different storage arrays in different datacenters that are managed by different MAMs with various metadata repositories.

Reliance on Manual Processes

Legacy media companies have been around much longer than modern technologies. As a result, some of these organizations still do many media production and distribution tasks manually, especially when it comes to generating, reviewing, and approving metadata. Metadata is essential for sorting, categorizing, routing, and archiving media content, as well as making the content accessible to a global, diverse audience. Using manual processes for these functions not only severely slows down a business, but they are also susceptible to human-error.

Quality of Media Assets

Today, consumers have the latest technology (4K TVs, surround sound systems, etc.), which requires the highest quality version of content sources. With dispersed content libraries and team, working derivative edits to meet localization and licensing requirements and locating native frame rate masters can be a challenging and time-consuming problem to tackle.

Benefits of Using Cloud Technology to Modernize the Media Supply Chain

Cloud-based technologies can help manage and resolve the issues typically encountered in a media supply chain. If media organizations do not utilize cloud solutions to modernize their supply chain, they risk being less agile to meet global audience demand, incurring higher costs to deliver media, and eroding viewership.

Legacy media brands are recognizing the consequences of not adopting modern technology to support their media supply chains, and recently, we’ve seen established media corporations partnering with cloud service providers to undertake a digital transformation. A recent and newsworthy example of this is the MGM and AWS partnership. MGM owns a deep library of film and television content, and by leveraging AWS, MGM is able to distribute this content with flexibility, scalability, reliability, and security to their audiences. AWS offers services and tools to modernize MGM’s media supply chain to be able to distribute content across multiple platforms quickly and at scale.

Businesses don’t need to strike historic deals with cloud service providers to receive the same benefits. By transforming into a cloud-based framework, any media company can reap the following major benefits of modernizing their media supply chain:

Scale and Agility

This point cannot be repeated enough because, again, customer media consumption is rapidly increasing, and businesses must find a way to meet those demands in order to retain customers and remain competitive. With cloud computing, the media supply chain is no longer limited to the capacity of on-premise data centers or the capital expenditure budget that was forecasted a year earlier. Using cloud technology allows organizations to be dynamic and flexible to adjust for growing demand. Businesses can easily scale services up (or even down) based on audience demands by simply adding (or removing) more cloud resources, which is easier and more forgiving than having to add more infrastructure or being stuck with wasted databases.

Cost Effective

Cloud services employ pay-as-you-go billing, which allows companies to pay for what they use rather than paying a fixed cost that may not fit their needs later on down the road. Most importantly, using the cloud removes the maintenance and operational costs associated with  maintaining data center footprints. The costs of server hardware, power consumption, and space for traditional data centers can really add up, especially because these costs are inflexible based on actual consumption. Utilizing cloud technology provides flexibility in billing and trims down maintenance costs.

Automation and Efficiency

Cloud services offer tools that can handle abstract operational complexities, like metadata management, that were historically done manually. These automation and AI features can dramatically reduce the need to manually generate this metadata because it implements machine learning and video, audio, and image recognition to largely automate the generation, review, and approval of metadata. Harnessing the power of automation frees up teams’ resources and time and redirects that energy on impactful, business-differentiating activities.

Data-Driven Decisions

Large audiences also means large amounts of data. Massive volumes of both structured and unstructured data requires increased processing power, storage, and more. Cloud computing has the scalable infrastructure to rapidly manage huge spikes of real time traffic or usage. Moreover, cloud service providers offer a variety of analytic tools that enable extract, transform, and loading of enormous datasets to provide meaningful insights quickly. Media companies can harness this data to improve user experiences and optimize supply chains, all of which greatly affects their bottom line.

How do I Get Started in my Media Supply Chain Transformation?

The process is less daunting than you think, and there are experienced cloud advisors and consulting firms who can point you in the right direction. At 2nd Watch, we embrace your unique modernization journey to help transform and modernize your business and achieve true business growth through cloud adoption. To learn more about our media cloud services, visit our Media and Entertainment page or talk to someone directly through our Contact Us page.


Standardizing & Automating Infrastructure Development Processes

Introduction

Let’s start with a small look at the current landscape of technology and how we arrived here. There aren’t very many areas of tech that have not been, or are not currently, in a state of fluctuation. Everything from software delivery vehicles and development practices, to infrastructure creation has experienced some degree of transformation over the past several years. From VMs to Containers, it seems like almost every day the technology tool belt grows a little bigger, and our world gets a little better (though perhaps more complex) due to these advancements. For me, this was incredibly apparent when I began to delve into configuration management which later evolved into what we now call “infrastructure as code”.

The transformation of the development process began with simple systems that we once used to manage a few machines (like bash scripts or Makefiles) which then morphed into more complex systems (CF Engine, Puppet, and Chef) to manage thousands of systems. As configuration management software became more mature, engineers and developers began leaning on them to do more things. With the advent of hypervisors and the rise of virtual machines, it was only a short time before hardware requests changed to API requests and thus the birth of infrastructure as a service (IaaS). With all the new capabilities and options in this brave new world, we once again started to lean on our configuration management systems—this time for provisioning, and not just convergence.

Provisioning & Convergence

I mentioned two terms that I want to clarify; provisioning and convergence. Say you were a car manufacturer and you wanted to make a car. Provisioning would be the step in which you request the raw materials to make the parts for your automobile. This is where we would use tools like Terraform, CloudFormation, or Heat. Whereas convergence is the assembly line by which we check each part and assemble the final product (utilizing config management software).

By and large, the former tends to be declarative with little in the way of conditionals or logic, while the latter is designed to be robust and malleable software that supports all the systems we run and plan on running. This is the frame for the remainder of what we are going to talk about.

By separating the concerns of our systems, we can create a clear delineation of the purpose for each tool so we don’t feel like we are trying to jam everything into an interface that doesn’t have the most support for our platform or more importantly our users. The remainder of this post will be directed towards the provisioning aspect of configuration management.

Standards and Standardization

These are two different things in my mind. Standardization is extremely prescriptive and can often seem particularly oppressive to professional knowledge workers, such as engineers or developers. It can be seen as taking the innovation away from the job. Whereas standards provide boundaries, frame the problem, and allow for innovative ways of approaching solutions. I am not saying standardization in some areas is entirely bad, but we should let the people who do the work have the opportunity to grow and innovate in their own way with guidance. The topic of standards and standardization is part of a larger conversation about culture and change. We intend to follow up with a series of blog articles relating to organizational change in the era of the public cloud in the coming weeks.

So, let’s say that we make a standard for our new EC2 instances running Ubuntu. We’ll say that all instances must be running the la official Canonical Ubuntu 14.04 AMI and must have these three tags; Owner, Environment, and Application. How can we enforce that in development of our infrastructure? On AWS, we can create AWS Config Rules, but that is reactive and requires ad-hoc remediation. What we really want is a more prescriptive approach bringing our standards closer to the development pipeline. One of the ways I like to solve this issue is by creating an abstraction. Say we have a terraform template that looks like this:

# Create a new instance of the la Ubuntu 14.04 on an
provider "aws" { region = "us-west-2"
}

data "aws_ami" "ubuntu" { most_recent = true

filter {
name	= "name" values =
["ubuntu/images/hvm-ssd/ubuntu-trusty-1 4.04-amd64-server-*"]
}

filter {
name	= "virtualization-type" values = ["hvm"]
}

owners = ["099720109477"] # Canonical
}

resource "aws_instance" "web" { ami	=
"${data.aws_ami.ubuntu.id}" instance_type = "t2.micro"

tags {
Owner	= "DevOps Ninja" Environment = "Dev" Application = "Web01"
}
}

This would meet the standard that we have set forth, but we are relying on the developer or engineer to adhere to that standard. What if we enforce this standard by codifying it in an abstraction? Let’s take that existing template and turn it into a terraform module instead.

Module

# Create a new instance of the la Ubuntu 14.04 on an

variable "aws_region" {} variable "ec2_owner" {} variable "ec2_env" 
{} variable "ec2_app" {}
variable "ec2_instance_type" {}

provider "aws" {
region = "${var.aws_region}"
}

data "aws_ami" "ubuntu" { most_recent = true

filter {
name	= "name" values =
["ubuntu/images/hvm-ssd/ubuntu-trusty-1 4.04-amd64-server-*"]
}

filter {
name	= "virtualization-type" values = ["hvm"]
}

owners = ["099720109477"] # Canonical
}

resource "aws_instance" "web" { ami	=
"${data.aws_ami.ubuntu.id}" instance_type =
"${var.ec2_instance_type}"

tags {
Owner	= "${var.ec2_owner}" Environment = "${var.ec2_env}" Application = 
"${var.ec2_app}"
}
}

Now we can have our developers and engineers leverage our tf_ubuntu_ec2_instance module.

New Terraform Plan

module "Web01" { source =
"git::ssh://git@github.com/SomeOrg/tf_u buntu_ec2_instance"

aws_region = "us-west-2" ec2_owner = "DevOps Ninja" ec2_env	= "Dev"
ec2_app	= "Web01"
}

This doesn’t enforce the usage of the module, but it does create an abstraction that provides an easy way to maintain standards without a ton of overhead, it also provides an example for further creation of modules that enforce these particular standards.

This leads us into another method of implementing standards but becomes more prescriptive and falls into the category of standardization (eek!). One of the most underutilized services in the AWS product stable has to be Service Catalog.

AWS Service Catalog allows organizations to create and manage catalogs of IT services that are approved for use on AWS. These IT services can include everything from virtual machine images, servers, software, and databases to complete multi-tier application architectures. AWS Service Catalog allows you to centrally manage commonly deployed IT services, and helps you achieve consistent governance and meet your compliance requirements, while enabling users to quickly deploy only the approved IT services they need.

The Interface

Once we have a few of these projects in place (e.g. a service catalog or a repo full of composable modules for infrastructure that meet our standards) how do we serve them out? How you spur adoption of these tools and how they are consumed can be very different depending on your organization structure. We don’t want to upset workflow and how work gets done, we just want it to go faster and be more reliable. This is what we talk about when we mention the interface. Whichever way work flows in, we should supplement it with some type of software or automation to link those pieces of work together. Here are a few examples of how this might look (depending on your organization):

1.) Central IT Managed Provisioning

If you have an organization that manages requests for infrastructure, having this new shift in paradigm might seem daunting. The interface in this case is the ticketing system. This is where we would create an integration with our ticketing software to automatically pull the correct project from service catalog or module repo based on some criteria in the ticket. The interface doesn’t change but is instead supplemented by some automation to answer these requests, saving time and providing faster delivery of service.

2.) Full Stack Engineers

If you have engineers that develop software and the infrastructure that runs their applications this is the easiest scenario to address in some regards and the hardest in others. Your interface might be a build server, or it could simply be the adoption of an internal open source model where each team develops modules and shares them in a common place, constantly trying to save time and not re-invent the wheel.

Supplementing with software or automation can be done in a ton of ways. Check out an example Kelsey Hightower wrote using Jira.

“A complex system that works is invariably found to have evolved from a simple system that worked. A complex system designed from scratch never works and cannot be patched up to make it work. You have to start over with a working simple system.” – John Gall

All good automation starts out with a manual and well-defined process. Standardizing & automating infrastructure development processes begins with understanding how our internal teams can be best organized.  This allows us to efficiently perform work before we can begin automating. Work with your teammates to create a value stream map to understand the process entirely before doing anything towards the efforts of automating a workflow.

With 2nd Watch designs and automation you can deploy quicker, learn faster and modify as needed with Continuous Integration / Continuous Deployment (CI/CD). Our Workload Solutions transform on-premises workloads to digital solutions in the public cloud with next generation products and services.  To accelerate your infrastructure development so that you can deploy faster, learn more often and adapt to customer requirements more effectively, speak with a 2nd Watch cloud deployment expert today.

– Lars Cromley, Director of Engineering, Automation, 2nd Watch