Build Better Applications with AWS
Amazon Web Services (AWS) has been one of the most significant advancements in the history of the internet. It's revolutionized the way we build and deploy web applications, providing a highly available, elastic infrastructure that you can deploy to in seconds.
As a web developer, learning AWS can be a game-changer for your career. Even if you have no prior experience with infrastructure or cloud computing, AWS provides a comprehensive suite of services that enable you to build anything you can imagine. With over 200 services, AWS caters to every aspect of web application infrastructure, including compute, storage, databases, machine learning, and more.
When you learn to build on AWS, you'll no longer have to rely on cloud services that charge several times the price of running on AWS directly. You'll be able to build and deploy applications just like you would with Vercel or Netlify, but with the added control, flexibility, and cost-effectiveness that comes with using AWS directly.
This tutorial is your gateway to the world of AWS. You'll learn how to set up your first AWS account, navigate the console, configure the AWS CLI, and define your application's requirements with infrastructure as code (IaC) frameworks like SST. As well, you'll learn which of the 200+ services matter for web developers, and have a working understanding of each of these critical building blocks. By the end, you'll have the skills and confidence to build and deploy modern web applications on AWS.
In addition to all of the above, here's what else you'll find in this tutorial:
Getting Started with the AWS Free Tier
- Learn about the AWS Free Tier and how it allows you to explore and use various AWS services without incurring charges, sufficient for learning and development purposes.
- Understand the limits and caveats of the free tier offerings for different services to avoid unexpected charges while building your features.
Setting Up Your AWS Account and Navigating the Console
- Walk through the process of creating an AWS account, security settings, and configuring basic billing alerts to receive notifications for usage outside the free tier.
- Navigate the AWS Console, including pinning services for quick access, and ensuring you're in the correct region when working with regional services.
Organizing Accounts for Development and Production
- Use AWS Organizations to manage multiple AWS accounts and isolate production resources, preventing accidental deployments and saving headaches in the long run.
- Understand the basics of Organizational Units (OUs) and how they allow you to manage security and governance for multiple AWS accounts.
Securing Access with IAM Identity Center
- Set up IAM Identity Center to securely manage access to multiple AWS accounts without the risks associated with long-lived access keys.
- Create users, set up multi-factor authentication, and assign permission sets for each type of AWS account (management, development, and production).
Configuring the AWS CLI
- Learn how to install the AWS CLI, create a configuration file with profiles for each account, log in to each profile, and verify access using AWS CLI commands.
- Use the AWS CLI to connect to your AWS accounts through IAM Identity Center, allowing your local development environment to interact with AWS resources.
Embracing Infrastructure as Code with SST
- Understand the concept of infrastructure as code (IaC) and how it empowers developers to take ownership of infrastructure and build complex systems efficiently.
- Learn about SST, a modern IaC framework that seamlessly integrates with web frameworks like Next.js, Astro, SolidStart, SvelteKit, and Remix.
- Set up a Next.js app with SST and deploy your application globally within the AWS free tier.
Exploring Your Deployed Resources in AWS
- View and understand the various resources created in your AWS account when deploying with IaC.
- Use the Resource Explorer service for searching and inventorying services and resources across all regions in your account.
- Understand Amazon Resource Names (ARNs) and how they uniquely identify resources in AWS.
- Use tags and query syntax in Resource Explorer to filter resources based on custom needs and view resources specific to a particular app and stage.