Serverless Backend with AWS Lambda & API Gateway · บทเรียน

การทำให้การนำแอปพลิเคชันไร้เซิร์ฟเวอร์ไปใช้งานเป็นอัตโนมัติ

กำหนดค่าไปป์ไลน์ CI/CD ให้นำแอปพลิเคชันไร้เซิร์ฟเวอร์ที่กำหนดด้วย AWS SAM หรือ CloudFormation ไปใช้งานโดยอัตโนมัติ

บทเรียน 3 จาก 411 ขั้นตอน

การทำให้การนำแอปพลิเคชันไร้เซิร์ฟเวอร์ไปใช้งานเป็นอัตโนมัติ เป็นบทเรียน Serverless Backend with AWS Lambda & API Gateway ฟรีบน CoddyKit นี่คือบทเรียนที่ 3 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Serverless Backend with AWS Lambda & API Gateway และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Serverless Backend with AWS Lambda & API Gateway มีบทเรียนทั้งหมด 4 บทเรียน

บางส่วนของบทเรียนนี้ยังไม่ได้รับการแปล และแสดงเป็นภาษาอังกฤษ

Automating Serverless Deployment

Welcome to the final lesson on CI/CD for serverless applications! We've covered source control, building, and pipeline orchestration.

Today, we'll focus on the crucial last step: automating the deployment of your serverless applications to AWS.

Why Automated Deployments?

Automated deployments are essential for modern serverless development. They bring several key benefits:

  • Speed: Deploy new features or bug fixes rapidly.
  • Consistency: Ensure every deployment follows the same process, reducing human error.
  • Reliability: Integrate with testing to deploy only validated code.
  • Rollback: Quickly revert to a previous working version if issues arise.

This ensures your users always get a stable and up-to-date experience.

IaC for Serverless Deployments

Serverless deployments heavily rely on Infrastructure as Code (IaC). This means defining your AWS resources (like Lambda functions, API Gateways, DynamoDB tables) in code.

The two main IaC tools we use for serverless on AWS are AWS CloudFormation and AWS Serverless Application Model (SAM).

SAM is an extension of CloudFormation, making it easier to define serverless resources.

SAM Template for Deployment

A SAM template describes your serverless application. When deployed, SAM translates this into CloudFormation, which then provisions your AWS resources.

Here's a minimal SAM template for a simple Lambda function:

AWSTemplateFormatVersion: '2010-09-09'
Transform: AWS::Serverless-2016-10-31
Description: A simple Lambda function

Resources:
  MyHelloWorldFunction:
    Type: AWS::Serverless::Function
    Properties:
      Handler: app.lambda_handler
      Runtime: python3.9
      CodeUri: s3://your-s3-bucket/path/to/code.zip
      MemorySize: 128
      Timeout: 30

The `sam deploy` Command

The sam deploy command is what you'd typically run from your local machine to deploy a SAM application. In a CI/CD pipeline, CodeBuild will execute this or a similar CloudFormation command.

It takes your packaged application (often a .zip file uploaded to S3) and creates/updates a CloudFormation stack.

sam deploy \
  --template-file packaged.yaml \
  --stack-name my-serverless-app-dev \
  --s3-bucket my-deployment-bucket \
  --capabilities CAPABILITY_IAM \
  --region us-east-1

CodePipeline's Deploy Stage

In AWS CodePipeline, the 'Deploy' stage is where your application gets provisioned onto AWS. This stage typically follows a 'Build' stage where your code is compiled and packaged.

You configure a 'Deploy' action within this stage to use either AWS CloudFormation or directly deploy a SAM template via CloudFormation.

Configuring CloudFormation Deploy

To add a deployment action in CodePipeline:

  1. Choose AWS CloudFormation as the Action provider.
  2. Set the Action mode to Create or update a stack.
  3. Specify the Stack name (e.g., my-prod-app).
  4. Provide the Template and Configuration artifacts (output from your Build stage).
  5. Define an IAM role that CloudFormation will assume to create resources.

This links your built artifact to the deployment process.

Environment-Specific Deployments

A common CI/CD practice is deploying to different environments (e.g., dev, staging, prod).

You can achieve this by:

  • Using different stack names for each environment.
  • Passing CloudFormation parameters to override values in your template (e.g., database names, API endpoints).
  • Having separate CodePipelines or stages for each environment.

This allows you to test thoroughly before deploying to production.

Deployment Monitoring & Rollbacks

AWS CloudFormation (and thus SAM) includes built-in rollback capabilities. If a deployment fails (e.g., a resource cannot be created), CloudFormation automatically attempts to revert the stack to its previous stable state.

You can monitor deployment progress directly in the AWS CodePipeline console, CloudFormation console, or via CloudWatch events.

Deployment Automation Check

When automating serverless deployments with AWS CodePipeline and SAM/CloudFormation, what is the primary purpose of the 'Deploy' stage?

Recap: Automated Deployments

In this lesson, we learned about automating serverless deployments using AWS CodePipeline with SAM and CloudFormation.

  • Automated deployments provide speed, consistency, and reliability.
  • Infrastructure as Code (IaC) with SAM/CloudFormation defines your resources.
  • The sam deploy command (or CloudFormation actions) provisions resources.
  • CodePipeline's 'Deploy' stage uses IaC artifacts to create/update AWS stacks.
  • Parameter overrides enable environment-specific deployments.
  • CloudFormation provides automatic rollback for failed deployments.

You now have a complete picture of building a CI/CD pipeline for your serverless applications!

เริ่มต้นได้ฟรี

เรียนรู้ Serverless Backend with AWS Lambda & API Gateway ด้วย AI tutor — ฟรี

เขียนและเรียกใช้โค้ดจริงในเบราว์เซอร์ของคุณ รับความช่วยเหลือทันทีจาก AI tutor 24/7 และเรียนรู้ต่อจากที่คุณหยุดบนเว็บหรือในแอป

คอร์ส
12
บทเรียน
48

คำถามที่พบบ่อย

บทเรียน “การทำให้การนำแอปพลิเคชันไร้เซิร์ฟเวอร์ไปใช้งานเป็นอัตโนมัติ” ฟรีหรือไม่

ใช่ — ข้อความเต็มของ “การทำให้การนำแอปพลิเคชันไร้เซิร์ฟเวอร์ไปใช้งานเป็นอัตโนมัติ” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Serverless Backend with AWS Lambda & API Gateway ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Serverless Backend with AWS Lambda & API Gateway มีบทเรียนทั้งหมด 4 บทเรียน

คุณจะเรียนรู้อะไรในบทเรียน “การทำให้การนำแอปพลิเคชันไร้เซิร์ฟเวอร์ไปใช้งานเป็นอัตโนมัติ”

กำหนดค่าไปป์ไลน์ CI/CD ให้นำแอปพลิเคชันไร้เซิร์ฟเวอร์ที่กำหนดด้วย AWS SAM หรือ CloudFormation ไปใช้งานโดยอัตโนมัติ คุณปฏิบัติ Serverless Backend with AWS Lambda & API Gateway ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน

คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Serverless Backend with AWS Lambda & API Gateway หรือไม่

ไม่จำเป็นต้องมีประสบการณ์มาก่อน Serverless Backend with AWS Lambda & API Gateway บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 3 จากทั้งหมด 4 บทเรียน

บทเรียน “การทำให้การนำแอปพลิเคชันไร้เซิร์ฟเวอร์ไปใช้งานเป็นอัตโนมัติ” ใช้เวลานานแค่ไหน

บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย

ฉันเขียนและรันโค้ดในบทเรียน Serverless Backend with AWS Lambda & API Gateway นี้ได้ไหม

ได้ บทเรียน Serverless Backend with AWS Lambda & API Gateway ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ

บทเรียนทั้งหมดในหลักสูตรนี้

  1. CodeCommit และ CodeBuild
  2. CodePipeline สำหรับการนำไปใช้งาน
  3. การทำให้การนำแอปพลิเคชันไร้เซิร์ฟเวอร์ไปใช้งานเป็นอัตโนมัติ
  4. การนำส่งที่ปลอดภัยด้วย Canary และการย้อนกลับ
← กลับไปที่ Serverless Backend with AWS Lambda & API Gateway