Cloud Deployment Manager คืออะไร? (เข้าใจภายใน 5 นาที!)


Cloud Deployment Manager คืออะไร? (เข้าใจภายใน 5 นาที!)

Cloud Deployment Manager คืออะไร?

“Create and manage cloud resources with simple templates” นิยามสั้นๆที่ Google ได้กล่าวไว้สำหรับ Cloud Deployment Manager ถ้าแปลตรงตัวก็จะมีความหมายว่า “การสร้างและจัดการทรัพยากรด้วยการใช้ template แบบง่ายๆ” เพื่อให้ทุกคนได้รู้จักกับเจ้า Google Cloud Deployment Manager Service ผมจะขอขยายความเพิ่มเติมจากที่ Google ได้ให้คำนิยามไว้

ก่อนอื่นผมขอเรียกเจ้า Deployment Manager ว่า DM นะครับ สำหรับเจ้า DM เนี่ยเป็น service ตัวนึงที่ทำให้เราสามารถจัดการทรัพยากรณ์บน GCP สำหรับในการทำ automate deployment ของ service ต่างๆ เช่น VM instance service โดยใช้งานผ่าน YAML file เขียน configuration โดยเขียนเป็น template สามารถนำไปใช้ซ้ำหรือดัดแปลงแก้ไขได้ และยังไม่หมด เจ้า DM ยังรองรับภาษาทั้ง Python และ Jinja2 template

เพื่อให้เห็นภาพมากขึ้น ผมจะขออธิบายเชิงเปรียบเทียบง่ายๆ ดังตัวอย่างนี้ เจ้า DM คล้ายกับตำราอาหารที่เราทำการเขียนสูตรของแต่ละเมนูเก็บไว้ภายในหนังสือทำอาหารหากต้องการทำอาหารชนิดใดก็จะทำการเปิดตำราที่เพื่อดูสูตร อาหารที่จะทำอาจจะทำให้เหมือนกับสูตร หรือสามารถปรับปรุงเพิ่มเติมจากสูตรที่มีก็ได้ ซึ่งการทำ DM ก็คล้ายกับการเขียนสูตรทำอาหาร โดยจะทำการเขียน Configuration ต่างๆไว้และนำไปใช้ และยังสามารถทำการแก้ไขปรับโดยการ เพิ่ม, ลด หรือเปลี่ยนค่าต่างๆได้ และยังสามารถนำกลับไปใช้ซ้ำได้อีกด้วย

Python vs. Jinja

Deployment Manager นั้นรองรับ ทั้ง Python และ Jinja ซึ่งสามารถเลือกใช้ได้ตามภาษาที่ทุกคนถนัดหรือตามความเหมาะสมของแต่ละงาน แต่ทั้งนี้ทั้งนั้นสำหรับงานที่มีโครงสร้างซับซ้อน Python จะช่วยให้การเขียนการกำหนดค่าต่างๆได้ง่ายกว่าการใช้ Jinja

ตัวอย่าง

การใช้งาน

DM สามารถใช้งานได้ผ่านทาง Google Cloud SDK หรือ จะใช้ผ่านทาง Cloud Shell ที่อยู่บน Cloud Console ของทาง Google ได้เลย โดยจะใช้คำสั่ง gcloud ในการใช้งาน

ในตัวอย่างวันนี้จะเป็นการทำ Deployment VM Instance โดยหากเซอวิสที่เราต้องการทำ DM นั้นโดยกำหนดเพียงค่าพื้นฐานของ service นั้น บน GCP จะมี template ของแต่ละ Service เราสามารถเรียกใช้ได้เลยผ่าน YAML ไฟล์โดยไม่ต้องเขียนไฟล์ Python หรือ Jinja2 template โดยสามารถใเข้าไปดู service ที่ทาง GCP มีให้โดยใช้คำสั่งด้านล่าง

เตรียมโค้ดที่จะใช้ในการทำ DM

ไฟล์คอนฟิกนี้ได้กำหนดค่า VM Instance ที่จะสร้างดังนี้

เมื่อเตรียมไฟล์เสร็จแล้วมาเริ่มการ Deploy VM Instance กัน!

1. ไปที่ Google cloud SDK หรือ cloud shell รันคำสั่งต่อไปนี้

2. รอจนกว่าคำสั่งจะทำงานเสร็จ

3. เมื่อ Deploy เสร็จแล้วจะโชว์ข้อความดังด้านล่าง

เมื่อเข้าไปที่ Compute engine service เราก็จะเจอกับ VM Instance ที่เราพึ่งได้ทำการ Deploy ไป

สรุปข้อดี ข้อเสีย

ข้อดี

  • ใช้เวลา Deploy น้อย
  • หากเป็นต้องการ Service ที่ไม่ต้อง Config มาก สามารถใช้ Template ที่ GCP มีได้เลย
  • สามารถนำกลับมาแก้ไขหรือใช้ซ้ำได้

ข้อเสีย

  • ต้องตรวจสอบก่อนทำการ Deploy ให้ละเอียด

Written by Sathaporn Hussakun
Cloud Ace Thailand


Make It Now!

หากคุณสนต้องการคำปรึกษา Cloud Ace Thailand พร้อมให้บริการที่จะสนับสนุนคุณตั้งแต่ การให้คำปรึกษา จนถึงการออกแบบระบบ ติดตั้งระบบ ย้ายระบบ ในฐานะ Google Cloud Partner ที่มีความเชี่ยวชาญ และได้รับรางวัล Service partner of the year ในปี 2019

ติดต่อเรา th_sales@cloud-ace.com

.