มาจัดเรื่อง AWS Lambda อีกสักโพสต์ (ก่อนที่ผมจะสลับไปเขียนเรื่องท่องเที่ยวบ้าง ฮ่าๆ) ซึ่งครั้งนี้ขอเขียนถึงวิธีการเลือกใช้ทรัพยากร อย่างเช่น Memory ให้เหมาะสมที่สุด ทำงานได้เร็วด้วย และต้องคุ้มค่ากับการจ่ายเงินด้วย
Continue reading “จัดสรรทรัพยากร AWS Lambda อย่างไร ให้ราคาถูกและเร็วที่สุด” »AWS
ลองทำ Serverless WebSocket ด้วย AWS Lambda และ AWS API Gateway
อยากอัพเดทข้อมูลแบบ Real-time, แสดงข้อความ Notification ทันทีเมื่อมีการแจ้งข่าวให้สมาชิก, ทำระบบแชทที่พูดคุยกันได้ตลอดเวลา ฯลฯ ระบบแบบนี้เรามักทำเป็น WebSocket ซึ่งเป็น Protocol หนึ่งที่จะเปิดท่อ Connection ไว้เพื่อให้สื่อสารระหว่าง Server และ Client ได้ตลอดเวลา ซึ่งรายละเอียดมากกว่านี้ หรือทำอย่างไร ลองไปหาจาก Google ได้เยอะแยะ
แต่ที่ชวนฉงนคือ การทำงานของ Serverless เป็นแบบ เกิดขึ้น และทำ Process แล้วก็ดับไป มันจะทำเป็น WebSocket ได้ด้วยหรอ เพราะต้องเปิดแช่ Connection เพื่อสื่อสารกันตลอดเวลา
โพสต์นี้จะแชร์แนวคิดให้อ่านกัน ว่ามันเป็นไปได้จริงๆ ด้วยบริการของ Amazon API Gateway และ AWS Lambda ส่วนโค้ดตัวอย่าง ไปดูได้ที่ Github (aws-lambda-websocket) ผมได้เลย
Continue reading “ลองทำ Serverless WebSocket ด้วย AWS Lambda และ AWS API Gateway” »มาทำความรู้จักกับ Serverless และ AWS Lambda ฉบับคนคิดจะใช้
ผมได้ยินกิตติศัพท์ AWS Lambda มานานมาก แต่ไม่เคยเข้าไปดูจริงจัง รู้แค่มันเป็น Service ที่มีไว้ทำ Process สักอย่าง เมื่อเสร็จแล้วก็ทำลายตัวเองทิ้งไป คิดเงินตามการเรียกใช้และระยะเวลาที่ใช้ทำงานเท่านั้น หรือที่เรียกกันว่า Serverless
ช่วงนี้ได้มีโอกาสเล่นมันแบบจริงๆจังๆ เลยรู้สึกว่า คนต้นคิดเรื่อง Serverless เจ๋งดี เลยอยากมาเขียนสรุปให้อ่านกันสำหรับคนที่ไม่รู้อะไรเลย ผ่านตัวอย่างบริการของ AWS Lambda
Continue reading “มาทำความรู้จักกับ Serverless และ AWS Lambda ฉบับคนคิดจะใช้” »ทดสอบ AWS Lambda Function บนเครื่องตัวเอง ด้วย Lambda Docker
จากที่เคยนำเสนอเครื่องมือตัวหนึ่งไปแล้วในบล็อก ทดสอบ .NET AWS Lambda ด้วย AWS .NET Mock Lambda Test Tool แต่ยังไม่หนำใจ เพราะผมพบว่ามันมีปัญหากับโค้ดที่เขียนแบบ Dependency Injection ซึ่งลองหาวิธี Debug แต่ก็ยังไม่เห็นอะไร เลยตัดใจลองหาเครื่องมือตัวอื่นดู ก็เจอ AWS SAM (AWS Serverless Application Model)
แต่ก็กระนั้นอีก ในหน้าเว็บโปรเจ็คบอกทำงานกับ .NET Core 2.1 ได้ แต่พอลองทำดู กลับบอกว่า ไม่รองรับ .NET Core Runtime!! (ใครแก้ปัญหาสองข้อบนของผมได้ มาแลกเปลี่ยนความรู้กันหน่อยครับ จักหายคาใจ) ก็เลยต้องแกะมัน พบว่า มันไปใช้ Lambda Docker เพื่อสร้าง Environment จำลองขึ้นมาสำหรับทดสอบ.. ปั๊ดโธ่ว แบบนี้ก็เสร็จโก๋!! จึงเป็นที่มาของบล็อกนี้..
Continue reading “ทดสอบ AWS Lambda Function บนเครื่องตัวเอง ด้วย Lambda Docker” »4 วิธีจัดการ Versioning และ Environment ของ AWS Lambda Function โดยไม่ต้องแก้ไขโค้ด
เป็นเรื่องสำคัญที่เรามักมองข้ามไป ว่าจะจัดการ Lambda Function อย่างไรให้ใช้ได้กับ Environment ต่างๆ เช่น Development, UAT, Production และต้องไม่กระทบกับการใช้งานของผู้ใช้ด้วย ดังนั้น สิ่งที่ต้องดูต่อ คือ เราต้องกำหนด Lambda Function Version ให้แต่ละ Environment ด้วยใช่หรือไม่?
จากที่ผมลองเล่นดู พบอยู่ 4 วิธี ที่กำลังจะเขียนแชร์ในบล็อกนี้เอง มันมีทั้งข้อดีและข้อเสีย ซึ่งผู้อ่านคงต้องนำไปพิจารณาและตัดสินใจใช้ตามความเหมาะสมกันเอง
Continue reading “4 วิธีจัดการ Versioning และ Environment ของ AWS Lambda Function โดยไม่ต้องแก้ไขโค้ด” »