AWS Lambda เป็นบริการให้การเรียกใช้โค้ดแบบ serverless ใน AWS cloud โดยที่คุณไม่ต้องกังวลเรื่องการจัดการเซิร์ฟเวอร์เอง โดย Lambda สามารถรองรับการเรียกใช้งานได้สูงถึง 1 ล้านคำขอต่อเดือนโดยไม่มีค่าใช้จ่ายเพิ่มเติมเลยครับ
โดยนับจากการเรียก URL สามารถใช้ได้สูงสุด 1 ล้านคำขอต่อเดือน และการทำงานใน AWS Lambda จะสามารถเรียกใช้ได้พร้อมกันเป็นจำนวนมากโดยอัตโนมัติ โดย Lambda จะจัดการการประมวลผลแบบเรียลไทม์ และรองรับหลายภาษาที่นักพัฒนาสะดวกในการใช้งาน เช่น Node.js, Python, Java, C#, Go ฯลฯ
สำหรับใครที่สนใจทำ API ฟรี หรือหน้าเว็บ HTML บน Lambda ฟรี ผู้เขียนขอแนะนำ AWS Chalice ครับ https://aws.github.io/chalice/index.html
AWS Chalice เป็นเฟรมเวิร์คที่จัดการสร้างและจัดการ API บนแพลตฟอร์ม AWS Lambda อย่างง่ายและสะดวกสำหรับนักพัฒนาซอฟต์แวร์ที่ใช้ภาษา Python เบื้องต้น Chalice ช่วยให้คุณสามารถสร้างและโหลด Lambda functions ที่เป็นฝั่ง Serverless ภายใต้ Infrastracture ของ AWS ได้อย่างเร็วและง่ายดาย โดยที่คุณไม่จำเป็นต้องกังวลเรื่องการตั้งค่า โดยสามารถพัฒนาและใช้งานได้โดยง่ายและติดตั้งได้ด้วยเพียงไม่กี่ขั้นตอน
เริ่มต้นใช้งาน AWS Chalice Framework และออกแบบและพัฒนา API ของคุณบน AWS Lambda ได้เลย!
ติดตั้ง Package chalice
pip install chalice
เริ่มสร้างโปรเจ็คใหม่
chalice new-project
นี้คือโค้ดสำหรับการใช้งาน AWS Chalice framework
from chalice import Chalice
app = Chalice(app_name='myapp')
@app.route('/')
def index():
return {'message': 'Hello, AWS Chalice!'}
@app.route('/greeting/{name}')
def greeting(name):
return {'message': f'Hello, {name}!'}
ในโค้ดนี้จะมีการกำหนดชื่อเริ่มต้นของแอปพลิเคชัน Chalice เป็น ‘myapp’ นอกจากนี้ยังกำหนดเส้นทางสำหรับเส้นทางหลัก (‘/’) ซึ่งจะคืนค่า JSON response ที่มีข้อความว่า “สวัสดี, AWS Chalice!” และเส้นทาง ‘/greeting/{name}’ ที่รับค่าพารามิเตอร์ ‘name’ และคืนค่า JSON response ที่ทักทายชื่อที่ระบุไว้
คุณสามารถใช้ framework นี้สร้างแอปพลิเคชันแบบ serverless บน AWS โดยคุณจะต้องทำการ deploy แอปพลิเคชัน Chalice หลังจากเขียนโค้ดเสร็จ
>> chalice deploy # สำหรับ Deploy ไปยัง AWS Lambda
Creating deployment package.
Creating IAM role: test-chalice-dev
Creating lambda function: test-chalice-dev
Creating Rest API
Resources deployed:
- Lambda ARN: arn:aws:lambda:ap-southeast-1:312933510661:function:test-chalice-dev
- Rest API URL: https://u3jggdde96.execute-api.ap-southeast-1.amazonaws.com/api/
>> chalice delete # สำหรับ ลบ API ออกจาก AWS Lambda
Deleting Rest API: u3jggdde96
Deleting function: arn:aws:lambda:ap-southeast-1:312933510661:function:test-chalice-dev
Deleting IAM role: test-chalice-dev
อย่าลืมสมัคร Account ของ AWS ก่อนนะครับ ถึงจะสามารถใช้งานได้