AWS Network Manager for Performance Engineers
Tags: aws, performance, cloud, testing
Published: 2022-12-30 15:20:35

<!-- wp:paragraph -->
<p>Recently AWS announced an interesting feature in AWS Network Manager called Infrastructure Performance. Now it is possible to monitor the real-time and historical performance of the AWS Global Network in console. In this blog article, we will quickly see how to leverage this for planning the infra and ongoing operations. </p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2>What is AWS Network Manager?</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>AWS Network Manager is a set of tools and features to manage and monitor your network on AWS. You can create global networks, transit gateways, debug VPC reachability, monitor performance, analyze network access, and more.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Creating a global network is beyond the scope of this blog. But let us see how we can leverage infrastructure performance.</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2>Infrastructure Performance</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>To get started, launch your AWS console and search for <code>network manager</code> in the text box. Click on <code>Network Manager</code> as shown below.</p>
<!-- /wp:paragraph -->

<!-- wp:image {"align":"center","id":9824,"sizeSlug":"full","linkDestination":"media"} -->
<figure class="wp-block-image aligncenter size-full"><a href="https://qainsights.com/wp-content/uploads/2022/12/image.png"><img src="https://qainsights.com/wp-content/uploads/2022/12/image.png" alt="AWS Network Manager for Performance Engineers" class="wp-image-9824"/></a><figcaption class="wp-element-caption">AWS Network Manager for Performance Engineers</figcaption></figure>
<!-- /wp:image -->

<!-- wp:paragraph -->
<p>Then, click on <code>Infrastructure Performance</code> from the left menu as shown below.</p>
<!-- /wp:paragraph -->

<!-- wp:image {"align":"center","id":9825,"sizeSlug":"full","linkDestination":"media"} -->
<figure class="wp-block-image aligncenter size-full"><a href="https://qainsights.com/wp-content/uploads/2022/12/image-1.png"><img src="https://qainsights.com/wp-content/uploads/2022/12/image-1.png" alt="AWS Network Manager" class="wp-image-9825"/></a><figcaption class="wp-element-caption">AWS Network Manager</figcaption></figure>
<!-- /wp:image -->

<!-- wp:paragraph -->
<p>We can monitor the performance for up- to five intervals and 45-day historical data. </p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Suppose you have an application hosted in the <code>us-east-2</code> region, but chunk of traffic originating from <code>us-west-1</code>. To baseline the performance, we can monitor the inter-region latency. </p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Enter the source as <code>us-west-1</code> and destination as <code>us-east-2</code> as shown below and check the row. The network latency will be instantaneously displayed in a graphical view. </p>
<!-- /wp:paragraph -->

<!-- wp:image {"align":"center","id":9827,"sizeSlug":"large","linkDestination":"media"} -->
<figure class="wp-block-image aligncenter size-large"><a href="https://qainsights.com/wp-content/uploads/2022/12/image-2.png"><img src="https://qainsights.com/wp-content/uploads/2022/12/image-2-1024x912.png" alt="Latency Metric" class="wp-image-9827"/></a><figcaption class="wp-element-caption">Latency Metric</figcaption></figure>
<!-- /wp:image -->

<!-- wp:paragraph -->
<p>The latency is ~50 ms. You can customize the time range and the interval.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>We will not get to know the historical performance prior to <code>Oct 26 2022 00:00:00 GMT+000</code>.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Latency can be measured between <code>Inter-Availability Zone</code> and <code>Intra-Availablity Zone</code>.</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2>Latency Calculation</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>The latency is calculated from AWS-managed probes for every 5-minute interval with median i.e. 50th percentile of all the latency measurements. </p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2>Publishing Metrics to CloudWatch</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>It is possible to publish these metrics to AWS CloudWatch for analysis purposes. Click <code>Manage CloudWatch Subscriptions</code>, then <code>Confirm</code></p>
<!-- /wp:paragraph -->

<!-- wp:image {"align":"center","id":9828,"sizeSlug":"large","linkDestination":"media"} -->
<figure class="wp-block-image aligncenter size-large"><a href="https://qainsights.com/wp-content/uploads/2022/12/image-3.png"><img src="https://qainsights.com/wp-content/uploads/2022/12/image-3-1024x346.png" alt="Subscribe to CloudWatch" class="wp-image-9828"/></a><figcaption class="wp-element-caption">Subscribe to CloudWatch</figcaption></figure>
<!-- /wp:image -->

<!-- wp:paragraph -->
<p>Select <code>Subscribe</code> and then click <code>Confirm</code>.</p>
<!-- /wp:paragraph -->

<!-- wp:image {"align":"center","id":9829,"sizeSlug":"large","linkDestination":"media"} -->
<figure class="wp-block-image aligncenter size-large"><a href="https://qainsights.com/wp-content/uploads/2022/12/image-4.png"><img src="https://qainsights.com/wp-content/uploads/2022/12/image-4-1024x280.png" alt="Confirm" class="wp-image-9829"/></a><figcaption class="wp-element-caption">Confirm</figcaption></figure>
<!-- /wp:image -->

<!-- wp:paragraph -->
<p>Enabling CloudWatch will incur a charge :)</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Go to <strong>AWS CloudWatch &gt; All Metrics</strong>, search for <code>AggregateAWSNetworkPerformance</code>. </p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>You can plot the graph and add it to the dashboard.</p>
<!-- /wp:paragraph -->

<!-- wp:image {"align":"center","id":9830,"sizeSlug":"large","linkDestination":"media"} -->
<figure class="wp-block-image aligncenter size-large"><a href="https://qainsights.com/wp-content/uploads/2022/12/image-5.png"><img src="https://qainsights.com/wp-content/uploads/2022/12/image-5-1024x400.png" alt="" class="wp-image-9830"/></a></figure>
<!-- /wp:image -->

<!-- wp:heading -->
<h2>Final Thoughts</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Monitoring network latency between the regions, inter-az, and intra-az is helpful for operational purposes and for debugging. Streaming the metrics to CloudWatch helps in creating a unified dashboard for easy monitoring. But the historical data should be available for free instead of billing customers for AWS CloudWatch usage. </p>
<!-- /wp:paragraph -->