# Serverless Architecture คืออะไร? อธิบายแบบง่ายที่สุด ให้เด็ก 8 ขวบก็เข้าใจ
ในโลกของการเขียนโปรแกรมที่พัฒนาไปอย่างรวดเร็ว หนึ่งในคอนเซ็ปต์ที่ได้รับความสนใจมากคือ "Serverless Architecture" หรือ "สถาปัตยกรรมแบบไม่มีเซิร์ฟเวอร์" ซึ่งฟังดูเหมือนจะขัดกับหลักของคอมพิวเตอร์ที่ว่า "ไม่มีเซิฟเวอร์ จะมีการพัฒนาแอปพลิเคชันได้อย่างไร?" แต่ใจความของ Serverless Architecture นั้นกลับให้ความหมายและอิสระแก่นักพัฒนาในแบบที่ไม่เคยมีมาก่อน เราลองมาดูกันดีกว่าว่ามันคืออะไร และมีประโยชน์ต่อการเขียนโปรแกรมอย่างไร
ถ้าเราถามเด็ก 8 ขวบว่า "อยากลองกินขนมสักชิ้นไหม?" เขาคงจะตอบว่า "อยาก" แต่เขาไม่จำเป็นต้องรู้ด้วยซ้ำว่าเราทำขนมนั้นอย่างไรหรือใช้ส่วนผสมอะไรบ้าง ในทำนองเดียวกันนี้ Serverless Architecture ก็ช่วยให้นักพัฒนาสามารถสร้างแอปพลิเคชันโดยที่ไม่ต้องกังวลเลยว่าภายในเซิร์ฟเวอร์มีอะไรบ้าง คำว่า "Serverless" ไม่ได้หมายความว่าไม่มีเซิร์ฟเวอร์จริงๆ แต่หมายถึงนักพัฒนาไม่ต้องจัดการเซิร์ฟเวอร์เองนั่นเอง
ผู้พัฒนาสามารถทุ่มเวลาและความสามารถไปที่การสร้างฟังก์ชันหลักของแอปพลิเคชัน โดยไม่ต้องกังวลเกี่ยวกับการจัดการระบบปฏิบัติการ (OS), เซอร์เวอร์, และระบบฐานข้อมูล ซึ่งประหยัดทั้งเวลาและค่าใช้จ่ายได้มาก นอกจากนี้ Serverless ยังช่วยให้แอปพลิเคชันสามารถปรับขนาดได้ตามความต้องการใช้จริง โดยไม่จำเป็นต้องทำการกำหนดขนาดของเซิร์ฟเวอร์ล่วงหน้า เรามาดูตัวอย่างกันเลยดีกว่า
ตัวอย่างแบบง่ายที่สุดของการใช้ Serverless Architecture
มาจินตนาการว่าเราอยากจะสร้างบริการที่ส่งข้อความทักทาย "สวัสดี!" ในทุกๆ ชั่วโมง เราสามารถใช้ Serverless Architecture ได้โดยการเขียนฟังก์ชันที่เรียกใช้พลังของ Serverless เช่น AWS Lambda จาก Amazon ซึ่งเป็นบริการที่ให้เราสามารถเขียนโค้ดและรันโค้ดได้โดยไม่ต้องจัดการกับเซิร์ฟเวอร์จริงๆ
import boto3
# ตัวอย่างฟังก์ชันที่เขียนด้วย Python สำหรับ AWS Lambda
def send_greeting(event, context):
sns = boto3.client('sns')
# กำหนดหมายเลขโทรศัพท์ที่จะส่งข้อความ
phoneNumber = "+66123456789"
# ข้อความที่จะส่ง
message = "สวัสดี!"
# ส่งข้อความ
sns.publish(PhoneNumber=phoneNumber, Message=message)
return {
'statusCode': 200,
'body': 'ข้อความสวัสดีถูกส่งไปยัง ' + phoneNumber
}
ในตัวอย่างนี้ เราแค่เขียน "ฟังก์ชัน" ง่ายๆ ที่รับค่า event และ context (ซึ่งเป็นส่วนที่ AWS Lambda จัดการให้) และฟังก์ชันนี้ก็จะทำงานเมื่อตั้งค่าให้ทำงานในช่วงเวลาที่กำหนด
Serverless Architecture นับเป็นประตูสู่การพัฒนาซอฟต์แวร์ที่สะดวกและรวดเร็ว เทคโนโลยีดังกล่าวเหมาะสำหรับผู้ที่ต้องการสร้างสรรค์ผลงานได้อย่างอิสระ หากคุณสนใจในการเรียนรู้เพิ่มเติมเกี่ยวกับการเขียนโปรแกรมและอยากเป็นพาร์ทของการพัฒนาระบบอัจฉริยะที่ทันสมัย การศึกษาที่เต็มไปด้วยความท้าทายและความเข้าใจในทุกมิติของ Serverless Architecture อาจเป็นหนึ่งในช่วงเวลาสำคัญที่จะเปลี่ยนมุมมองและทักษะการเขียนโปรแกรมของคุณให้ก้าวไปอีกขั้น
หมายเหตุ: ข้อมูลในบทความนี้อาจจะผิด โปรดตรวจสอบความถูกต้องของบทความอีกครั้งหนึ่ง บทความนี้ไม่สามารถนำไปใช้อ้างอิงใด ๆ ได้ ทาง EPT ไม่ขอยืนยันความถูกต้อง และไม่ขอรับผิดชอบต่อความเสียหายใดที่เกิดจากบทความชุดนี้ทั้งทางทรัพย์สิน ร่างกาย หรือจิตใจของผู้อ่านและผู้เกี่ยวข้อง
หากเจอข้อผิดพลาด หรือต้องการพูดคุย ติดต่อได้ที่ https://m.me/expert.Programming.Tutor/
หากมีข้อผิดพลาด/ต้องการพูดคุยเพิ่มเติมเกี่ยวกับบทความนี้ กรุณาแจ้งที่ http://m.me/Expert.Programming.Tutor
085-350-7540 (DTAC)
084-88-00-255 (AIS)
026-111-618
หรือทาง EMAIL: NTPRINTF@GMAIL.COM