We have seen what virtualization revolutionized the complete IT infrastructure and enabled major tech vendors to offer diverse IT based services to consumers. System level virtualization allows multiple instances of OS on single server on top of hypervisor. Hypervisor utilizes general purpose hardware in such a way that multiple applications can get deployed on same hardware. In order to service multiple VMs, hypervisor needs huge amount of processing power of hardware resources which leads to reduction in virtualization benefits. Containers are isolated from each other and share OS kernel among all containers.
Microservices is yet another important architecture style of software applications, mainly focused towards cloud native deployment to achieve agility and continuous delivery, where-in application is collection of loosely coupled stateless services. Commonly, microservices are deployed within containers and enables continuous delivery/deployment of large complex IT application. Each of the microservices can be deployed, scaled, upgraded & re-instantiated independently apart from other services in application. Reusability and self-management of processes within microservices allows frequent updates to main application, resiliency of application and enable automation capabilities through well-defined intercommunication APIs. With the power of microservices approach, many tech giants and enterprises are considering migrating towards cloud native infrastructure to achieve high degree of automation in product releases & upgrades for new features which further reduces time to market.
Microservices expand capabilities of containers when additional resources are required on run time. With microservices based containers, additional resources are added or removed in automated way allowing improvement of resource utilization in an IT environment.
Enterprise Use cases of containers
Containers are widely used in every industry sectors where there was need to optimize hardware resources for running multiple applications and improve flexibility and productivity. Some of the prominent use cases in enterprise are as below
- The Coca-Cola Company (TCCC) moved to cloud first approach from on-premises. With new cloud native approach, they deployed their applications in microservices architecture. ref
- WayBlazer, world’s first cognitive recommendation engine focused on delivering artificial intelligence to the travel industry, implemented ref
- A big data company BlueData is deploying and running big data application like Hadoop and Spark on containers. Kubernetes is used as orchestration engine.ref
- Florida Department of Transportation integrated CA APM (CA Technologies Application Performance Management) platform to monitor and successfully gained 360 degree visibility into their apps, server infrastructure, and containers. ref
- NASA developers a high-performance software framework called Land Information System (LIS) for terrestrial hydrology modelling and data assimilation. But this framework was difficult to use for basic consumers in NASA due to too many dependencies, specific requirements of specific version requirements of dependencies and compilers. To get rid of this challenge NASA deployed LIS using docker containers along with Kubernetes as an orchestration engine. ref
- In 2011, LinkedIn realized that managing monolithic application becoming too complex. Any new feature release or patch to application would taking around 2 weeks’ time. Linkedin engineering team then started utilizing microservices based approach in which thousands of services that make up application were installed in containers. ref
- Cypherpath, a software defined infrastructure solutions company launched Infrastructure as a File (IaaF) solution which makes use of Docker enterprise container to package applications, environment software, software-defined networking specifics, and the configuration specifics for each infrastructure environment and enables sharing it as easy as file. ref
- BBC news was facing challenges with environments running 26,000 jobs that the over 500 developers among 10 different continuous integration environment across all of BBC. A single job was taking 30 minutes to get schedules and another 30 minutes to run. By using containers, BBC news managed to reduce 30-minute wait time for scheduling and can now running multiple jobs in parallel. ref
Use cases of containers in telecom sector
- Fran Heeran, network virtualization head of Vodafone acknowledged that containers enabled 40% improvement in resource utilization as compared to virtual machines. ref
- Comcast, an USA’s global telecommunications conglomerate achieved time saving by their developers and administrators by cleanly separating applications from the underlying infrastructure allowed application to execute changes to infrastructure without need of altering applications. Containers allowed Comcast to track as code all changes, deployments, and versions of the system, making the way to automating deployment processes. ref
- Andre Fuetsch, president & CTO of AT & T labs said that containers are really important to them and going to implement into operations. He said containers are not just used for core network or implement for software development but it will be extending to edge of the network to customer premises. Andre did not disclose the implementation details but said that with containers strategy AT & T will be achieving agility, reliability and redundancy in network operations. ref
- A prominent use case for application of containers in telecom is, Metaswitch’s Clearwater IMS core implementation. They demonstrated deployment of VNFs in a VoLTE deployment running on Docker. ref
- Calsoft has designed Infrastructure automation solutions based on container technology for NFVi.
- Metaswitch participated with Telenor research for proof of concept (PoC) based on evaluating containers for mobile core network. ref
- AT & T along with big telecom service providers like Comcast, China Unicom, Google, Deutsche Telecom, NTT Group, Telefonica and Turk Telekom announced that they are collaborating to create open source networking software reference designs and solutions for telco use cases include management and automation of fixed and mobile broadband access, leaf-spine data centre fabrics as well as edge and 5G connectivity. Solutions will be targeted to implement DevOps practices based on Kubernetes and containers. ref
- In an opening keynote at Open Networking Summit 2018, Arpit Joshipura, GM Networking & Orchestration at Linux Foundation demonstrated deployment of ONAP & Kubernetes across all public, private clouds and bare metal hardware resources. It was an integration of open networking with cloud native technologies enables seamless portability of applications across NFV environment. Along with Comcast and AT & T, Vodafone demonstrated the ONAP & Kubernetes and observed 40% improvement in resource utilization. ref
- ZTE released end-to-end container networking solution for open-source NFV. Knitter, a part of ZTE’s unified ICT platform as a service (PaaS) product, the TECS OpenPalette, is based on containers and Kubernetes cluster management technologies and useful for enterprise and telco NFV deployments. ref
Usability of containers
- Containers are useful at the edge level of network where low latency, resiliency and portability requirements are extremely important.
- Containers are useful to deploy short-lived and ephemeral services. This helps in highly agile application deployments.
- Containers are useful in machine learning models where a problem can be further divided into small set of tasks.
Not useful in
- Containers are still immature at for telecom use cases like centralized deployment of NFV in 5G networks. Utilization of container should be exercised within communities and need to have POCs for containerization in telecom sector.
- Containers heavily depend on loosely coupled services. As a result, they are not suitable for legacy application domains with monolithic applications.