Using AWS Local Zones for latency sensitive applications — Open5GS on Amazon EKS in AWS Local Zone -Delhi

TLDR;

Mani
5 min readJan 23, 2023

AWS Local Zones places compute, storage, database, and other select AWS resources close to large population and industry centers. I had written a blog about deploying a simple application on Amazon ECS in the AWS Local Zone in Delhi. However, I have been looking for a real-world use-case to better understand and also to explain scenarios to my colleagues and customers, where the AWS Local Zone could be used for deploying customer workloads. As a techie, I also wanted to badly test the actual latency by accessing the app deployed in a Local Zone from a user closer to the local zone in India like Delhi or Kolkata ;-)

Update: 4th July 2024 — The number of services in the Delhi and Kolkata Local Zones has increased !! We now have Application Load Balance (ALB) in both these Local Zones, which opens up a whole new set of possibilities in terms of architectures. Please check https://aws.amazon.com/about-aws/global-infrastructure/localzones/features/

In this blog, I have leveraged an amazing AWS workshop (by our Telco Solution Architect team) to deploy an open source software, Open5GS (Open5GS is an open source project that provides 4G and 5G mobile packet core network functionalities for building a private LTE/5G network under the GNU AGPL 3.0 license) on Amazon EKS deployed on AWS Region at Mumbai and the Local Zone in Delhi. From a tech perspective, I am a generalist, and this workshop helped me to deploy a telco based edge use-case in the AWS Local Zone in Delhi.

The resulting deployment and the results are similar to this:

Latency of the Open5GS/UPF network function accessed from a user in the Delhi/NCR region

The results from the proof of concept (POC) clearly showed that the latency for a 5G data call from the UPF Open5GS module from the AWS DEL local zone and to ping a server (our test user) in the Delhi/NCR was much, much lesser (less than 5 milli sec) than a similar 5G data call from a UPF Open5GS module deployed in the AWS Mumbai region and the same physical server in the Delhi/NCR region (which was less than 30 milli sec).

Lets get started ..

Mandatory warning/Disclaimer ;-)

Please refer to official AWS and Open5Gs documentation for the final word. I am not a telecom expert, I have leveraged the AWS workshop created by my brilliant AWS colleagues .. You will incur charges, when you deploy this workshop. Please leverage your AWS team/AWS partners for architecture reviews and cost optimization. The test results are from my own POC, please test them in your setup and specific to your workload. These are just general guidelines in my personal blog ..

What are we deploying?

I have followed the AWS workshop , which served as the starting point of this proof of concept, but has been written from the point of view of the AWS LAX Local Zone and the AWS US-West-2/Oregon region.

This workshop deploys Open5GS — an Open Source implementation for 5G Core and EPC on Amazon EKS. There are two EKS node groups where the Open5GS network functions are deployed- one, a managed node group in the AWS Mumbai Region and another a self managed node group, deployed in the AWS Local Zone in Delhi.

The workshop works as is, but I had to make the following changes:

  1. All AWS commands which are invoked for us-west-2 and LAX local zone should be changed to ap-south-1 (for the Mumbai region) and ap-south-1-del-1a (for the DEL Local Zone)
  2. The EC2 instance types in DEL are limited to certain instance types, I covered the AWS CLI command to get the instance types in my earlier blog. I used c5.2xlarge EC2 instance type for the EKS self-managed node group deployed in DEL local zone.
  3. I did not deploy the section of the workshop related to deploying the application pipeline

These are the only changes needed to get this awesome workshop up and running.

Listing of all pods that have been deployed for Open5GS

Where is my test user/client in the Delhi region located?

This was tricky part, as I am based in Bangalore and I needed a server/machine which was physically located in the Delhi/National Capital region (NCR) region.

I used a different hosting provider to get a small server (which was outside AWS) that is provisioned in the Delhi/NCR region. Here is my proof that the server is actually running in the Delhi/NCR region !!

Our test client, a server physically located in Delhi/NCR

AWS Local Zones in Bengaluru and Chennai have also been publicly announced, and it will be easier for me to test the Bengaluru Local Zone from a vm from one of the laptops in our house ;-)

Deployment architecture

Open5GS on Amazon EKS — AWS Mumbai region and AWS Local Zone — Delhi from the AWS workshop
Amazon EKS cluster with the nodes deployed in the AWS Mumbai region and AWS Delhi Local Zone

Let the tests begin ;-)

I ran the deployment validation tests from the AWS workshop ..

The results from the 5G data call from a UE (part of Open5GS) in the ap-south-1 region in Mumbai and attempt to ping the public server in Delhi/NCR, shows that there is a latency of an average 23.8milli seconds.

The results from the 5G data call from a UE (part of Open5GS) in the DEL local zone (which is located in Delhi/NCR metro area) and attempt to ping the public server in Delhi/NCR, shows that there is a latency of an average 1.71milli seconds.

The results very clearly shows the extremely low latency for workloads deployed in Local Zones, for users who are in the vicinity of the AWS Local Zone.

Summary

The proof of concept clearly shows use-cases/workloads which can benefit from being deployed closer to their user-base in the AWS Local Zone. Other potential use-cases include real-time gaming, live streaming, augmented and virtual reality (AR/VR), virtual workstations, and more.

The case study from Netflix show how it deployed its visual effects studio closer to artists using AWS Local Zones, helping it to achieve single-digit millisecond latency and keep its remote workstations running smoothly

Keep building. Let me know, if you have any feedback via this blog or on LinkedIn or twitter.

Namaskara 🙏!!

--

--

Mani
Mani

Written by Mani

Principal Solutions Architect at AWS India, and I blog/post about interesting stuff that I am curious about and which is relevant to developers & customers.

Responses (2)