Software is Eating the Edge

A few months back I reconnected with my old Nicira colleague Amar Padmanabhan, who these days is one of the leads on the Magma project. I’ll be getting more involved in that effort over the coming months, so this week’s newsletter serves as an introduction to the project.

It is hard to believe that Marc Andreessen’s famous “Software is eating the world” essay is not yet ten years old. (It’s also hard to imagine someone saying “Today’s stock market actually hates technology” as Andreessen did in that essay–I think the market got over it. ) I had reason to reflect back on that essay recently as Larry and I were collaborating on a forthcoming online course introducing the Magma project. As we prepared the summary of the course, Larry quoted Andreessen in describing the transformation of the mobile access network. In Larry’s book on 5G (co-authored with Oguz Sunay), it becomes clear that the software technologies underlying modern clouds and software-defined networks are reshaping the way mobile telecommunications networks are built. And in a sense, Magma takes this transformation of the mobile network to the next level, using the technologies that were at the heart of Andreessen’s argument to deliver significant advances in mobile networking.

As Andreessen said:

Six decades into the computer revolution, four decades since the invention of the microprocessor, and two decades into the rise of the modern Internet, all of the technology required to transform industries through software finally works and can be widely delivered at global scale.

Given that we have had those technologies for a long time now, it is somewhat surprising that it has taken so long to transform the mobile access network. It may be that the high cost of licensed spectrum has inhibited the entry of disruptive players into the ecosystem of equipment providers and mobile network operators. But that is definitely changing, and Magma is positioned to play a substantial role in transforming wireless and mobile network access.

Magma is an open source implementation of a mobile core network–the collection of functionality known as an EPC in 4G networks or NG-Core in 5G. But that rather undersells what Magma is. It really represents a new way of thinking about how to build mobile networks. I would argue that it’s what results when you take a “systems approach” to the traditional mobile network architecture defined by 3GPP and similar standards bodies. 

One of the key principles of systems design is to use abstractions to limit complexity. And one thing that jumps out at systems people when they look at mobile network architectures is the lack of abstraction of the details of the radio technology. For example, 4G and 5G don’t just define different ways to use radio spectrum (although they do that); they also define significantly different internal architectures for the mobile core. So if you look inside a mobile core at almost any component, you can figure out what radio technology is being used at the edge. By analogy, imagine if you could look at a core router deep inside the backbone of the Internet and figure out which users were connected on Ethernet, and which ones on WiFi, and even figure out which generation of WiFi standard they were using! That’s what a mobile core looks like, and that’s a good example of what happens from not having a clean abstraction of the radio interface.

Magma started off with the goal of providing a cost-effective and easy-to-manage mobile core solution, aiming to simplify the task of extending network access out to remote regions and communities. It’s already being used to bring network access to Native American reservations in the U.S. and to remote communities in Brazil, and is being rolled out in U.S. National Parks. The Magma team brought a systems view to the problem, leveraging technologies from cloud native application design and many of the same architectural ideas that underpin software-defined networking. A mobile core has to support all sorts of standard interfaces, both on the radio side and to interoperate with existing mobile networks for things like billing and subscriber management. One key innovation of Magma is that it terminates all those protocols as close to the edge as possible and then abstracts them in such a way that the bulk of the implementation is independent of the radio technology. That means you can use Magma with any generation of cellular technology using licensed spectrum (4G,5G, etc), with “lightly licensed” cellular approaches like CBRS, or with unlicensed spectrum (e.g., WiFi). The components of Magma that are specific to a given radio technology expose common interfaces to the rest of Magma, which can thus be agnostic to the radio technology in use.

The second notable innovation in Magma is its SDN-like approach. Whereas traditional mobile networks are made up of components that are managed individually, Magma adopts a centralized controller, called an orchestrator, that allows an entire mobile network to be centrally managed from a single API. As with other SDN systems, the management and control planes are logically centralized to allow the central API to be used for all configuration and management tasks. The implementation of these planes is distributed for scalability and high availability. The data plane is fully distributed for scale and performance. In the case of Magma, the data plane is implemented in a set of components called Access Gateways, each of which connect to a handful of radio base stations (e.g., eNodeBs). 

Magma brings in lots of other common ideas from cloud native applications, notably the principle that any component can be expected to fail and the system must handle that gracefully. Thus, it uses small fault domains (another contrast to typical telco systems) and ensures that individual modules can restart and be upgraded independently of each other. 

There is much more to be said about Magma, and we will have more blogs on the topic coming up, as well as the aforementioned course coming soon on EdX. The edge is clearly one of the most dynamic places in networking currently, and will only become more so as the number and diversity of connected devices grows dramatically in the coming years. It is exciting to see an approach to re-architecting the edge that brings some of the best practices from cloud computing and the Internet to the mobile access network. 

You can see a conversation in which I joined Magma project leader Amar Padmanabhan and Martin Casado (who co-founded MuralNet) on YouTube. Magma documentation is here and the source code is on GitHub