Central Services Portal is in Beta. We need your feedback to ensure the best possible user experience. Any feedback you provide will help us help you! Please use the feedback tool at the bottom of any page.

Search Icon

Central Services Portal is in Beta. We need your feedback to ensure the best possible user experience. Any feedback you provide will help us help you! Please use the feedback tool at the bottom of any page.

Service Mesh

What is it?

A Service Mesh simplifies the communication life cycle of microservices. Making service-to-service:

  • networking
  • secure communication
  • service discovery
  • failover and multi-region deployment

much easier to manage, improving your development experience.

Who is it for?

A Service Mesh is designed for:

  • Developers and architects who are building or maintaining microservices-based applications.
  • Teams that need to manage complex, distributed systems.
  • Organizations that want to simplify the communication between their microservices.

A Service Mesh is particularly useful for:

  • Microservices architectures: It provides a layer of abstraction that handles many of the complexities of communication between microservices.
  • Distributed systems: It simplifies the management of service discovery, load balancing, and fault tolerance.
  • Security-conscious organizations: It provides features for secure communication between microservices.
     

How to use it?

Prerequisites

  1. Join our support Slack channel: #devx-service-mesh-support
  2. Your AWS VPC is managed by TSF. Non-TSF-managed VPCs are considered legacy and cannot be onboarded with the Service Mesh. The easiest way to determine whether your VPC is TSF-managed is to look up the Platform attribute on the TSF tenant via a TSF Management Page
  3. Your service is located in the Public or Protected Rail of a TSF-Internal or TSF-DMZ Cloud/Network.
  4. Your application is onboarded to DevHub
  5. Ability to add two sidecars for Containerized Deployments or two processes for Virtual Machines.

Note

  • The Service Mesh is operational in the following AWS regions:
    • USA: us-east-1, us-east-2, and us-west-2.
    • EU: eu-central-1 and eu-west-1.
  • We plan to add Comcast National Data centers to the architecture upon request (If necessary, however it does run in DX Architecture, and as such, latency is incredibly low).

Self-Service Onboarding

Register Application to DevX Service Mesh via DevHub

Fill out the onboarding form

Step 1. Application Details

  • Applications Available – pick the application name from the list. In order to see the list of applications, you must have an Application OwnerOwner Assistant or iTRC Approver role for your application.
  • Application Component Name – think microservice name in the context of the application, for instance if your application is Velox, the application Component name can be RNS.
  • Documentation Link – provide a link to any documentation, which may describe how your application behaves in terms of monitoring, traffic/scaling strategies etc.

Step 2. Application Ownership Details

  • Organization Name – abbreviated name of your organization, i.e. CL – Connected Living, GTO – Global Technology Organization, etc.
  • Team Name – abbrefiated name for the team, which owns the application, i.e. Velox, Person, Coverage, Breeze, etc.
  • Team Distribution Email Address – group email address for your team.
  • Groups Available – Active Directory Security Group name to grant Team an access to Consul UI. Start typing to show the list of the AD groups matching your input.

Step 3. Runtime Details

In this step you can provide runtime details for your application. By default you would need to provide PROD Environment runtime details. If you have addiotinal application runtime environments, like DEV or STAGE, you can provide those in Additional Runtimes section.

  • Runtime Type – runtime information for your application, i.e. AWS ECS FargateAWS EC2, etc.
    Depending on your selection you will be asked to provide additional information:
  • AWS Account – AWS account number, where your application runs, i.e. 395284687305 in the specific Environment
  • AWS Service User ARN – Service User ARN, which is used by your application CI/CD. Used to authenticate to Service Mesh for Management Operations in CI/CD. Example: arn:aws:iam::1234567890:user/service-user
  • AWS Execution Role ARNs – AWS Execution Role ARNS, associated with your application, i.e. arn:aws:iam::1234567890:role/CustomerManagedBasic/ecs-task-execution-role
  • Lambda Ingress – will be displayed for AWS Lambda Runtime Type. You can provide multiple Lambda Ingress details for different AWS regions, if your application is deployed there. It will ask for:
    • Region – AWS Region where the your application is deployed
    • Ingress FQDN – Fully Qualified Domain Name of the ingress in the specific AWS Region, i.e. my-awesome-service.us-east-1.dh.comcast.com.
      If you are using the same latency-based global DNS record for all AWS Regions, specify it here, i.e. my-awesome-service.dh.comcast.com.
    • Health Check Endpoint – A path to the endpoint, which provides a health for your application, i.e. /healz

Step 4. Create

By pressing the Create button you will be submitting a PR into DevX Service Mesh Tenant Management Github repository. The PR informnation and link will be displayed on the confirmation page.

Expectations

  • PR reviewed and approved (or a request for additional info)
  • Upon a PR approval
    • Consul Management token created and stored in AWS Secrets Manager (One management token per Team – see Step 2.)
    • Consul Application token created and stored in AWS Secrets Manager (Unique per application – see Step 1.)
    • Cross Account Policy attached to your Application Execution Role (see Step 3.), which allows your application to access Consul tokens, Consul CA root certificate, Consul gossip key, AWS KMS encryption key and any additional information, required for your application to be bootstrapped with DevX Service Mesh

Apply “DevX Service Mesh” Ruleset

Navigate to TSF Management Console, select the TSF Tenant, which owns your application and click Apply Ruleset button. Then select DevX Service Mesh ruleset, provide business justification and any additional information, click Apply ruleset

Bootstrap Application for DevX Service Mesh

Depending on your Application Runtime, the bootstrapping procedure may look different. Navigate to Deployment Patterns and choose one of

wpChatIcon
wpChatIcon
Provide Feedback