AWS is a fantastic way to host your web projects, but it can be intimidating if you're accustomed to the simplicity of Netlify and Vercel.

Why bother with AWS?

There are a few reasons:

💰 Cost efficiency
🎯 Greater control
⚡ Higher performance ceiling

A (practical) thread.
While AWS is made up of an overwhelming number of services (200+), you only need to dive into a few of those services to effectively host your web sites and apps.

In this thread, I'll cover three of those services: S3, Route53, and CloudFront.
S3 (Simple Storage Service)

If you're building apps/sites of the JAMstack variety, S3 will be one of the first services you should get familiar with.

It's pretty simple. It stores "objects" in "buckets".
You can push your web assets (js, css, html, etc.) to a bucket and host a simple site on S3 with some minor configuration.

Essentially, turn on S3 website hosting and you're up and running in a few minutes.
Even if you run more traditional apps on IaaS or containers, you'll want to leverage S3 for any static assets that need to be served up.
You can define metadata on objects for headers like Content-Type, Cache-Control, etc.

CORS configuration allows you to work around your CORS issues; fun 😅.
Route53

Want to setup a custom domain for your new S3 site? That's where Route53 comes in.

This service is split into two offerings: domain registration and DNS services.
Route53 domain registration allows you to buy domains you probably won't use inside of AWS rather than GoDaddy, Namecheap, etc.

There are some TLD limitations, but I love paying for my side project domains on my AWS bill.

Registering your domain in Route53 also plays nice with:
Route53 DNS

In order to configure DNS on Route53, you'll create a "Hosted Zone".

Hosted Zones will map 1-to-1 with domains you've purchased (on Route53 or elsewhere).

If you register your domain on Route53, it'll create a public Hosted Zone for you that's pre-configured.
If your domain lives outside of AWS, you'll need to update the nameservers on your domain registrar to point to the Hosted Zone's NS record value.
Once you have a Hosted Zone and your domain nameservers are pointed at it, you can add a simple A record to point your domain at an S3 bucket.

Route53 calls these "Alias" records, and they allow you to point at a variety of AWS resources—including buckets—directly.
CloudFront

An S3 bucket can be a quick way to get your app or site up and running, but you may eventually want a CDN for speedy delivery of your assets all over the globe.

That's where CloudFront comes in.

You configure CloudFront "distributions" with any number of "origins".
Origins are sources of content that will be served and cached via CloudFront's global network of edge locations.

You'll configure your S3 bucket as an origin for a CloudFront distribution and then point your Route53 alias record at the CF distribution (instead of the bucket).
There are a ton of options when configuring a CloudFront distribution, and I won't delve too deeply here.

Just know that you can fine tune your site's delivery through CloudFront, and you're going to have more control than you would with Netlify/Vercel.
With this combination of S3, CloudFront, and Route53 you can mostly replicate the functionality of third-party hosting providers, but with lower costs (as you scale) and increased flexibility.
I understand this approach isn't for everyone.

Netlify and Vercel are great when you just want something that works without much effort.

This is especially true if you're not expecting much traffic—both of these services offer generous free tiers.
However, I hope this thread makes it clear that you don't have to understand dozens of AWS services in order to host your web projects.

By learning just a few key services, you'll add another tool to your toolbelt.

And, you might discover a passion for infrastructure; I did! 🤓

• • •

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

Keep Current with Adam Elmore 🔴

Adam Elmore 🔴 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 @aeduhm

19 May
Earlier this year, I prepared for and passed 12 AWS certification exams.

This thread is an attempt to distill my learnings into a practical guide for others that are pursuing AWS certs.
If you're more of an auditory learner, I recently presented much of this information to my local AWS User Group.

You can watch the talk on YouTube (~1 hour):
There are lots of reasons to pursue AWS certifications, and I'll assume you're already convinced of their value.

If you do need some convincing—or you're just curious—I did briefly cover the "why" in my talk ☝️.
Read 73 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!

:(