CloudFront is a ๐ontent ๐elivery ๐กetwork: a globally distributed set of caching servers that can store content returned by your origin servers that enable fast & low latency requests to your content around the globe.
{ 2/14 }
Citing AWS' blog for Prime Days 2021, CloudFront "handled a peak load of over ๐ฎ๐ต๐ฌ ๐บ๐ถ๐น๐น๐ถ๐ผ๐ป ๐๐ง๐ง๐ฃ ๐ฟ๐ฒ๐พ๐๐ฒ๐๐๐ ๐ฝ๐ฒ๐ฟ ๐บ๐ถ๐ป๐๐๐ฒ, for a total of over ๐ฒ๐ฌ๐ฌ ๐ฏ๐ถ๐น๐น๐ถ๐ผ๐ป ๐๐ง๐ง๐ฃ ๐ฟ๐ฒ๐พ๐๐ฒ๐๐๐" ๐ฅ
A distribution is an actual instantiation of CloudFront. It's where you define all your settings, including the origins from where CloudFront can fetch the content if it's not yet stored in its edge locations.
{ 4/14 }
๐ข๐ฟ๐ถ๐ด๐ถ๐ป๐
An origin for your content can be basically anything that is able to serve content via HTTP. If looking at AWS native services, S3 is a common choice to store content and distribute it via CloudFront.
{ 5/14 }
You can specify a ๐ขrigin ๐ccess ๐dentity (OAI) and add a policy to your S3 bucket so only this CloudFront distribution is able to retrieve content from this bucket.
As CloudFront is able to detect the request's origin, you can add geo-restriction rules which prevent users from specific geographic locations from accessing content.
{ 8/14 }
๐๐ฎ๐บ๐ฏ๐ฑ๐ฎ@๐๐ฑ๐ด๐ฒ
Run general-purpose code on regional edge locations around the world.
It's possible to
โข do third party calls via HTTP
โข invoke other AWS services like DynamoDB or S3
โข integrations with 3rd party authorization providers
{ 9/14 }
There are four different occasions for which you can attach a Lambda@Edge function:
โข Viewer Request & Response - invoked at the start/end of all requests
โข Origin Request & Response - only when CloudFront does request the origin or retrieves a response
The lightweight version of Lambda@Edge with fewer capabilities, but even better latency and way (1/6th of Lambda@Edge) cheaper.
Example use-cases:
โข access control and authorization
โข HTTP redirects
โข cache manipulation
{ 11/14 }
From a location perspective, both function types are very different.
Your Lambda@Edge function will be executed in one of AWS' ๐ญ๐ฏ ๐ฟ๐ฒ๐ด๐ถ๐ผ๐ป๐ฎ๐น edge caches.
Your CloudFront function on the other hand can run at more than ๐ฎ๐ญ๐ด ๐ฒ๐ฑ๐ด๐ฒ ๐น๐ผ๐ฐ๐ฎ๐๐ถ๐ผ๐ป๐!
{ 12/14 }
More technical differences between CloudFront functions & Lambda@Edge:
โข Problem Statement
โข What to Monitor?
โข Performance Monitoring
โข Costs & Usage
โข Monitoring Tools
โข Benefits of Serverless Monitoring
{ 1/28 }
Serverless architectures bring us a lot of known benefits:
โข less operation overhead
โข only paying for actually used resources
โข reduced cycle times due to small, often independent deployment units
โข instant scaling
There's a lot that comes out of the box to gain insights into how well your serverless app is performing
A quick overview to get you started โ
1๏ธโฃ Amazon CloudWatch
CloudWatch automatically monitors your functions on your behalf. It reports a lot of useful metrics:
โข number of invocations
โข execution durations
โข occurred errors
โข function throttles
Everything is exposed on a function level!
2๏ธโฃ Amazon CloudTrail
CloudTrail offers you governance, compliance & auditing features for several services, including Lambda.
It enables you to log all (encryption supported!) actions taken regarding your infrastructure, regardless if it's via the console UI or AWS SDK!
โข Introduction
โข Importance of Messaging Systems
โข Fundamentals
โข Queue Types
โข Visibility Timeouts
โข Retention Periods
โข Limitations
{ 1/22 }
๐๐ป๐๐ฟ๐ผ๐ฑ๐๐ฐ๐๐ถ๐ผ๐ป
Believe it or not: SQS was the ๐ณ๐ถ๐ฟ๐๐ publicly launched service by AWS!
Quoting Jeff Bar:
"We launched the Simple Queue Service in ๐น๐ฎ๐๐ฒ ๐ฎ๐ฌ๐ฌ๐ฐ, Amazon S3 in early 2006, and Amazon EC2 later that summer."
Thanks for all your interest in my AWS 1x1 threads! ๐ ๐
The good news: ๐๐ต๐ฒ๐ฟ๐ฒ'๐ ๐ฎ ๐น๐ผ๐ ๐บ๐ผ๐ฟ๐ฒ ๐ถ๐ป ๐๐ต๐ฒ ๐ฝ๐ถ๐ฝ๐ฒ๐น๐ถ๐ป๐ฒ!
... also for Azure ๐
Didn't see the previous ones yet?
๐๐ถ๐ป๐ธ๐ ๐๐ผ ๐ฎ๐น๐น ๐บ๐ ๐ฟ๐ฒ๐ฐ๐ฒ๐ป๐ ๐ฝ๐ผ๐๐๐ ๐ฎ๐ฟ๐ฒ ๐ฏ๐ฒ๐น๐ผ๐ โ