วันนี้ว่าง ๆ ช่วงรอ speaker ขึ้นพูดในงาน Beta Conference
เลยลองเขียนและ deploy Google Cloud Function ด้วยภาษา Go นิดหน่อย
ได้ยินมานานว่าสนับสนุน Go 1.11 แล้ว
เวลามีน้อย มาลองกันดีกว่า

ก่อนอื่นไปเปิด Account ที่ Google Cloud ก่อน
ช่วงนี้ได้ฟรี 300 USD หรือ 1 ปี ชิว ๆ ไปครับ

เริ่มต้นด้วยการพัฒนา Function ง่าย ๆ ด้วยภาษา Go

ซึ่งมี function 2 รูปแบบคือ

  1. HTTP function คือ function ที่เรียกผ่าน HTTP นั่นเอง
  2. Background function คือ function ที่จะถูกเรียกเมื่อเกิด event ขึ้นมา

โดยตัวอย่างที่เลือกเขียนคือ HTTP function

คำอธิบาย
ก็ไม่มีอะไรมาก ตามชื่อเลยคือ function เป็นแบบ public ด้วย
เป็น function ที่รับ request และ response ผ่าน net/http package เลย

ต่อมาทำการ deploy ไปยัง Google Cloud Function กัน

ตามจริงสามารถทดสอบบน localhost หรือเครื่องเราได้ก่อนนะ !!
แต่แวลามีน้อยก็ deploy ผ่าน gcloud command line กันเลย

$gcloud functions deploy hello --entry-point HelloWorld --runtime go111 --trigger-http

คำอธิบาย

  • Entrypoint คือ ชื่อ function
  • Runtime ในตอนนี้สนับสนุน Go version 1.11
  • กำหนดเป็น HTTP function ด้วย trigger-http

ผลการทำงานเป็นดังนี้

ลืมไปหนึ่งเรื่องคือ
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 ก็แล้วกัน
ยิงดีกว่า

ผลการทำงานก็ดูดีเลยนะ
ลองไปดูผลการทำงานที่ Dashboard ของ function ใน google cloud ได้เลย

ถึงตรงนี้ก็พบว่า มันเขียนและ deploy ง่ายดีนะ
ไว้ต้องเอางานจริงมา deploy กันบ้าง
มาเริ่มเรียนรู้กันผ่าน Quick Starter 
ขอให้สนุกกับการ coding ครับ