วันนี้ว่าง ๆ ช่วงรอ speaker ขึ้นพูดในงาน Beta Conference
เลยลองเขียนและ deploy Google Cloud Function ด้วยภาษา Go นิดหน่อย
ได้ยินมานานว่าสนับสนุน Go 1.11 แล้ว
เวลามีน้อย มาลองกันดีกว่า
ก่อนอื่นไปเปิด Account ที่ Google Cloud ก่อน
ช่วงนี้ได้ฟรี 300 USD หรือ 1 ปี ชิว ๆ ไปครับ
เริ่มต้นด้วยการพัฒนา Function ง่าย ๆ ด้วยภาษา Go
ซึ่งมี function 2 รูปแบบคือ
- HTTP function คือ function ที่เรียกผ่าน HTTP นั่นเอง
- Background function คือ function ที่จะถูกเรียกเมื่อเกิด event ขึ้นมา
โดยตัวอย่างที่เลือกเขียนคือ HTTP function
[gist id="83f3e96db40d7dd0372b0d2c505e1783" file="hello.go"]
คำอธิบาย
ก็ไม่มีอะไรมาก ตามชื่อเลยคือ function เป็นแบบ public ด้วย
เป็น function ที่รับ request และ response ผ่าน net/http package เลย
ต่อมาทำการ deploy ไปยัง Google Cloud Function กัน
ตามจริงสามารถทดสอบบน localhost หรือเครื่องเราได้ก่อนนะ !!
แต่แวลามีน้อยก็ deploy ผ่าน gcloud command line กันเลย
คำอธิบาย
- Entrypoint คือ ชื่อ function
- Runtime ในตอนนี้สนับสนุน Go version 1.11
- กำหนดเป็น HTTP function ด้วย trigger-http
ผลการทำงานเป็นดังนี้
[gist id="83f3e96db40d7dd0372b0d2c505e1783" file="1.txt"]
ลืมไปหนึ่งเรื่องคือ
Google Cloud Function จะสนับสนุนเฉพาะในบาง region เท่านั้นคือ
- us-central1
- us-east1
- europe-west1
- asia-northeast
เมื่อทำการ deploy เรียบร้อยแล้ว
ซึ่งจะใช้เวลานานนิดหน่อย สามารถเข้าไปดูผลที่ Google Cloud Console ได้เลย
แจ้งรายละเอียดพร้อม URL ของการเข้าใช้งาน function มาให้เรียบร้อย
มาลองทำการทำ performance test ตัว function ที่ deploy กัน
ไหน ๆ ก็เขียนด้วยภาษา Go แล้ว
เครื่องมือที่ทดสอบก็ต้องเขียนด้วยภาษา Go ด้วย
จึงเลือกใช้ Hey ก็แล้วกัน
ยิงดีกว่า
[gist id="83f3e96db40d7dd0372b0d2c505e1783" file="2.txt"]
ผลการทำงานก็ดูดีเลยนะ
ลองไปดูผลการทำงานที่ Dashboard ของ function ใน google cloud ได้เลย
ถึงตรงนี้ก็พบว่า มันเขียนและ deploy ง่ายดีนะ
ไว้ต้องเอางานจริงมา deploy กันบ้าง
มาเริ่มเรียนรู้กันผ่าน Quick Starter
ขอให้สนุกกับการ coding ครับ