Some say its the carrier-grade for DevOps

Amit Cohen
CodeX
Published in
5 min readAug 3, 2021

Many Service providers organisations now see DevOps as part of their digital transformation strategy in deploying systems that once were hook into a specific box with a specific silicon that lead into an isolated cultures inside those organiztions, i have my tools and you have yours! Since automation kicked-off it encourages a culture of shared responsibility, transparency, and faster feedback. Yet as the gap between development and operations teams shrinks, so do the processes.

So Git, the most widely used version control system . As service providers embrace DevOps methodologies, so to the tools, which has created an evolution to GitOps, set of practices that allow developers to perform more IT operations-related tasks.

GitOps is code-based infrastructure and operational procedures that rely on Git as a source control system. It’s an evolution of Infastructre-as-a-Code (IaaC)and a DevOPs that leverages Git as the single source of autenticity and control mechanism for CRUD architecture. IaaC is one of the biggest revelations of DevOps. Previously system administrators favored custom essensial scripts to configure systems. Modern software development has trended away from those scripts and move towards declarative software blueprints.

Declarative blueprints follows a declaration of an expected state instead of a sequence of commands. Here’s a comparison of essensial system scripts vs blueprint declarative.

While the essensial scripts statements might read:

  1. Install an operating system on this machine
  2. Install these dependencies
  3. Download code from this URL
  4. Move the code to this directory
  5. 3 times for 3 other machines

The declarative version of this would simply read: 4 machines access software from this URL, installed at this directory.

IaaC encourages declarative system administration tools over custom essensial dedicated solutions. This led to the emergence of technologies like Docker containers, Ansible, Terraform, and K8S utilize static declarative configuration files. Readable by human and consistent reproducible state are the value outcomes. These configuration files were naturally added to Git for tracking and review.

As 5G rollouts begin in 2021–2022 , service providers are beginning to face the incredible challenge of deploying and configuring millions of devices, VMs and containers across not just the data center but the world. Unlike previous generations of mobile networks, 5G is a distributed network of cell towers, smaller MIMO devices, and other dissagregated computing endpoints that power connectivity in stadiums and wherever people may gather and change locations fequently. This new technology phase presents a massive challenge in terms of not just how to deploy but also maintain the network.

5G Networks Bring New Capability and Complexity

This new network addresses many of the problems with 4G, but brings its own set of challenges. First, the 5G spectrum runs into the millimeter-wave bandwidth, and the laws of physics dictate that higher frequencies suffer from attenuation more easily. In simple terms, they are more easily blocked by walls or even rain. Next, basic economics indicates that demand rises when we increase the network’s bandwidth and capacity just like building new roads or new parking lots they always get full. When you think globally, wireless networks are the primary and, in some cases, the only way people connect to the Internet, making this a much bigger issue than whether you can use Netflix at home or Spotify in a car.

5G addresses the issue by deploying more transmission points, and addresses capacity and latency by deploying more dissagregated computing power to the edge.

To fully enable their 5G rollouts, mobile providers GitOps. People in the telecommunications industry can think of it as carrier-grade DevOps. And yes you, GitOps goes further by replacing famous essensial scripts command-based configuration with a declarative syntax, making it more stable and repeatable. If you are running even hundreds of devices, having just one configured inconsistently is a severe problem that can degrade the network or even cause connectivity loss. With traditional DevOps methods, a series of commands are executed. What if one fails — maybe through a temporary communications loss? What if your network is a software-defined network (SDN), as in the case of 5G? While this creates new opportunities for flexible adaptivity and resilience, it increases the number of points to configure by an order of magnitude.

One way to think about configuration is as a set of commands and file changes issued to an operating system, device or software component. Someone can perform a secure shell login to a device, container or virtual machine, issue some commands and adjust, for instance, the default network packet size.

In most systems today, instead of an operator doing this, a set of scripts written with a tool like Puppet or Chef perform the work. However, this requires setting up the same kind of access an administrator would have and sharing it with DevOps tools across the network. As one might imagine, this isn’t just the cause of configuration drift, but it is also a security hole.

Using a GitOps approach, operators can define the overall network and device configuration and check it into an auditable revision control system. A software-based agent checks the repository, detects if some device configurations differ from the repository, and adjusts them. The result is the same; a network of devices, containers, and software components end up with a different configuration. However, with GitOps, there is a central, auditable changelog. Changes are pulled by the network rather than pushed by a script. Because a versioned repository contains the configuration, it is easy to see what changed if there are problems. This methodology makes the system both more secure and diagnosable while simplifying the overall configuration process. 5G will also open up new kinds of third-party applications that run on edge computing devices. Customers want this as-a-service, and do not want to think about the underlying hardware or software infrastructure. GitOps enables carriers to deploy these kinds of services in a templated, consistent manner.

The size, scope and deployment of this new type of network are about the same or more extensive than the internet itself, which took decades. Building such a network over just a few years is not possible without GitOps.

--

--

Amit Cohen
CodeX
Writer for

A product leader with exceptional skills and strategic acumen, possessing vast expertise in cloud orchestration, cloud security, and networking.