Hi Reader 👋🏽
Welcome to our latest newsletter, where we explore the fundamentals of AWS networking.
Before we jump into the content, a question to get you started: What's Amazon's biggest customer on AWS? 🥁 Maybe you already know, but if not, the answer is on the end of the issue.
Whether you're new to AWS or a seasoned pro, understanding the ins and outs of networking is crucial for building reliable and scalable applications. In this edition, we'll cover the basics of VPC, Route 53, API Gateway, and CloudFront, and how they work together to create a robust network infrastructure.
AWS has come a long way since its inception, and we'll show you how to leverage its powerful networking tools to build modern applications that can handle even the heaviest traffic.
So, grab a cup of coffee and let's dive into the world of AWS networking! ☕️
It’s important to understand the fundamental principles of modern networking infrastructure. They provide the foundation for communication and data transfer between different components and services of our applications. A well-designed network infrastructure is essential for ensuring that an application is highly available, secure, and scalable.
AWS API Gateway is a fully managed service for creating, deploying, and managing APIs. It allows you to create RESTful and WebSocket APIs. It also comes with advanced features such as authentication, caching, and monitoring which don’t require you to write much or any code.
AWS API Gateway offers three different options, each with unique features and pricing. Here’s a quick overview:
Choosing the right gateway ultimately depends on your specific requirements.
API Gateway is more than just an HTTP mediator. It’s a valuable and feature-packed front door to your application ecosystem, with minimal errors.
When it comes to REST or HTTP gateways, an API consists of programmable resources that can map to one or multiple HTTP methods and a specific or wildcard path that covers a set of paths.
Each resource must be connected to an integration endpoint, which can be a Lambda function or any HTTP-speaking endpoint. You can choose to forward the request as-is or apply transformations that modify the request to match the backend’s expectations, including validations. After receiving the response from the integration, you can apply response transformations before returning it to the client.
Here’s a summary of the core capabilities that will be explored in detail in the following paragraphs:
AWS API Gateway is considered a core service of AWS because it provides a crucial layer for managing and securing APIs that are used to access AWS services and resources. It acts as a front door for applications to access AWS resources and services, allowing developers to create, publish, and manage APIs with ease.
Amazon Route 53 is a highly available and scalable Domain Name System web service. It allows you to register domain names and route internet traffic to your application. Its advanced features enable you to build applications that are available around the globe with low latency and can automatically deal with outages via failovers.
Route 53 is not just a simple Domain Name Service because it comes with advanced features that allow for traffic management and routing policies.
The different routing policies in Route 53 are:
Each routing policy allows for more advanced traffic management and can be used to optimize application performance, improve availability, and provide a better user experience.
Amazon Route 53 enables the creation of a highly resilient multi-region setup that offers fast responses through latency-based routing and automated failovers in case one region experiences issues.
Amazon VPC provides a logically isolated section of the AWS Cloud where you can launch resources in a virtual network. It provides you control over your virtual networking environment, including the selection of your own IP address range, the creation of subnets, and the configuration of route tables and network gateways. You’re able to create distinct network subnets for private components to isolate them from the internet or other resources and strictly define how they can communicate with each other.
Amazon VPC comes with a large set of features that are essential to understand and implement to build a secure ecosystem on AWS:
Amazon VPC is considered one of AWS’ core services because it provides users with a secure and isolated environment in which to run their applications and services. It allows users to customize their network topology, configure IP addresses, and control inbound and outbound traffic using security groups and NACLs.
In the example provided, our application is running on Fargate tasks that are isolated from the database in their private subnets. Amazon VPC allows us to create customized network rules that specify which resources can communicate with each other and/or the internet.
Amazon CloudFront is a content delivery network (CDN) that securely delivers data, videos, applications, and APIs to customers globally with low latency, and high transfer speeds, all within a developer-friendly environment.
CloudFront's feature set is huge:
In the example provided, we are using a CloudFront function to redirect to different applications based on a cookie sent with the request. This is just one simple but powerful example of the many use cases for edge computing.
That's it for this issue! ⭐️
We hope you have a wonderful & successful week!
Sandro & Tobi 👋
P.S: the biggest customer is Netflix! 🍿 There are no official numbers, but their monthly spendings are at least seven figures. 💸
Interested in more? Have a read about how to build a multi-region Serverless application with latency-based routing & failover! ✍️
Join our community of over 8,800 readers delving into AWS. We highlight real-world best practices through easy-to-understand visualizations and one-pagers. Expect a fresh newsletter edition every two weeks.
Hey Reader 👋🏽 This issue will be about a recent real-world experience that just went off right with the new year! 🎉 Once upon a time... 🦄 It all started in September 2024 where Edgio, the main CDN provider we used for one of my large enterprise projects, filed for bankruptcy. Edgio was natively integrated into Azure, allowing you to use it without leaving the Azure ecosystem. It also featured a powerful rules engine (allowing for all kinds of conditions, redirects and rewrites) and didn’t...
⌛ Reading time: 13 minutes 🎓 Main Learning: How to Run Apps on Fargate via ECS 👾 GitHub Repository ✍️ Read the Full Post Online 🔗 Hey Reader 👋🏽 When building applications on AWS, we need to run our code somewhere: a computation service. There are a lot of well-known and mature computation services on AWS. You’ll often find Lambda as the primary choice, as it’s where you don’t need to manage any infrastructure. You only need to bring your code - it’s Serverless ⚡️. However, more options can be...
⌛ Reading time: 10 minutes 🎓 Main Learning: Running Postgres on Aurora DSQL with Drizzle 👾 GitHub Repository ✍️ Read the Full Post Online 🔗 Hey Reader 👋🏽 With re:Invent 2024, AWS finally came up with an answer to what many people (including us) asked for years: "What if there were something like DynamoDB but for SQL?" With Amazon Aurora DSQL, this is finally possible. It’s not just a “scales-to-zero” solution like Aurora Serverless V2. It is a true distributed, serverless, pay-per-use...