April 21, 2024
Voiced by Polly

Over the course of a couple of hundred years, the telecom business has grow to be standardized and controlled, and has developed strategies, applied sciences, and a whole vocabulary (chock filled with fascinating acronyms) alongside the best way. As an business, they should honor this super legacy whereas additionally profiting from new expertise, all within the identify of delivering the very best voice and information companies to their prospects.

In the present day I wish to let you know about AWS Telco Community Builder (TNB). This new service is designed to assist Communications Service Suppliers (CSPs) deploy and handle private and non-private telco networks on AWS. It makes use of current requirements, practices, and information codecs, and makes it simpler for CSPs to make the most of the ability, scale, and adaptability of AWS.

In the present day, CSPs typically deploy their code to digital machines. Nonetheless, as they appear to the longer term they’re on the lookout for extra flexibility and are more and more making use of containers. AWS TNB is meant to be part of this transition, and makes use of Kubernetes and Amazon Elastic Kubernetes Service (EKS) for packaging and deployment.

Ideas and Vocabulary
Earlier than we dive in to the service, let’s have a look some ideas and vocabulary which are distinctive to this business, and are related to AWS TNB:

European Telecommunications Requirements Institute (ETSI) – A European group that defines specs appropriate for international use. AWS TNB helps a number of ETSI specs together with ETSI SOL001 by means of ETSI SOL005, and ETSI SOL007.

Communications Service Supplier (CSP) – A company that provides telecommunications companies.

Topology and Orchestration Specification for Cloud Functions (TOSCA) – A standardized grammar that’s used to explain service templates for telecommunications functions.

Community Operate (NF) – A software program element that performs a selected core or value-added perform inside a telco community.

Digital Community Operate Descriptor (VNFD) – A specification of the metadata wanted to onboard and handle a Community Operate.

Cloud Service Archive (CSAR) – A ZIP file that comprises a VNFD, references to container pictures that maintain Community Capabilities, and any extra information wanted to help and handle the Community Operate.

Community Service Descriptor (NSD) – A specification of the compute, storage, networking, and site necessities for a set of Community Capabilities together with the knowledge wanted to assemble them to kind a telco community.

Community Core – The center of a community. It makes use of management airplane and information airplane operations to handle authentication, authorization, information, and insurance policies.

Service Orchestrator (SO) – An exterior, high-level community administration software.

Radio Entry Community (RAN) – The elements (base stations, antennas, and so forth) that present wi-fi protection over a selected geographic space.

Utilizing AWS Telco Community Builder (TNB)
I don’t occur to be a CSP, however I’ll do my greatest to stroll you thru the getting-started expertise anyway! The first steps are:

  1. Making a perform bundle for every Community Operate by importing a CSAR.
  2. Making a community bundle for the community by importing a Community Service Descriptor (NSD).
  3. Making a community by choosing and instantiating an NSD.

To start, I open the AWS TNB Console and click on Get began:

Initially, I’ve no networks, no perform packages, and no community packages:

My colleagues provided me with pattern CSARs and an NSD to be used on this weblog put up (the community capabilities are from Free 5G Core):

Every CSAR is a reasonably easy ZIP file with a VNFD and different gadgets inside. For instance, the VNFD for the Free 5G Core Session Administration Operate (smf) seems to be like this:

tosca_definitions_version: tnb_simple_yaml_1_0

topology_template:

  node_templates:

    Free5gcSMF:
      sort: tosca.nodes.AWS.VNF
      properties:
        descriptor_id: "4b2abab6-c82a-479d-ab87-4ccd516bf141"
        descriptor_version: "1.0.0"
        descriptor_name: "Free5gc SMF 1.0.0"
        supplier: "Free5gc"
      necessities:
        helm: HelmImage

    HelmImage:
      sort: tosca.nodes.AWS.Artifacts.Helm
      properties:
        implementation: "./free5gc-smf"

The ultimate part (HelmImage) of the VNFD factors to the Kubernetes Helm Chart that defines the implementation.

I click on Operate packages within the console, then click on Create perform bundle. Then I add the primary CSAR and click on Subsequent:

I assessment the main points and click on Create perform bundle (every VNFD can embody a set of parameters which have default values which could be overwritten with values which are particular to a selected deployment):

I repeat this course of for the 9 remaining CSARs, and all ten perform packages are prepared to make use of:

Now I’m able to create a Community Package deal. The Community Service Descriptor can also be pretty easy, and I’ll present you many excerpts. First, the NSD establishes a mapping from descriptor_id to namespace for every Community Operate in order that the capabilities could be referenced by identify:

vnfds:
  - descriptor_id: "aa97cf70-59db-4b13-ae1e-0942081cc9ce"
    namespace: "amf"
  - descriptor_id: "86bd1730-427f-480a-a718-8ae9dcf3f531"
    namespace: "ausf"
...

Then it defines the enter variables, together with default values (this jogs my memory of a AWS CloudFormation template):

  inputs:
    vpc_cidr_block:
      sort: String
      description: "CIDR Block for Free5GCVPC"
      default: "10.100.0.0/16"

    eni_subnet_01_cidr_block:
      sort: String
      description: "CIDR Block for Free5GCENISubnet01"
      default: "10.100.50.0/24"
...

Subsequent, it makes use of the variables to create a mapping to the specified AWS assets (a VPC and a subnet on this case):

   Free5GCVPC:
      sort: tosca.nodes.AWS.Networking.VPC
      properties:
        cidr_block:  get_input: vpc_cidr_block 
        dns_support: true

    Free5GCENISubnet01:
      sort: tosca.nodes.AWS.Networking.Subnet
      properties:
        sort: "PUBLIC"
        availability_zone:  get_input: subnet_01_az 
        cidr_block:  get_input: eni_subnet_01_cidr_block 
      necessities:
        route_table: Free5GCRouteTable
        vpc: Free5GCVPC

Then it defines an AWS Web Gateway throughout the VPC:

    Free5GCIGW:
      sort: tosca.nodes.AWS.Networking.InternetGateway
      capabilities:
        routing:
          properties:
            dest_cidr:  get_input: igw_dest_cidr 
      necessities:
        route_table: Free5GCRouteTable
        vpc: Free5GCVPC

Lastly, it specifies deployment of the Community Capabilities to an EKS cluster; the capabilities are deployed within the specified order:

    Free5GCHelmDeploy:
      sort: tosca.nodes.AWS.Deployment.VNFDeployment
      necessities:
        cluster: Free5GCEKS
        deployment: Free5GCNRFHelmDeploy
        vnfs:
          - amf.Free5gcAMF
          - ausf.Free5gcAUSF
          - nssf.Free5gcNSSF
          - pcf.Free5gcPCF
          - smf.Free5gcSMF
          - udm.Free5gcUDM
          - udr.Free5gcUDR
          - upf.Free5gcUPF
          - webui.Free5gcWEBUI
      interfaces:
        Hook:
          pre_create: Free5gcSimpleHook

I click on Create community bundle, choose the NSD, and click on Subsequent to proceed. AWS TNB asks me to assessment the checklist of perform packages and the NSD parameters. I achieve this, and click on Create community bundle:

My community bundle is created and able to use inside seconds:

Now I’m able to create my community occasion! I choose the community bundle and select Create community occasion from the Actions menu:

I give my community a reputation and an outline, then click on Subsequent:

I make it possible for I’ve chosen the specified community bundle, assessment the checklist of capabilities packages that will probably be deployed, and click on Subsequent:

Then I do one remaining assessment, and click on Create community occasion:

I choose the brand new community occasion and select Instantiate from the Actions menu:

I assessment the parameters, and enter any desired overrides, then click on Instantiate community:

AWS Telco Community Builder (TNB) begins to instantiate my community (behind the scenes, the service creates a AWS CloudFormation template, makes use of the template to create a stack, and executes different duties together with Helm charts and customized scripts). When the instantiation step is full, my community is able to go. Instantiating a community creates a deployment, and the identical community (maybe with some parameters overridden) could be deployed greater than as soon as. I can see all the deployments at a look:

I can return to the dashboard to see my networks, perform packages, community packages, and up to date deployments:

Inside an AWS TNB Deployment
Let’s take a fast look inside my deployment. Right here’s what AWS TNB arrange for me:

Community – An Amazon Digital Non-public Cloud (Amazon VPC) with three subnets, a route desk, a route, and an Web Gateway.

Compute – An Amazon Elastic Kubernetes Service (EKS) cluster.

CI/CD – An AWS CodeBuild challenge that’s triggered each time a node is added to the cluster.

Issues to Know
Listed below are a few issues to find out about AWS Telco Community Builder (TNB):

Entry – Along with the console entry that I confirmed you above, you possibly can entry AWS TNB from the AWS Command Line Interface (AWS CLI) and the AWS SDKs.

Deployment Choices – We’re launching with the flexibility to create a community that spans a number of Availability Zones in a single AWS Area. Over time we count on so as to add extra deployment choices akin to Native Zones and Outposts.

Pricing – Pricing is predicated on the variety of Community Capabilities which are managed by AWS TNB and on calls to the AWS TNB APIs, however the first 45,000 API requests per thirty days in every AWS Area should not charged. There are additionally extra expenses for the AWS assets which are created as a part of the deployment. To be taught extra, learn the TNB Pricing web page.

Getting Began
To be taught extra and to get began, go to the AWS Telco Community Builder (TNB) residence web page.

Jeff;