WTF is 5G and What Does It Mean for the Future of Distributed Software?
by Brad Johnson, on Nov 13, 2019 11:39:25 AM
We’ve been hearing about 5G for what seems like years now, but there’s still a lot of confusion around it. The casual mobile user is likely aware that 5G exists as some evolution of cellular networking technology, but that seems to be the limit of common understanding.
At Swim.ai, we’ve had the privilege of partnering with some large telecommunications providers on streaming data projects. And we’re frequently asked about enabling 5G use cases, like network performance optimization and call quality monitoring. For this post, I thought it’d be helpful to spend some time discussing 5G and how its rollout may affect software architectures in the future.
We’ll explore some of the technology shifts underlying the move to 5G and discuss opportunities these innovations present for developers of distributed applications.
What is 5G (Really)?
Essentially, 5G is the next step in digitizing our cellular network infrastructure. In this sense, 5G is an incremental transition. Over the last decade or so, we’ve already transitioned from primarily analog circuit-switched telephony service to all-Internet Protocol (IP) based communication such as IP telephony for 4G communications. 5G continues this trend by creating an entirely software-defined telecommunications network.
There are lots and lots of other enabling networking innovations which are being rolled as part of 5G efforts. For example, by switching to millimeter wave technology and allowing for multiple-input multiple-output (MIMO) communications, 5G will be able to support significantly higher data rates than previous generations.
5G Benefits and App Use Cases
Because 5G networks are software-defined, they can utilize commodity hardware instead of specialized industrial equipment. 5G benefits from the decreasing costs of storage and compute resources, and its rollout has led to the proliferation of cheap compute and storage resources at the edge of the network. In addition to simply modernizing network infrastructure, any un-utilized compute and storage resources can be repurposed and offered as new services for customers.
With these changes in mind, let’s dive into three use cases that are being enabled by the transition to 5G:
- Edge Computing
5G relies on a system of networked computers located at base stations. Because all the components of a 5G network are software-defined, 5G equipment is essentially general purpose compute and storage resources. This means 5G operators can provide applications and services which take advantage of these resources. In the future, carriers may even resell these resources as-a-service to customers to enable third-party edge computing applications.
For 5G applications, it is imperative to choose software architectures optimized to run across distributed compute environments. Web Agent architectures like swimOS enable 5G application developers to abstract away the notion of a heterogeneous compute environment and write applications which create a cohesive, real-time mesh from distributed edge and cloud resources.
- Wi-Fi Convergence
The increased speed and bandwidth capabilities may have some unforeseen benefits, such as smaller and cheaper mobile devices. How can 5G accomplish this? By enabling Wi-Fi and mobile convergence. Wikipedia describes how the “significant improvement in cellular performance specifications in 5G, combined with migration from Distributed Radio Access Network (D-RAN) to Cloud- or Centralized-RAN (C-RAN)...can potentially narrow the gap between Wi-Fi and cellular networks in dense and indoor deployments.” This can lead to the creation of a single silicon chip which provides for multiple radio access technologies, reducing device cost and size.
This can also significantly improve navigation applications and enable new indoor navigation use cases. Furthermore, application developers can leverage the new composite networks (5G + n-number of local Wi-Fi networks) to improve performance and user experience features within mobile applications.
5G will also provide a real-time backbone for distributed automation applications. Because automation is event-based, it is an inherently real-time use case. In an ideal case, automation combines local information with relevant global system context to actuate a response, such as optimizing channel frequency or quarantining a machine due to real-time security concerns.
By providing the network infrastructure and resources for edge computing, 5G will enable real-time, distributed automation applications. Increased speeds and bandwidth capabilities make 5G an optimal solution for automation applications which must quickly correlate both edge and cloud data sources. This will have major benefits for network optimization, route optimization and navigation, predictive maintenance, DevOps, and security use cases.
Let us know what you're building using the open source swimOS platform. You can get started with swimOS here and make sure to STAR us on GitHub. You can also learn more about our enterprise product DataFabric here.