๐Ÿ“š AWS 1x1 - ๐— ๐—ผ๐—ป๐—ถ๐˜๐—ผ๐—ฟ๐—ถ๐—ป๐—ด & ๐—”๐˜‚๐—ฑ๐—ถ๐˜๐—ถ๐—ป๐—ด ๐—Ÿ๐—ฎ๐—บ๐—ฏ๐—ฑ๐—ฎ

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!
3๏ธโƒฃ AWS X-Ray

With X-Ray, you can add fine-grained traces for your function invocations to easily determine the root causes of errors or performance bottlenecks. It enables you to define trace spans to strictly separate sub-processes or downstream calls!
4๏ธโƒฃ AWS Config

AWS Config allows you to track configuration changes (e.g. concurrency settings, code size, timeout settings) for your functions as well as changes to the executions roles, attached subnets, or security groups.

It's a detailed view about your functions lifecycles
That's it - the basics are covered! ๐ŸŽ‰
Always keep in mind that you never want to run an app on blindsight - you need to know what's going on.

For an extended & detailed out-of-the-box solution, third-party tools like @thedashbird got you covered for your next production app ๐Ÿ‘ฉโ€๐Ÿ’ป

โ€ข โ€ข โ€ข

Missing some Tweet in this thread? You can try to force a refresh
ใ€€

Keep Current with Tobias Schmidt

Tobias Schmidt Profile picture

Stay in touch and get notified when new unrolls are available from this author!

Read all threads

This Thread may be Removed Anytime!

PDF

Twitter may remove this content at anytime! Save it as PDF for later use!

Try unrolling a thread yourself!

how to unroll video
  1. Follow @ThreadReaderApp to mention us!

  2. From a Twitter thread mention us with a keyword "unroll"
@threadreaderapp unroll

Practice here first or read more on our help page!

More from @tpschmidt_

5 Nov
๐Ÿ“š AWS 1x1 - ๐—ฉ๐—ฃ๐—– & ๐—ก๐—ฒ๐˜๐˜„๐—ผ๐—ฟ๐—ธ๐—ถ๐—ป๐—ด

Your logically isolated virtual network in the cloud.

From Security Groups, over Route Tables to VPC Peering โ†“
๐—ง๐—ต๐—ฟ๐—ฒ๐—ฎ๐—ฑ ๐—ข๐˜ƒ๐—ฒ๐—ฟ๐˜ƒ๐—ถ๐—ฒ๐˜„ ๐Ÿงต

โ€ข VPCs & Subnets
โ€ข Route Tables
โ€ข Internet Gateway
โ€ข NAT Gateways & Instances
โ€ข Security Groups
โ€ข Network Access Control Lists
โ€ข VPC Peering

{ 1/14 }
Maybe you didn't know, but Amazon ๐—ฉirtual ๐—ฃrivate ๐—กetwork is the networking layer for EC2.

This virtual network imitates your local data center, but with all the benefits of the cloud's scalable infrastructure.

Knowing about VPC & networking is crucial.

{ 2/14 }
Read 16 tweets
3 Nov
๐Ÿ“š ๐—”๐—ช๐—ฆ ๐Ÿญ๐˜…๐Ÿญ - ๐—ฆ๐—ค๐—ฆ

Your fully managed message queue service & a serverless fan's best friend.

From queue types, over visibility timeouts to message groups โ†“
๐—ง๐—ต๐—ฟ๐—ฒ๐—ฎ๐—ฑ ๐—ข๐˜ƒ๐—ฒ๐—ฟ๐˜ƒ๐—ถ๐—ฒ๐˜„ ๐Ÿงต

โ€ข 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."

jeff-barr.com/2014/08/19/my-โ€ฆ

{ 2/22 }
Read 24 tweets
2 Nov
Thanks for all your interest in my AWS 1x1 threads! ๐Ÿ“š ๐Ÿ‘‹

The good news: ๐˜๐—ต๐—ฒ๐—ฟ๐—ฒ'๐˜€ ๐—ฎ ๐—น๐—ผ๐˜ ๐—บ๐—ผ๐—ฟ๐—ฒ ๐—ถ๐—ป ๐˜๐—ต๐—ฒ ๐—ฝ๐—ถ๐—ฝ๐—ฒ๐—น๐—ถ๐—ป๐—ฒ!
... also for Azure ๐Ÿ’™

Didn't see the previous ones yet?
๐—Ÿ๐—ถ๐—ป๐—ธ๐˜€ ๐˜๐—ผ ๐—ฎ๐—น๐—น ๐—บ๐˜† ๐—ฟ๐—ฒ๐—ฐ๐—ฒ๐—ป๐˜ ๐—ฝ๐—ผ๐˜€๐˜๐˜€ ๐—ฎ๐—ฟ๐—ฒ ๐—ฏ๐—ฒ๐—น๐—ผ๐˜„ โ†“
1๏ธโƒฃ ๐—›๐—ผ๐˜„ ๐˜๐—ผ ๐—ด๐—ฒ๐˜ ๐˜€๐˜๐—ฎ๐—ฟ๐˜๐—ฒ๐—ฑ ๐˜„๐—ถ๐˜๐—ต ๐—”๐—ช๐—ฆ

2๏ธโƒฃ ๐—ก๐—ผ๐˜ ๐—ณ๐—ฒ๐—ฎ๐—ฟ๐—ถ๐—ป๐—ด ๐—–๐—ผ๐˜€๐˜๐˜€ ๐—ผ๐—ณ ๐˜๐—ต๐—ฒ ๐—–๐—น๐—ผ๐˜‚๐—ฑ

Read 7 tweets
27 Oct
๐Ÿ“š AWS 1x1: ๐—ช๐—ต๐—ฎ๐˜ ๐—ฎ๐—ฟ๐—ฒ ๐—Ÿ๐—ฎ๐—บ๐—ฏ๐—ฑ๐—ฎ ๐˜๐—ฟ๐—ถ๐—ด๐—ด๐—ฒ๐—ฟ๐˜€?

For a function to execute, an event must occur.
Most know about API Gateway for REST services as an event source.

But a lot more AWS resources can trigger your Lambda โ†“
Almost anything that happens within your AWS account is an event.

โ€ข writing a record to DynamoDB
โ€ข uploading a file to S3
โ€ข queuing a message in SQS
โ€ข a viewer request to your CloudFront distribution

All of those events can be used to trigger a Lambda function.

{ 1/12 }
There are two different kinds of invocation types: ๐˜€๐˜†๐—ป๐—ฐ๐—ต๐—ฟ๐—ผ๐—ป๐—ผ๐˜‚๐˜€ & ๐—ฎ๐˜€๐˜†๐—ป๐—ฐ๐—ต๐—ฟ๐—ผ๐—ป๐—ผ๐˜‚๐˜€

Synchronous event sources need to wait for your Lambda function to return a response.
Asynchronous don't.

If invoking functions via the SDK, this can be specified!

{ 2/12 }
Read 14 tweets
26 Oct
๐Ÿ“š Cloud 1x1 - ๐—ฆ๐—ฒ๐—ฟ๐˜ƒ๐—ฒ๐—ฟ๐—น๐—ฒ๐˜€๐˜€ ๐—”๐—ฟ๐—ฐ๐—ต๐—ถ๐˜๐—ฒ๐—ฐ๐˜๐˜‚๐—ฟ๐—ฎ๐—น ๐—ฃ๐—ฎ๐˜๐˜๐—ฒ๐—ฟ๐—ป๐˜€

You don't need to re-invent the wheel.
You can rely on field-tested patterns.

Let's explore some common ones โ†“
๐—ฃ๐—ฎ๐˜๐˜๐—ฒ๐—ฟ๐—ป ๐—ข๐˜ƒ๐—ฒ๐—ฟ๐˜ƒ๐—ถ๐—ฒ๐˜„

โ€ข Fan-in & Fan-out
โ€ข Simple Web Service
โ€ข Publish/Subscribe
โ€ข Strangler
โ€ข Aggregator

{ 1/7 }
๐—™๐—ฎ๐—ป-๐—ถ๐—ป & ๐—™๐—ฎ๐—ป-๐—ผ๐˜‚๐˜

Common problem: large tasks that are exceeding Lambda's execution time limit
With Fan-out, you're splitting those large tasks into small ones and delegating those to Lambda workers.
Afterward, results are aggregated (= Fan-in).

{ 2/7 }
Read 11 tweets
25 Oct
๐—Ÿ๐—ฒ๐˜'๐˜€ ๐—ฏ๐—ฒ ๐—ต๐—ผ๐—ป๐—ฒ๐˜€๐˜: generally, debugging is not a fun task ๐Ÿคข

Especially for serverless, event-driven & distributed systems.

From Lambda's logging basics to ๐˜€๐—ฎ๐˜ƒ๐—ถ๐—ป๐—ด ๐˜๐—ถ๐—บ๐—ฒ & ๐—ป๐—ฒ๐—ฟ๐˜ƒ๐—ฒ๐˜€ โ†“
Lambda's a serverless technology provided by AWS.
But that ๐—ฑ๐—ผ๐—ฒ๐˜€๐—ป'๐˜ ๐—บ๐—ฒ๐—ฎ๐—ป that there are no servers.

In the background, there are countless micro-containers running on top of the traditional servers.

Where do all the logs of those containers go to?
By default, they will end up in CloudWatch.
Every Lambda will receive its own ๐—น๐—ผ๐—ด ๐—ด๐—ฟ๐—ผ๐˜‚๐—ฝ.
Like a repository for logs.

Not only that, every micro-container will create a new so-called ๐—น๐—ผ๐—ด ๐˜€๐˜๐—ฟ๐—ฒ๐—ฎ๐—บ.
Think of it as a text file where logs are written to.
Read 9 tweets

Did Thread Reader help you today?

Support us! We are indie developers!


This site is made by just two indie developers on a laptop doing marketing, support and development! Read more about the story.

Become a Premium Member ($3/month or $30/year) and get exclusive features!

Become Premium

Too expensive? Make a small donation by buying us coffee ($5) or help with server cost ($10)

Donate via Paypal Become our Patreon

Thank you for your support!

Follow Us on Twitter!

:(