The good parts of AWS - A visual summary January 18, 2020

What database should we use ?

What is the best hosting option ?

Which AWS services should we use and which ones should we avoid ?

With the multiplication of online services, technical choices can get very time consuming. No one has the time to test every available service in order to make the right choice. The good parts of AWS, an Ebook by Daniel Vassallo and Josh Pschorr, gives an insider view of some of the multiple AWS services. The goal is to help the reader find his own default choices when faced with a technical decision.

In this summary I’ll just scratch the surface of some of the Do’s and Don’ts that are provided in the Ebook. The Ebook contains a lot more details, examples and insider explanations of these services. You can see the complete table of content and get the Ebook here.

DynamoDB

DynamoDB is a non-relational database that has two main features : it’s immediately consistent and highly-durable (unlike Redis).

Data is highly durable Data needs to be sent across the network Data is immediately consistent

🔼️ important choice factor

🔼️ important choice factor

🔽 less important choice factor

↔️ You'll have to choose

👎 Avoid

S3

As many parallel uploads and downloads as you want Consider using S3 when storing anything No capacity management

👍 We like

⚠︎ Be careful

⚠︎ Be careful

👎 Avoid

👎 Avoid

EC2

A computer in the cloud, similar to your local one Pick a server type, don't bother with machine configs Pay for running time

👍 We like

↔️ You'll have to choose

👎 Avoid

😱 Scary

👍 You should use

Lambda

Most simple way to run code in the cloud Better adapted for small code that doesn't change often

✅ Do

👎 Do not

⚠︎ Limitation

SQS & Kinesis

You can use either SQS or Kinesis when you have a queue of asynchronous processes that you need to consume.

SQS Kinesis Strict Ordering ❌ ✅ No Duplicates ❌ ✅ Number of consumers 1 Unlimited Capacity management and limits 👍 No capacity management Needs shard monitoring Cost for 1Kb x 500 messages / day $34.56 $0.96 Underlying data structure multiple queues like a durable linked list

👍 Good to know

ELB

ELB lay between the internet and app instance(s) 3 types of AWS ELB

ALB or Application Load Balancer is a reverse proxy server NLB or Network Load Balancer is a sophisticated network router Classic, A legacy option

ALB - Application Load Balancer NLB - Network Load Balancer How Proxies HTTP requests Routes network packets TLS/HTTPS ✅ ✅ TCP passthrough ❌ ✅ reverse proxy features ✅ ❌ Scale Don’t scale fast enough ✅ Cost - Slightly less expensive Speed - A few milliseconds faster Advice If you need specific ALB features 👍 Start with NLB

Discuss on Twitter

Join the newsletter I write about the web, the cloud and leveling up as a developer. Subscribe