29 ก.ค. 2566·อ่าน 2 นาที

ข้อมูลเชิงลึกเกี่ยวกับ AWS Serverless Application Model (SAM)

ทำความเข้าใจเชิงลึกเกี่ยวกับ AWS Serverless Application Model (SAM) คุณลักษณะอันทรงพลัง วิธีการลดความซับซ้อนของการพัฒนาแอปแบบไร้เซิร์ฟเวอร์ และแนวทางปฏิบัติที่ดีที่สุดในการใช้ SAM

ข้อมูลเชิงลึกเกี่ยวกับ AWS Serverless Application Model (SAM)

ข้อมูลเบื้องต้นเกี่ยวกับโมเดลแอปพลิเคชันแบบไร้เซิร์ฟเวอร์ของ AWS

AWS Serverless Application Model (SAM) เป็นเฟรมเวิร์กแบบโอเพ่นซอร์สที่ออกแบบมาเพื่อลดความซับซ้อนของการพัฒนา การจัดการ และการปรับใช้แอปพลิเคชันแบบไร้เซิร์ฟเวอร์บน AWS Cloud ขยาย AWS CloudFormation เพื่อมอบวิธีที่มีประสิทธิภาพในการกำหนดทรัพยากรแบบไร้เซิร์ฟเวอร์ เช่น ฟังก์ชัน AWS Lambda, Amazon API Gateway API และตาราง Amazon DynamoDB ซึ่งจำเป็นสำหรับแอปพลิเคชันแบบไร้เซิร์ฟเวอร์ของคุณ AWS SAM มีข้อกำหนดเทมเพลตในรูปแบบ YAML หรือ JSON สำหรับกำหนดทรัพยากรและเปิดใช้งานทรัพยากรแบบไร้เซิร์ฟเวอร์เพื่อสร้างและเชื่อมต่อโดยอัตโนมัติ

เมื่อใช้ AWS SAM นักพัฒนาสามารถเร่งกระบวนการพัฒนาแอปพลิเคชันแบบไร้เซิร์ฟเวอร์และมุ่งเน้นที่การเขียนตรรกะของแอปพลิเคชันได้มากขึ้น นอกจากนี้ AWS SAM ยังผสานรวมกับบริการของ AWS และเครื่องมือสำหรับนักพัฒนาอื่นๆ ได้อย่างราบรื่น ทำให้ทีมพัฒนาแอปพลิเคชันแบบไร้เซิร์ฟเวอร์ในสภาพแวดล้อมที่สอดคล้องกันได้ง่ายขึ้น นอกจากนี้ยังช่วยให้นักพัฒนาสามารถทดสอบ ดีบัก และปรับใช้แอปพลิเคชันไร้เซิร์ฟเวอร์แบบโลคัลหรือระยะไกล

คุณสมบัติหลักของ AWS SAM

AWS SAM มาพร้อมกับชุดคุณสมบัติอันทรงพลังที่ทำให้การพัฒนาแอปพลิเคชันแบบไร้เซิร์ฟเวอร์มีประสิทธิภาพมากขึ้นและไม่ยุ่งยาก:

  • การกำหนดค่าการปรับใช้ครั้งเดียว: AWS SAM ทำให้การปรับใช้แบบไร้เซิร์ฟเวอร์ง่ายขึ้นโดยอนุญาตให้นักพัฒนากำหนดแอปพลิเคชันแบบไร้เซิร์ฟเวอร์และทรัพยากรในไฟล์เทมเพลตเดียว AWS CloudFormation จะจัดเตรียมและกำหนดค่าทรัพยากรที่จำเป็นโดยอัตโนมัติเมื่อมีการปรับใช้เทมเพลต
  • การทดสอบและดีบักในเครื่อง: ด้วย AWS SAM CLI นักพัฒนาสามารถเรียกใช้และดีบักแอปพลิเคชันแบบไร้เซิร์ฟเวอร์ในเครื่องก่อนที่จะปรับใช้กับระบบคลาวด์ สิ่งนี้ทำให้มั่นใจได้ว่าตรรกะของแอปพลิเคชันและการกำหนดค่าทรัพยากรทำงานได้อย่างถูกต้องก่อนที่จะส่งไปยังสภาพแวดล้อมจริง
  • แนวทางปฏิบัติที่ดีที่สุดในตัว: เทมเพลต AWS SAM มีแนวทางปฏิบัติที่ดีที่สุดในตัวหลายประการ เช่น ไวยากรณ์แบบง่าย การรองรับ CORS และการตัดทอนฟิลด์ และการจัดการนโยบายทรัพยากรโดยอัตโนมัติ แนวทางปฏิบัติที่ดีที่สุดเหล่านี้ช่วยให้นักพัฒนาปฏิบัติตามหลักเกณฑ์ของ AWS และป้องกันปัญหาทั่วไปของแอปพลิเคชันไร้เซิร์ฟเวอร์
  • เทมเพลตนโยบาย: AWS SAM มีเทมเพลตนโยบายที่นักพัฒนาสามารถใช้เพื่อจัดการการเข้าถึงทรัพยากรในแอปพลิเคชันแบบไร้เซิร์ฟเวอร์ เมื่อใช้เทมเพลตนโยบายเหล่านี้ แนวปฏิบัติที่ดีที่สุดด้านความปลอดภัยจะถูกรวมไว้โดยค่าเริ่มต้น ทำให้การสร้างและจัดการนโยบาย IAM ง่ายขึ้นอย่างมาก
  • รองรับบริการต่างๆ ของ AWS: เทมเพลต AWS SAM สามารถกำหนดทรัพยากรสำหรับบริการต่างๆ ของ AWS เช่น Lambda, API Gateway, DynamoDB, CloudWatch Events และบริการแจ้งเตือนอย่างง่าย (SNS) การสนับสนุนนี้ช่วยอำนวยความสะดวกในการผสานรวมบริการต่างๆ เพื่อสร้างแอปพลิเคชันไร้เซิร์ฟเวอร์ที่มีคุณลักษณะหลากหลายและซับซ้อน

ประโยชน์ของการใช้ AWS SAM สำหรับการพัฒนาแอปพลิเคชันแบบไร้เซิร์ฟเวอร์

การใช้ AWS SAM เพื่อพัฒนาแอปพลิเคชันแบบไร้เซิร์ฟเวอร์จะนำประโยชน์มากมายมาสู่นักพัฒนาและองค์กร:

  • การปรับใช้ที่ง่ายขึ้น: AWS SAM ช่วยลดความซับซ้อนของการปรับใช้แบบไร้เซิร์ฟเวอร์โดยการจัดเตรียมและกำหนดค่าทรัพยากรที่จำเป็นโดยอัตโนมัติตามไฟล์เทมเพลตเดียว การทำให้เข้าใจง่ายนี้ช่วยให้นักพัฒนามุ่งเน้นไปที่การเขียนตรรกะของแอปพลิเคชันมากกว่าการจัดการโครงสร้างพื้นฐาน
  • เวลาในการพัฒนาที่ลดลง: AWS SAM มอบกระบวนการพัฒนาที่คล่องตัวสำหรับแอปพลิเคชันแบบไร้เซิร์ฟเวอร์ ส่งผลให้วงจรการพัฒนาเร็วขึ้นและการใช้ทรัพยากรอย่างมีประสิทธิภาพมากขึ้น ซึ่งเป็นสิ่งสำคัญในอุตสาหกรรมที่มีการพัฒนาอย่างรวดเร็ว
  • สภาพแวดล้อมการพัฒนาที่สอดคล้องกัน: AWS SAM ผสานรวมกับบริการ เครื่องมือ และ IDE ต่างๆ ของ AWS ทำให้มีเวิร์กโฟลว์ที่สอดคล้องกันในทีมพัฒนาและเฟสต่างๆ ตั้งแต่การสร้างและทดสอบไปจนถึงการผสานรวมและการปรับใช้อย่างต่อเนื่อง
  • ประสิทธิภาพด้านต้นทุน: เมื่อใช้รูปแบบการกำหนดราคาแบบจ่ายตามการใช้งานจริงของ AWS แอปพลิเคชันแบบไร้เซิร์ฟเวอร์ที่พัฒนาด้วย AWS SAM สามารถลดค่าใช้จ่ายด้านโครงสร้างพื้นฐาน เนื่องจากผู้ใช้ต้องจ่ายเฉพาะทรัพยากรจริงที่แอปพลิเคชันของตนใช้ แทนที่จะเป็นทรัพยากรที่จัดสรรไว้ล่วงหน้า
  • ขยายความสามารถด้วยโค้ดที่กำหนดเอง: แม้ว่า AWS SAM จะทำให้กระบวนการพัฒนาง่ายขึ้น แต่ยังให้ความยืดหยุ่นในการขยายความสามารถด้วยโค้ดที่กำหนดเอง ทำให้นักพัฒนาสามารถปรับแต่งแอปพลิเคชันแบบไร้เซิร์ฟเวอร์ตามความต้องการเฉพาะของตนได้

AWS SAM นำความเรียบง่าย ประสิทธิภาพ และการประหยัดต้นทุนมาสู่การพัฒนาแอปพลิเคชันแบบไร้เซิร์ฟเวอร์ เพิ่มศักยภาพของการประมวลผลแบบไร้เซิร์ฟเวอร์ให้สูงสุด ทำให้นักพัฒนาสามารถมุ่งเน้นที่การสร้างแอปพลิเคชันที่ยอดเยี่ยมมากขึ้นและจัดการโครงสร้างพื้นฐานน้อยลง

เริ่มต้นใช้งาน AWS SAM

ในการเริ่มใช้ AWS Serverless Application Model (SAM) คุณต้องมีบัญชี AWS และติดตั้ง AWS CLI และ AWS SAM CLI บนเครื่องของคุณ ตรวจสอบให้แน่ใจว่าได้กำหนดค่า AWS CLI ด้วยข้อมูลรับรองของคุณก่อนดำเนินการต่อ เมื่อคุณตั้งค่าทุกอย่างเรียบร้อยแล้ว คุณสามารถทำตามขั้นตอนด้านล่าง:

  1. สร้างโฟลเดอร์โปรเจ็กต์ใหม่: ใช้เทอร์มินัล (หรือพรอมต์คำสั่ง) เพื่อสร้างไดเร็กทอรีใหม่สำหรับแอปพลิเคชันแบบไร้เซิร์ฟเวอร์ของคุณ ไปที่ไดเร็กทอรีเพื่อดำเนินการตั้งค่าต่อไป
  2. เริ่มต้นแอปพลิเคชัน AWS SAM ของคุณ: เรียกใช้คำสั่งต่อไปนี้ในเทอร์มินัลของคุณ:
 แซมเริ่มต้น

คำสั่งนี้เริ่มต้นแอปพลิเคชัน SAM ใหม่ โดยให้คุณมีไฟล์ template.yaml และโฟลเดอร์โค้ดที่มีฟังก์ชัน Lambda ตัวอย่าง คุณสามารถเลือกรันไทม์สำหรับฟังก์ชันไร้เซิร์ฟเวอร์ได้จากตัวเลือกที่กำหนด (เช่น Node.js, Python , Go) และเลือกเทมเพลตสำหรับแอปพลิเคชันของคุณ

  1. สำรวจไฟล์ที่สร้างขึ้น: เปิดโฟลเดอร์โครงการในโปรแกรมแก้ไขโค้ดที่คุณต้องการ และตรวจทานไฟล์ที่สร้างขึ้นเพื่อทำความเข้าใจโครงสร้างเทมเพลตและฟังก์ชัน Lambda ให้ดียิ่งขึ้น
  2. สร้างและกำหนดค่าทรัพยากรเพิ่มเติม: ใช้ไฟล์ template.yaml เพื่อกำหนดทรัพยากรที่แอปพลิเคชันไร้เซิร์ฟเวอร์ของคุณต้องการ เช่น API ฐานข้อมูล และเหตุการณ์ คุณยังสามารถแก้ไขตัวอย่างฟังก์ชัน Lambda เพื่อใช้ตรรกะของคุณเองได้
  3. ทดสอบแอปพลิเคชันแบบไร้เซิร์ฟเวอร์ของคุณแบบโลคัล: ใช้ AWS SAM CLI เพื่อทดสอบและดีบักแอปพลิเคชันแบบไร้เซิร์ฟเวอร์แบบโลคัลก่อนที่จะปรับใช้กับ AWS Cloud เรียกใช้คำสั่งต่อไปนี้ในเทอร์มินัล:
 sam ท้องถิ่นเรียกใช้

คำสั่งนี้เรียกใช้ฟังก์ชันไร้เซิร์ฟเวอร์ของคุณและแสดงเอาต์พุต ช่วยให้คุณสามารถดีบักและทดสอบแอปพลิเคชันของคุณได้

  1. ปรับใช้แอปพลิเคชันแบบไร้เซิร์ฟเวอร์ของคุณ: เมื่อคุณทดสอบแอปพลิเคชันของคุณในเครื่องแล้ว ให้ใช้คำสั่งต่อไปนี้เพื่อจัดแพคเกจและปรับใช้กับ AWS CloudFormation:
 แพ็คเกจ sam --s3-bucket your-s3-bucket-name
sam ปรับใช้ -- เทมเพลตไฟล์ template.yaml -- ชื่อสแต็ก ชื่อสแต็กของคุณ -- ความสามารถ CAPABILITY_IAM

แทนที่ <i>your-s3-bucket-name</i> , <i>template.yaml</i> และ <i>your-stack-name</i> ด้วยค่าที่เหมาะสม CAPABILITY_IAM ช่วยให้ AWS CloudFormation สร้างบทบาท IAM ที่จำเป็นสำหรับแอปพลิเคชันแบบไร้เซิร์ฟเวอร์ของคุณ

เมื่อปรับใช้แอปพลิเคชันแบบไร้เซิร์ฟเวอร์ของคุณแล้ว AWS CloudFormation จะจัดเตรียมทรัพยากรทั้งหมดที่กำหนดไว้ในไฟล์ template.yaml และคุณสามารถเริ่มใช้แอปพลิเคชันของคุณได้

AWS SAM CLI

ต่อยอดจาก Serverless สู่แอปมือถือ
ปล่อยแอป iOS และ Android แบบ native ที่เชื่อมกับ API ของคุณและรองรับฟีเจอร์มือถือ
สร้างแอปมือถือ

AWS Serverless Application Model Command Line Interface (SAM CLI) เป็นสิ่งจำเป็นสำหรับการพัฒนา ทดสอบ และปรับใช้แอปพลิเคชันแบบไร้เซิร์ฟเวอร์ มีชุดคำสั่งมากมายที่ช่วยให้คุณสามารถจัดการแอปพลิเคชันแบบไร้เซิร์ฟเวอร์ได้อย่างมีประสิทธิภาพ ต่อไปนี้เป็นคำสั่ง AWS SAM CLI ที่ใช้บ่อย:

  • sam init: เริ่มต้นแอปพลิเคชันแบบไร้เซิร์ฟเวอร์ใหม่ที่กำหนดค่าไว้ล่วงหน้าด้วยไฟล์ template.yaml และตัวอย่างฟังก์ชัน Lambda
  • sam build: สร้างแอปพลิเคชันแบบไร้เซิร์ฟเวอร์ของคุณ รวมรหัสฟังก์ชัน Lambda และการอ้างอิง
  • sam local invoke: เรียกใช้แอปพลิเคชันแบบไร้เซิร์ฟเวอร์ของคุณแบบโลคัล ทำให้คุณสามารถทดสอบและดีบักแอปพลิเคชันได้
  • sam local start-api: เริ่มเกตเวย์ API ในเครื่องสำหรับแอปพลิเคชันแบบไร้เซิร์ฟเวอร์ของคุณ ทำให้คุณสามารถทดสอบ API ของแอปพลิเคชันแบบไร้เซิร์ฟเวอร์ได้
  • แพ็คเกจ sam: จัดทำแพ็คเกจโค้ดและการอ้างอิงของแอปพลิเคชันแบบไร้เซิร์ฟเวอร์ของคุณ แล้วอัปโหลดไปยังบัคเก็ต Amazon S3
  • sam ปรับใช้: ปรับใช้แอปพลิเคชันแบบไร้เซิร์ฟเวอร์ของคุณกับ AWS CloudFormation จัดเตรียมทรัพยากรทั้งหมดที่กำหนดไว้ในไฟล์ template.yaml
  • sam logs: ดึงและแสดงเหตุการณ์บันทึกจากฟังก์ชัน Lambda ของคุณ
  • ตรวจสอบ sam: ตรวจสอบความถูกต้องของไฟล์ template.yaml เพื่อให้มั่นใจว่ามีรูปแบบถูกต้องและเป็นไปตามแนวทางปฏิบัติที่ดีที่สุด

คำสั่งเหล่านี้ทำให้การพัฒนาแอปพลิเคชันแบบไร้เซิร์ฟเวอร์ง่ายขึ้น ทำให้ง่ายต่อการสร้าง ทดสอบ และปรับใช้แอปพลิเคชันแบบไร้เซิร์ฟเวอร์กับ AWS Cloud

โครงสร้างเทมเพลต AWS SAM

ปรับใช้ได้ตามที่คุณต้องการ
ปรับใช้ไปยัง AppMaster Cloud หรือสภาพแวดล้อม AWS ของคุณเมื่อพร้อมใช้งาน
ปรับใช้ตอนนี้

เทมเพลต AWS SAM คือไฟล์ YAML หรือ JSON ที่กำหนดทรัพยากร คุณสมบัติ และการกำหนดค่าของแอปพลิเคชันไร้เซิร์ฟเวอร์ของคุณ เทมเพลตทำหน้าที่เป็นพิมพ์เขียวสำหรับโครงสร้างพื้นฐานของแอปพลิเคชันของคุณ ทำให้คุณสามารถกำหนดเวอร์ชัน ทำซ้ำ และแบ่งปันแอปพลิเคชันแบบไร้เซิร์ฟเวอร์ของคุณได้อย่างง่ายดาย ต่อไปนี้คือภาพรวมขององค์ประกอบหลักของเทมเพลต AWS SAM ทั่วไป:

  • AWSTemplateFormatVersion: เวอร์ชันรูปแบบเทมเพลตที่คุณใช้ (ไม่บังคับ)
  • การแปลง: เวอร์ชันเทมเพลต AWS SAM ใช้ “AWS::Serverless-2016-10-31” สำหรับคุณสมบัตินี้
  • ทรัพยากร: ทรัพยากรแบบไร้เซิร์ฟเวอร์และคุณสมบัติ ในส่วนนี้ คุณจะกำหนดฟังก์ชัน AWS Lambda, เกตเวย์ API และทรัพยากร AWS ที่เกี่ยวข้องอื่นๆ ที่จำเป็นสำหรับแอปพลิเคชันของคุณ แต่ละรีซอร์สถูกกำหนดชื่อรีซอร์สเชิงตรรกะ และคุณสามารถอ้างอิงชื่อในส่วนอื่นๆ ของเท็มเพลตได้
  • พารามิเตอร์: ชุดของพารามิเตอร์อินพุตที่คุณต้องการให้พร้อมใช้งานกับเทมเพลต (ไม่บังคับ)
  • เอาต์พุต: ชุดของค่าเอาต์พุตที่คุณต้องการเปิดเผยต่อเทมเพลต AWS SAM อื่นๆ หรือสแต็ก AWS CloudFormation (ไม่บังคับ)
  • Globals: ส่วนที่คุณสามารถกำหนดการตั้งค่าส่วนกลางสำหรับทรัพยากร AWS::Serverless::Function ทั้งหมดในเทมเพลต (ไม่บังคับ)
  • เงื่อนไข: ชุดเงื่อนไขที่คุณสามารถใช้เพื่อปรับแต่งคุณสมบัติทรัพยากรตามพารามิเตอร์อินพุตหรือทรัพยากรที่มีอยู่ (ทางเลือก)

เมื่อกำหนดทรัพยากร คุณสามารถใช้ทรัพยากรประเภทต่างๆ เฉพาะของ AWS เช่น:

  • AWS::Serverless::ฟังก์ชัน
  • AWS::ไร้เซิร์ฟเวอร์::Api
  • AWS::Serverless::SimpleTable
  • AWS::ไร้เซิร์ฟเวอร์::HttpApi

นอกจากนี้ คุณสามารถใช้ประเภททรัพยากรแบบกำหนดเองที่มีให้โดยส่วนขยาย AWS SAM ของบุคคลที่สาม เทมเพลตจะถูกอ่านและตีความโดย AWS CloudFormation ซึ่งจะจัดเตรียมทรัพยากรที่จำเป็นตามการประกาศของคุณ

ตอนนี้คุณเข้าใจโครงสร้างเทมเพลต AWS SAM ดีขึ้นแล้ว ให้ดำเนินการแก้ไขไฟล์ template.yaml เพื่อกำหนดทรัพยากร คุณสมบัติ และการกำหนดค่าของแอปพลิเคชันแบบไร้เซิร์ฟเวอร์ ซึ่งจะทำให้มั่นใจได้ว่าแอปพลิเคชันของคุณถูกสร้างขึ้น ทดสอบ และปรับใช้ตามแนวทางปฏิบัติที่ดีที่สุดของ AWS

ทรัพยากรเทมเพลต AWS SAM

ใน AWS SAM เทมเพลตจะกำหนดทรัพยากรของแอปพลิเคชันแบบไร้เซิร์ฟเวอร์ รวมถึงฟังก์ชัน AWS Lambda, Amazon API Gateway API และตาราง Amazon DynamoDB เทมเพลตคือไฟล์ JSON หรือ YAML ที่ปรับใช้ได้โดยใช้ AWS CloudFormation AWS SAM มีทรัพยากรหลายประเภทสำหรับแอปพลิเคชันแบบไร้เซิร์ฟเวอร์ เช่น:

AWS::Serverless::ฟังก์ชัน

ประเภททรัพยากรนี้แสดงถึงฟังก์ชัน Lambda ในแอปพลิเคชันแบบไร้เซิร์ฟเวอร์ คุณสามารถกำหนดคุณสมบัติ เช่น รันไทม์ ตัวจัดการ ซอร์สโค้ด และเหตุการณ์ที่เกี่ยวข้อง ตัวอย่างเช่น:

 Resources: LambdaFunction: Type: AWS::Serverless::Function Properties: Runtime: nodejs14.x Handler: index.handler CodeUri: ./src Events: Api: Type: Api Properties: Path: /example Method: GET

AWS::ไร้เซิร์ฟเวอร์::Api

ประเภททรัพยากรนี้แสดงถึง API Gateway REST API คุณสามารถกำหนดคุณสมบัติ เช่น ชื่อสเตจ การพิสูจน์ตัวตน และการตั้งค่าเมธอด ตัวอย่างเช่น:

 Resources: ApiGatewayApi: Type: AWS::Serverless::Api Properties: StageName: prod EndpointConfiguration: REGIONAL

AWS::ไร้เซิร์ฟเวอร์::HTTPApi

ประเภททรัพยากรนี้แสดงถึง API เกตเวย์ HTTP API ด้วย HTTP API คุณสามารถสร้าง API ที่มีเวลาแฝงต่ำและประหยัดค่าใช้จ่าย รวมถึง WebSockets ตัวอย่างเช่น:

 Resources: HttpApi: Type: AWS::Serverless::HTTPApi Properties: StageName: prod

AWS::Serverless::SimpleTable

ประเภททรัพยากรนี้แสดงถึงตาราง DynamoDB คุณสามารถกำหนดคุณสมบัติ เช่น คีย์หลักและคำนิยามแอตทริบิวต์ ตัวอย่างเช่น:

 Resources: DynamoDbTable: Type: AWS::Serverless::SimpleTable Properties: PrimaryKey: Name: id Type: String

ทรัพยากร AWS SAM อื่นๆ ได้แก่ AWS::Serverless::StateMachine (AWS Step Functions), AWS::Serverless::Application (แอปพลิเคชันที่ซ้อนกัน) และ AWS::Serverless::LayerVersion (เลเยอร์ Lambda)

แนวทางปฏิบัติที่ดีที่สุดสำหรับการใช้ AWS SAM

เป็นเจ้าของซอร์สโค้ด
เมื่อคุณต้องการการควบคุมเต็มที่ ส่งออกซอร์สโค้ดจริงสำหรับแบ็กเอนด์ เว็บ และแอปมือถือ
ส่งออกโค้ด

การปฏิบัติตามแนวทางปฏิบัติที่ดีที่สุดในขณะที่ใช้ AWS SAM ช่วยให้มั่นใจว่าการปรับใช้และการจัดการแอปพลิเคชันแบบไร้เซิร์ฟเวอร์มีประสิทธิภาพ นี่คือคำแนะนำบางประการ:

  1. ปรับฟังก์ชันและเทมเพลตของคุณให้เป็นโมดูล

    จัดระเบียบแอปพลิเคชันแบบไร้เซิร์ฟเวอร์ของคุณโดยสร้างฟังก์ชันและเทมเพลตของ Lambda แยกต่างหากสำหรับคุณลักษณะหรือบริการแต่ละรายการ สิ่งนี้ทำให้สามารถบำรุงรักษาได้ง่ายขึ้นและแยกข้อกังวลได้ดีขึ้น

  2. ใช้เทมเพลตนโยบาย AWS SAM

    AWS SAM มีเทมเพลตนโยบายที่กำหนดไว้ล่วงหน้าเพื่อช่วยคุณจัดการนโยบาย IAM สำหรับแอปพลิเคชันแบบไร้เซิร์ฟเวอร์ของคุณ ใช้ประโยชน์จากเทมเพลตเหล่านี้เพื่อให้แน่ใจว่าชุดสิทธิ์ที่ปลอดภัยและสอดคล้องกันสำหรับทรัพยากรของคุณ

  3. จัดการการพึ่งพาอย่างมีประสิทธิภาพ

    จัดระเบียบการพึ่งพาอย่างมีประสิทธิภาพโดยใช้ตัวจัดการแพ็คเกจ เช่น npm หรือ pip ซึ่งช่วยให้สามารถควบคุมเวอร์ชันได้ดีขึ้นและลดความเสี่ยงของความขัดแย้งในการขึ้นต่อกัน

  4. ตรวจสอบและทดสอบแอปพลิเคชันแบบไร้เซิร์ฟเวอร์ของคุณ

    ใช้ AWS SAM CLI เพื่อตรวจสอบและทดสอบแอปพลิเคชันแบบไร้เซิร์ฟเวอร์ในเครื่องก่อนที่จะปรับใช้กับ AWS Cloud ซึ่งจะช่วยในการระบุปัญหาตั้งแต่เนิ่นๆ และทำให้การปรับใช้ราบรื่นขึ้น

  5. เพิ่มประสิทธิภาพและลดต้นทุน

    วิเคราะห์และตรวจสอบประสิทธิภาพของแอปพลิเคชันแบบไร้เซิร์ฟเวอร์ของคุณโดยใช้เครื่องมือต่างๆ เช่น AWS X-Ray และ Amazon CloudWatch ปรับแอปพลิเคชันให้เหมาะสมโดยการกำหนดค่าขนาดหน่วยความจำ การหมดเวลา และการตั้งค่าการทำงานพร้อมกันของฟังก์ชัน Lambda

การผสานรวม AWS SAM กับ AppMaster.io

อัตโนมัติกระบวนการแบบครบวงจร
สร้างเครื่องมือและเวิร์กโฟลว์ภายในเพื่อลดงานแมนนวล ขณะที่สแตก serverless ของคุณขยายตัว
อัตโนมัติตอนนี้

AppMaster.io ซึ่งเป็นแพลตฟอร์ม แบบไม่ใช้โค้ด อันทรงพลังสำหรับการสร้างแบ็กเอนด์ เว็บ และแอปพลิเคชันมือถือ สามารถรวมเข้ากับ AWS SAM เพื่อใช้ประโยชน์จากคุณสมบัติไร้เซิร์ฟเวอร์ การเชื่อมต่อ AppMaster.io กับ AWS SAM ให้ประโยชน์มากมาย:

  1. ใช้ AppMaster.io เพื่อออกแบบแอปพลิเคชันแบบไร้เซิร์ฟเวอร์

    อินเทอร์เฟซแบบภาพของ AppMaster.io ช่วยให้สร้างแอปพลิเคชันแบบไร้เซิร์ฟเวอร์ได้อย่างง่ายดายโดยใช้ AWS SAM คุณสามารถสร้างโมเดลข้อมูล ตรรกะทางธุรกิจ และ endpoints API ได้โดยไม่ต้องเขียนโค้ด

  2. รับประโยชน์จากเอกสารที่สร้างขึ้นโดยอัตโนมัติ

    ขณะออกแบบแอปพลิเคชันแบบไร้เซิร์ฟเวอร์ AppMaster.io จะสร้างเอกสาร Swagger (OpenAPI) โดยอัตโนมัติสำหรับ endpoints เซิร์ฟเวอร์และสคริปต์การย้ายสคีมาฐานข้อมูล สิ่งนี้ทำให้มั่นใจได้ถึงประสบการณ์ที่ราบรื่นเมื่อทำงานกับ AWS SAM API

  3. สร้างเว็บแอปพลิเคชันแบบไดนามิกและโต้ตอบได้

    เมื่อใช้คุณลักษณะอันทรงพลังของ AppMaster.io คุณจะพัฒนาเว็บแอปพลิเคชันแบบโต้ตอบได้อย่างสมบูรณ์ซึ่งทำงานร่วมกับ AWS SAM ได้อย่างราบรื่น ซึ่งช่วยให้สามารถสร้างแอปพลิเคชันที่ปรับขนาดได้ มีประสิทธิภาพ และคุ้มค่า

  4. รวมทริกเกอร์เหตุการณ์ AWS Lambda

    AppMaster.io ช่วยให้คุณใช้ทริกเกอร์เหตุการณ์ Lambda ที่สร้างโดย AWS SAM ทำให้สามารถเชื่อมต่อฟังก์ชันแบบไร้เซิร์ฟเวอร์กับตรรกะทางธุรกิจของ AppMaster.io ได้ สิ่งนี้ทำให้มั่นใจได้ว่าแอปพลิเคชันไร้เซิร์ฟเวอร์จะทำงานได้อย่างราบรื่นและมีประสิทธิภาพ

การผสานรวม AppMaster.io เข้ากับ AWS SAM ช่วยให้คุณสร้างและปรับใช้แอปพลิเคชันแบบไร้เซิร์ฟเวอร์ได้รวดเร็วและมีประสิทธิภาพมากขึ้น ช่วยประหยัดเวลาและค่าใช้จ่ายในการพัฒนาได้ ในที่สุด

บทสรุป

AWS Serverless Application Model (SAM) เป็นเฟรมเวิร์กสำคัญที่ลดความซับซ้อนของการพัฒนาและการปรับใช้แอปพลิเคชันแบบไร้เซิร์ฟเวอร์บน AWS Cloud ด้วยการใช้ประโยชน์จากฟีเจอร์อันทรงพลัง นักพัฒนาสามารถปรับปรุงกระบวนการของตน ลดความซับซ้อนในการปรับใช้ และจัดการวงจรชีวิตของแอปพลิเคชันได้อย่างมีประสิทธิภาพโดยไม่ต้องกังวลเกี่ยวกับโครงสร้างพื้นฐานของเซิร์ฟเวอร์ การผสานรวมกับ AWS CloudFormation และ AWS SAM CLI ช่วยให้นักพัฒนามีสภาพแวดล้อมการพัฒนาที่ครอบคลุมและสอดคล้องกัน ความสามารถในการทำงานร่วมกับบริการต่างๆ ของ AWS เช่น Lambda, API Gateway และ DynamoDB ช่วยเพิ่มความยืดหยุ่นและความสามารถในการปรับตัว การรวมแนวทางปฏิบัติที่ดีที่สุดเมื่อใช้ AWS SAM สามารถนำไปสู่แอปพลิเคชันแบบไร้เซิร์ฟเวอร์ที่มีประสิทธิภาพและปรับขนาดได้มากขึ้น ซึ่งจะช่วยประหยัดค่าใช้จ่ายและปรับปรุงประสิทธิภาพได้ในที่สุด

นอกจากนี้ แพลตฟอร์ม AppMaster.io no-code ยังสามารถทำงานได้อย่างราบรื่นกับ AWS SAM ซึ่งเป็นการผสมผสานที่ลงตัวระหว่างการพัฒนา no-code และข้อดีของสถาปัตยกรรมแบบไร้เซิร์ฟเวอร์ การผสานรวมนี้สามารถช่วยให้ธุรกิจบรรลุการพัฒนาและปรับใช้ได้เร็วขึ้นในขณะที่ยังคงความคล่องตัวตามความต้องการที่เปลี่ยนแปลงไป เนื่องจากสถาปัตยกรรมแบบไร้เซิร์ฟเวอร์มีความโดดเด่นมากขึ้นเรื่อยๆ ความเข้าใจอย่างลึกซึ้งเกี่ยวกับเฟรมเวิร์ก AWS SAM และแนวทางปฏิบัติที่ดีที่สุดจึงเป็นสิ่งสำคัญสำหรับนักพัฒนาในการรักษาความสามารถในการแข่งขันในอุตสาหกรรมแอปพลิเคชันบนคลาวด์ที่ทันสมัย

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

AWS SAM คืออะไร

AWS Serverless Application Model (SAM) เป็นเฟรมเวิร์กแบบโอเพ่นซอร์สที่ทำให้การพัฒนาและการปรับใช้แอปพลิเคชันแบบไร้เซิร์ฟเวอร์บน AWS Cloud ง่ายขึ้น

คุณลักษณะหลักของ AWS SAM คืออะไร

คุณสมบัติหลักบางอย่างรวมถึงการกำหนดค่าการปรับใช้ครั้งเดียว การทดสอบและแก้ไขจุดบกพร่องในเครื่อง แนวทางปฏิบัติที่ดีที่สุดในตัว เทมเพลตนโยบาย และการสนับสนุนบริการต่างๆ ของ AWS

การใช้ AWS SAM มีประโยชน์อย่างไร

ประโยชน์รวมถึงการปรับใช้ที่ง่ายขึ้น เวลาในการพัฒนาที่ลดลง สภาพแวดล้อมการพัฒนาที่สอดคล้องกัน ประสิทธิภาพด้านต้นทุน และความสามารถในการขยายขีดความสามารถด้วยรหัสที่กำหนดเอง

AWS SAM CLI คืออะไร

AWS SAM CLI เป็นอินเทอร์เฟซบรรทัดคำสั่งสำหรับสร้าง ทดสอบ และปรับใช้แอปพลิเคชันแบบไร้เซิร์ฟเวอร์โดยใช้เทมเพลต AWS SAM

โครงสร้างเทมเพลต AWS SAM คืออะไร

เทมเพลต AWS SAM คือไฟล์ YAML หรือ JSON ที่กำหนดทรัพยากรของแอปพลิเคชันแบบไร้เซิร์ฟเวอร์ เช่น ฟังก์ชัน API และเหตุการณ์

ฉันจะเริ่มต้นใช้งาน AWS SAM ได้อย่างไร

ใช้ AWS SAM CLI เพื่อสร้างเทมเพลต AWS SAM และปรับใช้กับ AWS CloudFormation ไฟล์เทมเพลตจะกำหนดทรัพยากรและคุณสมบัติของแอปพลิเคชันแบบไร้เซิร์ฟเวอร์ของคุณ

แนวทางปฏิบัติที่ดีที่สุดสำหรับการใช้ AWS SAM มีอะไรบ้าง

แนวทางปฏิบัติที่ดีที่สุดรวมถึงการทำให้ฟังก์ชันและเทมเพลตของคุณเป็นโมดูล การใช้เทมเพลตนโยบาย AWS การจัดการการขึ้นต่อกันอย่างมีประสิทธิภาพ และการตรวจสอบและทดสอบแอปพลิเคชันแบบไร้เซิร์ฟเวอร์ของคุณ

สามารถรวม AWS SAM กับ AppMaster.io ได้หรือไม่

ได้ แพลตฟอร์ม no-code ของ AppMaster.io สามารถเชื่อมต่อกับ AWS SAM ได้โดยใช้ endpoints ข้อมูล API ที่เหมาะสมและทริกเกอร์เหตุการณ์ที่สร้างโดย AWS SAM

ง่ายต่อการเริ่มต้น
สร้างบางสิ่งที่ น่าทึ่ง

ทดลองกับ AppMaster ด้วยแผนฟรี
เมื่อคุณพร้อม คุณสามารถเลือกการสมัครที่เหมาะสมได้

เริ่ม