From Virtualization to Cloudification

As Network Functions Virtualization (NFV) matures and communication service providers (CSPs) seek the best ways to implement virtual network functions (VNFs), it’s important to draw a distinction between virtualization and cloudification. While virtualization is a huge advance for communication networks, cloudification goes farther to deliver more benefits for CSPs. Cloudification is what cloud native is all about.

virtualization-to-cloudification-blog-post.jpg

Virtualization was born out of a desire to consolidate individual servers running disparate applications onto fewer servers by implementing the apps on virtual machines (VMs) in a hypervisor environment. It has served IT networks well for the last 10 to 15 years and became the foundation for NFV in communications networks in 2012, when the industry initiative was launched to reduce the number physical, dedicated network appliances by implementing software-based network functions on commodity hardware. The broad goals of NFV are capex and opex savings, deployment flexibility and service agility.

Five years on, it is now clear that the only way to fully achieve the benefits of NFV is to go beyond virtualization and embrace cloud native methodologies. Right now, most vendors are still taking software from legacy appliances and running them in hypervisor environments. But what we really need is cloudification, which means deploying communications software that has been rewritten and specifically designed for cloud environments.

The Cloud Native Computing Foundation, a project within the Linux Foundation, defines cloud native systems as having the following properties: container packaged, dynamically managed and microservices oriented. The definition echoes Metaswitch’s approach to building cloud native communications software. Before the NFV initiative was launched, Metaswitch was designing its Clearwater virtual IP Multimedia Subsystem (vIMS) core network software based on cloud native principles.

The defining features of cloud native architectures are stateless processing, microservices, containers, open software and inherent orchestration.

Almost by definition, cloud native applications should run in containers, rather than VMs. Containers are a much lighter way of deploying multiple workloads on the same host operating system; they also use far less memory and start up more quickly than VMs. The advantages of containers, compared to VMs, significantly contribute to the efficiency gains promised by NFV. Cloud native apps don’t have to run in containers, but it’s much better if they do.   

Of course, containers on their own do not complete the cloudification picture. The VNFs themselves should be built using microservices methodologies to make the most of containers. Microservices is a type of software architecture that breaks down complex applications into smaller, independent processes that allow greater deployment flexibility and scaling out capabilities. It’s simply a better way to do software engineering, leading to a truly DevOps approach, and it is the design methodology of choice among Web-scale giants like Amazon, Facebook, Google or Netflix.

When Metaswitch began designing Clearwater virtualized IP Multimedia Subsystem (vIMS), we started with a blank slate and chose to use microservices to build a truly cloud native network function to be deployed in cloud environments, whether private, public or hybrid. As the rest of the industry catches up to cloud native design, one way to accelerate cloud native VNF implementations is to create a solid framework for writing microservices, with common languages and open development interfaces. A common microservices development architecture would be welcome signposts for CSPs and ensure best practices in software design as the they embark on cloud native NFV deployments.

Thanks to our early work on microservices and containers, Metaswitch has been involved with Proofs of Concept for containerized Voice over LTE (VoLTE) with Tier 1 mobile operators in Europe and in the U.S. Operators are interested in the potential of containers for NFV and are keen to understand how container orchestration meets the needs of VNF lifecycle management. So far, we have found that containers meet these requirements very well.

But a word of caution as more vendors jump on the cloud native bandwagon: If there really were as many cloud native apps on the market as vendor claims would indicate, then operators would have no problem finding products to test in their container PoCs. But the reality is that it has not been easy for operators to find suitable apps, because there are very few VNFs that can run in containers.

Metaswitch remains one of a very small number of VNF vendors with cloud native apps based on microservices that can be implemented in containers and with the know-how to help operators go beyond virtualization to adopt cloudification.