Introduction
As a software provider, Broadpeak relies on some specific infrastructure and hardware components in order to achieve the performance expected in the streaming industry. Video streaming services must provide high performance, low latency, and an outstanding quality of experience (QoE) for the final customer.
The initial architecture, based on bare-metal software, still remains a valid option in the industry. On-premises infrastructure is also an option. For all the ISPs, the network is still a managed service with its set of metrics and capacity.
The evolution is happening in two steps:
- Step 1: Virtualization, where the applications are moved from COTS hardware to a farm of dedicated resources, and the virtualized environment is driven by a hypervisor. From an architecture point of view, dealing with virtual machines in a private cloud (owned by the operator) or on a public cloud (hosted by an external cloud provider) proposes the same level of modularity and savings at the operational level.
- Step 2: Containerization is the last step of the current software transformation of the monolithic applications into microservices or at least modules that have their own lifecycle, redundancy, and scalability.
The cloud offers several key benefits for our industry:
- New ways to consume infrastructure
- New ways to deliver solutions
- New ways to provide solutions, including managed services and SaaS offerings
Architecture should be based on use cases and workloads to be run on the cloud and maturity of the customer. Not all the applications fit best with a cloud deployment, and Broadpeak can help customers make the best choice.
Specific use cases and workloads are more appropriate for a cloud deployment based on infrastructure metrics and specific KPIs related to streaming industry QoE.
Not all of the video streaming use cases have adopted cloud. Different customer sectors might be best addressed using different consumption models based on cloud capacities.
The Shift to Cloud-Based IT
Virtualized private and public cloud deployments are quite similar at the application layer but at the infrastructure layer there are structural differences that could lead to a specific choice mainly based on costs and reliability.
Virtualization over private cloud offers all the advantages of bare-metal solutions, along with certain disadvantages:
- Infrastructure control. When an organization owns the hardware it has total control over where those components live, how they run, and who can access them.
- Costs. Long-term costs for on-premises infrastructure can be seen as lower for applications with predictable usage patterns. Once organizations buy the hardware, the only ongoing costs are power and maintenance.
- Security. With on-premises infrastructure, security is under the IT team’s complete control.
- Efficiency. On-premises systems can present advantages in performance, as all the resources seem to be under control.
But, bare–metal deployment also has some specific drawbacks that should be taken into account:
- Reliability. A company’s infrastructure is only as reliable as its maintenance.
- Scalability. A fixed set of on-premises servers represents fixed resource capacity. When an organization needs more resources, its only option is to buy more servers.
- Costs. When the demand of resources at a time increases, then the organization purchases more servers, with the risk that additional capacity may be underutilized.
- Maintenance. The organization is responsible for its own on-premises hardware, and maintenance requirements never go away.
- Skills. On-premises infrastructure requires traditional IT skills, including hardware and software systems administration, networking, database management and security.
Every project and use case is unique but some infrastructure patterns can be reused between each solution. Customers can leverage Broadpeak’s expertise to define the most effective infrastructure service to deploy, based on their own technical, economical, and operational constraints.
Next Step: Containerization is the last stage of the transformation, as it brings scalability and elasticity on top of the private cloud based on the CaaS model.
Figure 1. Software transformation
At Broadpeak we see this transformation happening based on nine pillars defining an ideal system.
Figure 2. Requirements of an ideal system
Based on the expected benefits and how important they are in meeting technical or financial goals, different choices can be made relative to the target architecture and the deployment environment (i.e., public or private cloud, VM or containers).
Benefits of Virtualization and Containerization
Many content delivery vendors are deploying software solutions in their private clouds to increase flexibility and agility. With cloud technologies, operators can deliver new services and applications with greater speed and efficiency. There is also a surplus of additional benefits from deploying virtual machines and adopting a containerized approach to video delivery, described in more detail below.
- Cost savings: Reduced capex and opex is a primary advantage of virtualization and containerization. Transitioning to virtual machines, operators only need to maintain and manage a single IT infrastructure. They have a farm of identical servers at negotiated prices. With containerization, operators have access to compute resources, no matter what hardware they are using. Capex is reduced since there is no upfront investment in hardware, and operators can pay as they grow. Automated elementary processes are handled by the framework components.
- Scalability: Virtualization offers a set of physical resources as a cluster of disposable virtual machines. Adding new virtual machines in the system to increase capacity allows operators to easily scale up. Containerization takes scalability to the next level by providing built-in vertical and horizontal scalability for independent modules or microservices.
- Robustness: Virtual machines are deployed in isolation and can be moved between physical hosts to ensure high robustness. For containerized applications and services, a control plane monitors the state of every pod and worker node, offering built-in redundancy processes.
- High performance: Performance is critical for video delivery. Containers can be booted up in seconds and guarantee a predictable performance, thanks to their isolated design.
- Easy upgrades: Migrations and updates are easy with containerized deployments. Containers enable fast elementary upgrades and simple roll-back, if needed.
- Simplified operation: Virtualization supports mutualized procedures for batch deployment, streamlining video delivery operations. A key advantage of containers is that they are a lightweight technology that is easy to manipulate. Operators can use container technology to package and deploy applications, and the granularity of the packages allows for continuous delivery and seamless integration with third-party solutions.
- Security: Virtual machines and containers are both secure. Virtual machines offer dedicated storage and isolation, ensuring information from one application cannot be freely accessed by another application. Containers provide role-based access control, enforced isolation policies, and a patch management pipeline to maintain high security.
A shift to public cloud infrastructure is often a possibility but it requires analyzing a few potential issues:
- Lack of control over reliability. Handing over control to a cloud provider also means relinquishing control over reliability. Cloud providers boast impressive uptime, but services occasionally go down.
- Complexity. Cloud providers frequently expand their service portfolios.
- Efficiency. Application infrastructure that isn’t designed for the cloud may not perform optimally. This is also the purpose of the adequate transformation.
- Lock-in. The more a company uses cloud-based infrastructure from a specific provider, the greater the risk of vendor lock-in.
- Cost management. If organizations aren’t careful, they might inadvertently use more cloud services than planned.
Regarding cost management aspects, the cloud infrastructure introduces new ways of consuming resources via IaaS, CaaS, PaaS and SaaS business models, combined with a mode of consumption based on demand.
Figure 3. An overview of cloud-based business models
- Infrastructure as a Service (IaaS): It provides only the nominal infrastructure (virtual machine, software-defined network, storage attached). End users have to configure and manage the platform and environment, as well as deploy applications on it.
- Container as a Service (CaaS): This model is a form of container-based virtualization in which the container engines, orchestration, and the underlying compute resources are delivered to users as a service from a cloud provider. Google Container Engine(GKE), AWS (ECS), Azure (ACS) and Pivotal (PKS) are some examples of CaaS.
- Platform as a Service (PaaS): This option provides a platform that allows end users to develop, run, and manage applications without the complexity of building and maintaining the infrastructure.
- Software as a Service (SaaS): SaaS is sometimes called to as “on-demand software.” It is typically accessed by users through a thin client via a web browser. In SaaS everything can be managed by vendors: applications, runtime, data, middleware, OSes, virtualization, servers, storage and networking. End users have to use it.
- Function as a Service (FaaS): FaaS provides a platform for customers to develop, run, and manage application functionalities on without the complexity of building and maintaining the infrastructure. AWS (Lamda), Google Cloud Function are some examples of FaaS.
The Pragmatic Transformation and Cloud-Ready Portfolio
To optimize the usage of the infrastructure, Broadpeak has decided to follow a pragmatic approach in how we address this transformation.
Our solutions are based on the various products in our portfolio. In order to deliver cloud-ready systems, this pragmatic transformation has been positioned on two steps. The first one consists of packaging the software that used to be deployed on bare metal as a virtual machine or a container with adequate resource allocation. This allows the customer to profit from the operational benefits, including the possibility of accessing a set of sizing different from the bare-metal approach in order to fit in the cloud scheme.
The second step of our strategy involves defining a module split inside each product. The module definition always corresponds to a scalability need, which means that:
- the modules that require scalability are isolated into one module (it could be a VM a PoD or a microservice depending on the environment)
- the modules that are in an A/S mode can be grouped together in order to ease the transformation and facilitate any deployment
Broadpeak’s main concept today is to deploy a partial microservices containerization or modularization approach for video delivery that does not require re-architecting software solutions already working efficiently. This approach offers full redundancy, along with increased operational efficiency, elasticity, and ease of transformation for video delivery now and in the future.
One Solution: Hybrid Cloud Deployment
A hybrid cloud is a cloud computing environment that can use a mix of on-premises, private cloud, and third-party public cloud services depending on where the workload fits the best. This involves a connection from an on-premises data center to a public cloud, including edge devices or other clouds.
At Broadpeak, in order to optimize the resource consumption and the different models, we align the hybridization with data or user plane and the control plane hosting.
Figure 4. Hybrid deployments
The benefits of a hybrid deployment include:
- Flexibility. Companies work with various types of data in disparate environments and adjust their infrastructure.
- Cost management. With a private cloud, organizations own and operate the data center infrastructure, which requires significant capital expenses and fixed costs. Alternatively, public cloud resources and services are accounted as variable and operational expenses. Hybrid cloud users can choose to run workloads in whichever environment is more cost-effective.
- Agility and scalability. Hybrid cloud offers more resource options via a public cloud provider vs. an organization’s physical data center. This makes it easier to provision, deploy, and scale resources to meet demand spikes.
- Resiliency and interoperability. A business can run workloads redundantly in both private and public environments. Components of one workload can also run in both environments and interoperate. There is also an opportunity to support a disaster recovery scenario.
Hybrid cloud networking
A strong network connection is critical to a successful hybrid cloud strategy. Typically, this involves a dedicated networking service for additional security.
Conclusion
Video delivery is evolving. As operators transition away from using traditional hardware infrastructure in favor of cloud-based virtual machines or containers, they need to be pragmatic about how to exploit these new frameworks.
As a software company, Broadpeak is cloud ready and multi-cloud ready. Broadpeak is addressing the different levels of the software transformation and delivering solutions on multiple different environments, including application, virtual machine, and container.
Based on this experience Broadpeak is well-equipped to address various technological fields of the infrastructure and advise customers of the best approach, taking into account all of the various parameters (i.e., costs, security) and analysis. This contributes toward making Broadpeak a leading partner for major actors in the video streaming industry.