You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
# AWS Advanced Workshop: Container Orchestration and Delivery
1
+
# AWS Workshop
2
+
3
+

2
4
3
-

4
5
5
6
## Introduction
6
7
7
-
Welcome to the AWS Advanced Workshop! This workshop is designed for developers who want to learn about container orchestration, load balancing, and content delivery on AWS. Through hands-on labs, you'll build a containerized application infrastructure using Pulumi.
8
+
Welcome to this AWS Workshop! It is designed for developers who want to learn about container orchestration, load balancing, databases, lambdas
9
+
<!-- TODO update this later -->
10
+
and content delivery on AWS. Through the included hands-on labs, you'll build a containerized application infrastructure using aws-cdk.
11
+
12
+
13
+
## Target Audience
8
14
9
15
## How to Use This Guide
10
16
@@ -17,127 +23,36 @@ This workshop is structured into several labs, each focusing on a specific AWS s
17
23
18
24
Navigate through the labs in order, as each builds upon the previous one. Use the sidebar to move between sections.
19
25
26
+
27
+
<!-- TODO change or remove this
20
28
## Project Overview
21
29
22
-
This guide takes you beyond the basics of AWS, focusing on building modern containerized applications. Through the hands-on labs, you'll create a sophisticated cloud infrastructure using Amazon ECS, Application Load Balancers, and CloudFront, all orchestrated with Pulumi's infrastructure as code. You'll learn how to deploy containerized applications, manage container registries, implement load balancing, and optimize content delivery. This workshop builds upon fundamental AWS knowledge, guiding you through the practical implementation of container orchestration, high availability patterns, and scalable architectures. By the end of this workshop, you'll have hands-on experience building and deploying containerized applications on AWS, preparing you for real-world cloud architecture challenges.
30
+
This guide takes you beyond the basics of AWS, focusing on building modern containerized applications. Through the hands-on labs, you'll create a sophisticated cloud infrastructure using Amazon ECS, Application Load Balancers, and CloudFront, all orchestrated with Pulumi's infrastructure as code. You'll learn how to deploy containerized applications, manage container registries, implement load balancing, and optimize content delivery. This workshop builds upon fundamental AWS knowledge, guiding you through the practical implementation of container orchestration, high availability patterns, and scalable architectures. By the end of this workshop, you'll have hands-on experience building and deploying containerized applications on AWS, preparing you for real-world cloud architecture challenges. -->
31
+
23
32
24
33
## Prerequisites
25
34
26
-
- Basic understanding of AWS and containerization concepts
35
+
- Basic understanding of AWS, commandline and containerization concepts
27
36
- Familiarity with Docker
28
37
- AWS account with appropriate permissions
29
-
- Node.js (version 14 or later)
30
-
- Docker installed locally
31
-
- AWS CLI version 2 installed and configured
32
-
- Previous experience with Pulumi (completion of AWS Fundamentals Workshop recommended)
33
-
34
-
## Workshop Architecture Evolution
35
-
36
-
Throughout this workshop, we'll build our architecture in stages:
37
-
38
-
1.**ECS Fargate Setup**: Basic ECS cluster with Fargate launch type
-**Introduction to containerization and ECS concepts**
60
-
-**Understanding Fargate vs EC2 launch types**
61
-
-**Container networking and security**
62
-
-**Hands-On: Deploy containerized applications using Pulumi**
63
-
- Set up ECS cluster and VPC
64
-
- Define task definitions and services
65
-
- Configure container networking
66
-
67
-
#### 2. Load Balancing and Service Discovery
68
-
-**Application Load Balancer architecture**
69
-
-**Target groups and health checks**
70
-
-**SSL/TLS termination**
71
-
-**Hands-On: Implement load balancing with Pulumi**
72
-
- Create ALB and target groups
73
-
- Configure listeners and rules
74
-
- Integrate with ECS services
75
-
76
-
#### 3. Container Registry and Image Management
77
-
-**Introduction to Amazon ECR**
78
-
-**Docker image best practices**
79
-
-**Image lifecycle policies**
80
-
-**Hands-On: Build and deploy custom containers**
81
-
- Create ECR repositories
82
-
- Build and tag Docker images
83
-
- Push images to ECR
84
-
- Update ECS services
85
-
86
-
#### 4. Auto Scaling and Monitoring
87
-
-**Scaling patterns and strategies**
88
-
-**CloudWatch metrics and alarms**
89
-
-**Capacity planning**
90
-
-**Hands-On: Implement auto scaling**
91
-
- Configure scaling policies
92
-
- Set up CloudWatch alarms
93
-
- Monitor application metrics
94
-
- Test scaling behavior
95
-
96
-
#### 5. Content Delivery and Edge Computing
97
-
-**CloudFront architecture and concepts**
98
-
-**Cache behaviors and policies**
99
-
-**Edge computing patterns**
100
-
-**Hands-On: Implement CDN with Pulumi**
101
-
- Create CloudFront distributions
102
-
- Configure origins and behaviors
103
-
- Set up cache policies
104
-
- Implement SSL/TLS
105
-
106
-
#### 6. Message Processing
107
-
-**Event-driven architecture patterns**
108
-
-**Message queue concepts**
109
-
-**Dead letter queues**
110
-
-**Hands-On: Implement message processing**
111
-
- Create SQS queues
112
-
- Configure message retention
113
-
- Implement Lambda consumers
114
-
- Set up monitoring
115
-
116
-
## Workshop Duration
117
-
118
-
This is a self-paced workshop. The time ranges provided for each lab are estimates, and you should feel free to spend more time on areas you find challenging or interesting. Remember to take breaks as needed.
119
-
120
-
Total estimated time: 4-6 hours
121
-
122
-
- Lab 1: 45-60 minutes
123
-
- Lab 2: 30-45 minutes
124
-
- Lab 3: 45-60 minutes
125
-
- Lab 4: 30-45 minutes
126
-
- Lab 5: 45-60 minutes
127
-
- Lab 6: 45-60 minutes
128
-
129
-
Note: Actual duration may vary based on individual pace and prior experience.
130
-
131
-
## Conclusion
132
-
133
-
By the end of this workshop, you will have built a production-ready containerized application infrastructure on AWS. You'll understand how to orchestrate containers, implement load balancing, manage container images, and optimize content delivery. The hands-on experience with Pulumi will prepare you for implementing Infrastructure as Code in real-world scenarios.
134
-
135
-
### Next Steps
136
-
137
-
To continue your AWS learning journey:
138
-
139
-
1. Explore the AWS documentation for services covered in this workshop
140
-
2. Try applying these concepts to your own projects
141
-
3. Consider pursuing AWS certifications, starting with the AWS Certified Cloud Practitioner
142
-
143
-
Let's begin your journey into advanced AWS services!
38
+
- Docker installed
39
+
- Node.js (v22 recommended)
40
+
- AWS CLI version 2 installed
41
+
- curl or Postman installed
42
+
- jq installed (optional)
43
+
44
+
45
+
## How to use this workshop
46
+
47
+
The topics covered by this workshop are the first level chapters.
48
+
Each topic has multiple hands-on steps, which are the second level chapters.
49
+
Each step contains instructions, and a codebase containing the end-state.
50
+
51
+
If you get stuck during any of the steps, you can always check the end-state to see what you should have at the end of the particular step.
52
+
To see the difference between your current state and the end-state, you can use for example `diff -Nur --exclude=node_modules task-service goal-step-2/task-service`.
53
+
54
+
To be able to `diff`, you'll need to check out this repository locally.
55
+
56
+
It's recommended to start with the workshop from the root folder of this repository.
57
+
58
+
When this workshop describes filepaths, like `cdk/package.json`, they're always relative to that path.
Copy file name to clipboardExpand all lines: docs/2_next.md
+2Lines changed: 2 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,3 +1,5 @@
1
+
<!-- TODO -->
2
+
1
3
# Next Steps
2
4
3
5
Congratulations on completing the AWS Advanced workshop! You've learned about several advanced AWS services and best practices. This guide outlines several paths to further develop your AWS skills and apply your newfound knowledge.
Copy file name to clipboardExpand all lines: docs/3_conclusion.md
+2Lines changed: 2 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,3 +1,5 @@
1
+
<!-- TODO -->
2
+
1
3
# Conclusion
2
4
3
5
Congratulations on completing the AWS Advanced workshop! You've taken a significant step in your journey to understanding and utilizing Amazon Web Services.
0 commit comments