# Global Infrastructure - [Global Infrastructure](#global-infrastructure) - [Why make a global application?](#why-make-a-global-application) - [Global AWS Infrastructure](#global-aws-infrastructure) - [Global Applications in AWS](#global-applications-in-aws) - [Amazon Route 53 Overview](#amazon-route-53-overview) - [Route 53 - Diagram for A Record](#route-53---diagram-for-a-record) - [Route 53 Routing Policies](#route-53-routing-policies) - [simple routing policy](#simple-routing-policy) - [weighted routing policy](#weighted-routing-policy) - [latency routing policy](#latency-routing-policy) - [failover routing policy](#failover-routing-policy) - [AWS CloudFront](#aws-cloudfront) - [CloudFront - Origins](#cloudfront---origins) - [CloudFront vs S3 Cross Region Replication](#cloudfront-vs-s3-cross-region-replication) - [S3 Transfer Acceleration](#s3-transfer-acceleration) - [AWS Global Accelerator](#aws-global-accelerator) - [AWS Global Accelerator vs CloudFront](#aws-global-accelerator-vs-cloudfront) - [AWS Outposts](#aws-outposts) - [AWS Outposts Benefits](#aws-outposts-benefits) - [AWS WaveLength](#aws-wavelength) - [AWS Local Zones](#aws-local-zones) - [Global Applications - Summary](#global-applications---summary) ## Why make a global application? - A global application is an application deployed in **multiple geographies** - On AWS: this could be **Regions** and / or **Edge Locations** - **Decreased Latency** - Latency is the time it takes for a network packet to reach a server - It takes time for a packet from Asia to reach the US - Deploy your applications closer to your users to decrease latency, better experience - **Disaster Recovery (DR)** - If an AWS region goes down (earthquake, storms, power shutdown, politics)… - You can fail-over to another region and have your application still working - A DR plan is important to increase the availability of your application - **Attack protection**: distributed global infrastructure is harder to attack ### Global AWS Infrastructure - Regions: For deploying applications and infrastructure - Availability Zones: Made of multiple data centers - Edge Locations (Points of Presence): for content delivery as close as possible to users - More at: ### Global Applications in AWS - **Global DNS: Route 53** - Great to route users to the closest deployment with least latency - Great for disaster recovery strategies - **Global Content Delivery Network (CDN): CloudFront** - Replicate part of your application to AWS Edge Locations – decrease latency - Cache common requests – improved user experience and decreased latency - **S3 Transfer Acceleration** - Accelerate global uploads & downloads into Amazon S3 - **AWS Global Accelerator:** - Improve global application availability and performance using the AWS global network ## Amazon Route 53 Overview - Route53 is a Managed DNS (Domain Name System) - DNS is a collection of rules and records which helps clients understand how to reach a server through URLs. - In AWS, the most common records are: - www.google.com => 12.34.56.78 == A record (IPv4) - www.google.com => 2001:0db8:85a3:0000:0000:8a2e:0370:7334 == AAAA IPv6 - search.google.com => www.google.com == CNAME: hostname to hostname - example.com => AWS resource == Alias (ex: ELB, CloudFront, S3, RDS, etc…) ### Route 53 - Diagram for A Record ```mermaid sequenceDiagram participant Web browser participant Route 53 participant Application Server(IP=11.12.13.1) Web browser->>Route 53: DNS Request app.domain.com Route 53 ->> Web browser: Send back IP:11.12.13.1(A record: hostname or IP) Web browser->>Application Server(IP=11.12.13.1): HTTP Request IP:11.12.13.1 (Host:app.domain.com) Application Server(IP=11.12.13.1) ->> Web browser: HTTP Response ``` ## Route 53 Routing Policies Need to know them at a high-level for the Cloud Practitioner Exam - simple routing policy - weighted routing policy - latency routing policy - failover routing policy ### simple routing policy - Use for a single resource that performs a given function for your domain - for example, a web server that serves content for the example.com website. - You can use simple routing to create records in a private hosted zone ### weighted routing policy - Use to route traffic to multiple resources in proportions that you specify. - You can use weighted routing to create records in a private hosted zone. ### latency routing policy - Use when you have resources in multiple AWS Regions and you want to route traffic to the region that provides the best latency. - You can use latency routing to create records in a private hosted zone. ### failover routing policy - Use when you want to configure active-passive failover. - You can use failover routing to create records in a private hosted zone. ## AWS CloudFront - Content Delivery Network (CDN) - **Improves read performance, content is cached at the edge** - Improves users experience - 216 Point of Presence globally (edge locations) - DDoS protection (because worldwide), integration with Shield, AWS Web Application Firewall - Source: ### CloudFront - Origins - S3 bucket - For distributing files and caching them at the edge - Enhanced security with CloudFront Origin Access Identity (OAI) - CloudFront can be used as an ingress (to upload files to S3) - Custom Origin (HTTP) - Application Load Balancer - EC2 instance - S3 website (must first enable the bucket as a static S3 website) - Any HTTP backend you want ### CloudFront vs S3 Cross Region Replication | CloudFront | S3 Cross Region Replication | | -------------------------------------------------------------- | -------------------------------------------------------------------------------------- | | Global Edge network | Must be setup for each region you want replication to happen | | Files are cached for a TTL (Time to Live) (maybe a day) | Files are updated in near real-time, Read only | | **Great for static content that must be available everywhere** | **Great for dynamic content that needs to be available at low-latency in few regions** | ### S3 Transfer Acceleration - Increase transfer speed by transferring file to an AWS edge location which will forward the data to the S3 bucket in the target region - if we try to upload file to Australia S3 bucket it will take time using CloudFront we can rescue time. - File in USA -> Edge Location(USA) -> S3 Bucket(Australia) - Test the tool at: ## AWS Global Accelerator - Improve global application availability and performance using the AWS global network - Leverage the AWS internal network to optimize the route to your application (60% improvement) - 2 Anycast IP are created for your application and traffic is sent through Edge Locations - The Edge locations send the traffic to your application - Test the tool at: ### AWS Global Accelerator vs CloudFront - They both use the AWS global network and its edge locations around the world - Both services integrate with AWS Shield for DDoS protection. - CloudFront – Content Delivery Network - Improves performance for your cacheable content (such as images and videos) - Content is served at the edge - Global Accelerator - No caching, proxying packets at the edge to applications running in one or more AWS Regions. - Improves performance for a wide range of applications over TCP or UDP - Good for HTTP use cases that require static IP addresses - Good for HTTP use cases that required deterministic, fast regional failover ## AWS Outposts - **Hybrid Cloud**: businesses that keep an on - premises infrastructure alongside a cloud infrastructure - Therefore, two ways of dealing with IT systems: • One for the AWS cloud (using the AWS console, CLI, and AWS APIs) - One for their on-premises infrastructure - **AWS Outposts are “server racks”** that offers the same AWS infrastructure, services, APIs & tools to build your own applications on-premises just as in the cloud - **AWS will setup and manage “Outposts Racks”** within your on-premises infrastructure and you can start leveraging AWS services on-premises - You are responsible for the Outposts Rack physical security ### AWS Outposts Benefits - Low-latency access to on-premises systems - Local data processing - Data residency - Easier migration from on-premises to the cloud - Fully managed service - Some services that work on Outposts: - EC2 - EBS - S3 - EKS - ECS - RDS - EMR ## AWS WaveLength - WaveLength Zones are infrastructure deployments embedded within the telecommunications providers’ datacenters at the edge of the 5G networks - Brings AWS services to the edge of the 5G networks - Example: EC2, EBS, VPC… - Ultra-low latency applications through 5G networks - Traffic doesn’t leave the Communication Service Provider’s (CSP) network - High-bandwidth and secure connection to the parent AWS Region - No additional charges or service agreements - Use cases: Smart Cities, ML-assisted diagnostics, Connected Vehicles, Interactive Live Video Streams, AR/VR, Real-time Gaming ## AWS Local Zones - Places AWS compute, storage, database, and other selected AWS services closer to end users to run latency-sensitive applications - Extend your VPC to more locations – “Extension of an AWS Region” - Compatible with EC2, RDS, ECS, EBS, ElastiCache, Direct Connect … - Example: - AWS Region: N. Virginia (us-east-1) - AWS Local Zones: Boston, Chicago, Dallas, Houston, Miami ## Global Applications - Summary - Global DNS: Route 53 - Great to route users to the closest deployment with least latency - Great for disaster recovery strategies - Global Content Delivery Network (CDN): CloudFront - Replicate part of your application to AWS Edge Locations – decrease latency - Cache common requests – improved user experience and decreased latency - S3 Transfer Acceleration - Accelerate global uploads & downloads into Amazon S3 - AWS Global Accelerator - Improve global application availability and performance using the AWS global network - AWS Outposts - Deploy Outposts Racks in your own Data Centers to extend AWS services - AWS WaveLength - Brings AWS services to the edge of the 5G networks - Ultra-low latency applications - AWS Local Zones - Bring AWS resources (compute, database, storage, …) closer to your users - Good for latency-sensitive applications * * * [ Deploying and Managing Infrastructure at Scale](./deploying.md)           [ List](../README.md)           [Cloud Integration ](./cloud_integration.md)