3 AWS Cloud Networking Performance Optimisation Tips - Part 1
These tips are relevant to the many clients that already have applications in AWS or if you are currently architecting an application to run in AWS. These tips will give you some great options as to some of the best ways to design and consume your AWS services to either solve current performance issues or to implement in the most optimal fashion.
Designing for any public cloud whether it is AWS, Azure or GCP is different to on premises as you have many more options available to you than you do in your Data Centre.
It is still important to consider your application profile and requirements as the ways you’ll solve performance issue will be different in the cloud. Your options for solutions in the cloud is usually ony limited by how much you are prepared to spend.
Here are 3 AWS services that are specially designed to solve network performance issues:
1. EC2 Placement Groups
Normally when you provision instances you select the same Region and Availability Zone, but you don’t know if your instances are sitting in the same Data Centre or Location. For latency sensitive applications EC2 Placement Groups ensure that your applications/instances are located in the same rack and are connected to the same network switch.
This means that they’ll be talking directly to each other. This can result in between 20gb to 100gb throughput. It doesn’t cost extra but you get need to consider that you’ll have less availability as the instances are in same location and the same rack.
You also need to select instances that will support EC2 Placement Groups and these normally cost more, as they are bigger as they Need to support Elastic Network Adaptors to support EC2 Placement Groups which cost extra.
2. AWS Direct Connect
You can use this instead of the AWS VPN service which has no guaranteed speed or latency. Direct Connect will give you guaranteed speed and latency metrics. You can either BYO your own connection or you can procure ports at a Data Centre like Next DC or Equinix.
You can even buy a Fractional Port which gives you a level of guaranteed of throughput and latency. It is still important to ensure there’s High Availability via either a separate Direct Connect service through a different provider or use VPN as a backup.
Speeds can be between 50MB up to 40GB via 4 x 10GB ports together in 1 DC. You will be charged for both the connection and throughput.
3. AWS load balancers
This can be confusing as there are 3 kinds of Load Balancers each with different use cases.
1. Classic/Elastic Load Balancer-This is a classic service that works with either Layer 4 or Layer 7 and provides basic load balancing across multiple EC2 instances and is for apps that are built in an EC 2 Classic network.
2. Application Load Balancers- These are layer 7 load balancers similar to an F5 or Netscaler load balancers. These are best suited for HTTP and HTTPS traffic and adds layer 7 processing logic and SSL decryption that’s not available in Elastic Load Balancers.
3. Network Load Balancers- best suited for TCP and UDP direct traffic. NLB is a Layer 4 load balancer and is multi-tenant. You don’t need to worry about scale as it will scale to any performance required and will process whatever your apps need.
It won’t do anything above Layer 4 decryption and doesn’t change the packets in any way. You can even have the Network Load Balancer In front of Application Load Balancer for L7 and SSL decryption.
This is a however a complex architecture.
We will post Part 2 of this next week.
If you are interested in our other Cloud, Infrastructure and Security related Blogs please click here.