ขอต้อนรับเข้าสู่ปีกุน 2562 (ค.ศ. 2019) นะครับ เป็นอย่างไรกันบ้างสำหรับการหยุดยาวในช่วงสิ้นปี ต่อเนื่องถึงปีใหม่ หวังว่าทุกท่านคงได้พักผ่อนกันตามสมควรนะครับ
ในช่วงต้นปีแบบนี้ผมก็จะนำเสนอบทความดีๆ ในการใช้งาน Microsoft Azure ให้เกิดประโยชน์กับองค์กรในอีกบริการหนึ่ง นั่นก็คือ DevTest Labs ซึ่งเป็นบริการที่ออกแบบมาเพื่ออำนวจความสะดวกในการพัฒนาและทดสอบซอฟต์แวร์ มีการทำงานในรูปแบบ On-Demand Environment คืออยากใช้เมื่อไร ผู้ใช้งานก็สามารถที่จะทำการเปิดใช้งาน Virtual Machine ที่ต้องการมาใช้งานได้ทันที
ข้อดีของ Azure Dev Test Lab
- ควบคุมค่าใช้จ่ายขององค์กร โดยการกำหนด VM Image, VM Size และจำนวนของ VM ที่ผู้ใช้งานสามารถสร้างได้ นอกจากนี้ยังสามารถกำหนดเวลาในการเปิด และปิด VM ได้อีกด้วย
- อำนวยความสะดวกให้กับผู้ใช้งาน ให้สามารถเลือกที่จะสร้าง VM ขึ้นมาทำงานในรูปแบบที่ต้องการได้ด้วยตัวเอง
การทำงานของ DevTest Lab
- Lab จะเป็นชุดของทรัพยากร (Resources) และสภาพแวดล้อมต่างๆ (Environment) ในการบริหารจัดการ และการกำหนดนโยบาย (Policy) ต่างๆ ที่จะให้ผู้ใช้งานสามารถเข้ามาใช้บริการได้
- ผู้ดูแลระบบจะทำการสร้าง Lab ขึ้น และกำหนดนโยบายต่างๆ ที่อนุญาต/ไม่อนุญาตให้ผู้ใช้งานสามารถทำการสร้างทรัพยากรขึ้นภายใต้ Lab นั้นๆ ได้
- นอกจากนี้ผู้ดูแลระบบอาจจะทำการสร้าง Virtual Machine ในรูปแบบที่มีการใช้งานบ่อยๆ รอเอาไว้ล่วงหน้า เรียกว่า Claimable Virtual Machine โดย Claimable Virtual Machine นี้จะยังไม่ถูกคิดค่าใช้จ่ายในส่วนของ Virtual Machine
- ผู้ใช้งานสามารถที่จะเข้ามาใช้งาน Virtual Machine ได้ใน 2 รูปแบบคือ
- การสร้าง Virtual Machine ขึ้นใช้งานเอง ตามนโยบายที่ผู้ดูแล อนุญาตเอาไว้
- เลือกใช้งานจาก Claimable Virtual Machine ที่ผู้ดูแลระบบสร้างไว้ล่วงหน้า ซึ่งผู้ใช้งานอื่นจะไม่สามารถมาเลือกใช้ Virtual Machine นี้ได้อีก จนการจะมีการ Un-Claim คืนไป และเมื่อมีการเปิดใช้งาน Virtual Machine จึงจะมีการคิดค่าใข้จ่าย
การใช้งาน Azure Dev Test Labs นั้นมีขั้นตอนที่สำคัญอยู่ 3 ขั้นตอนด้วยกัน คือ
- การสร้าง Dev Test Labs และการกำหนดนโยบาย
- การกำหนด Permission ให้กับผู้ใช้งาน Dev Test Labs
- การใช้งานของผู้ใช้งาน Dev Test Labs
ซึ่งในตอนนี้จะพาไปดูในเรื่องของการสร้าง Dev Test Labs และการกำหนดนโยบาย ก่อนนะครับ ส่วนอีก 2 ขั้นตอนไว้ติดตามตอนต่อไป
- การสร้าง Dev Test Labs และการกำหนดนโยบาย
- การสร้าง Dev Test Labs นั้นสามารถทำได้เช่นเดียวกับการสร้าง Resource อื่นๆ ใน Microsoft Azure ดังรูป


ในรูปที่ 2 นี้ก็จะเป็นการกำหนดค่าต่างๆ ให้กับ DevTest Lab เช่น Lab Name, Subscription, Resource Group และ Location เป็นต้น

รูปที่ 3 นี้เป็นการกำหนด Auto-Shutdown ว่าจะให้ Virtual Machine ที่สร้างขึ้นนั้นมีการปิดอัตโนมัติในเวลาใด และ Timezone ใด ซึ่งตรงนี้จะช่วยประหยัดเงินไปได้เยอะเลยครับ
- การกำหนดนโยบาย (Policy) ของ Lab
หลังจากที่สร้าง Dev Test Lab เสร็จแล้ว ผู้ดูแลจะสามารถกำหนดนโยบายของ Lab ได้ดังนี้
การกำหนด Policy นั้นสามารถทำได้จาก blade “Configuration and Policy”


ในส่วนนี้จะเป็นการกำหนด Size ของ Virtual Machine ที่อนุญาตให้สร้างได้ใน Lab ในที่นี้เลือก Size เป็น Standard_A1 และ Standard_A2 ครับ

จากนั้นจะเป็นการกำหนดจำนวน Virtual Machine ที่อนุญาตให้แต่ละ User สร้างใช้งานได้ และกำหนดจำนวน Virtual Machine ที่ใช้ Premium OS Disk ที่อนุญาติ ครับ ในที่นี้กำหนดให้ใช้ 2 ทั้ง 2 รายการ

กำหนดจำนวน Virtual Machine ในแต่ละ Lab ที่สามารถมีได้ คือที่จำนวน Virtual Machine ใน Lab และจำนวน Virtual Machine ที่ใช้ Premium OS Disk ใน Lab ครับ ในที่นี้กำหนดให้ใช้ 5 ทั้ง 2 รายการ
สมมุติง่ายๆ ว่าถ้าเราอนุญาตไป 2 Virtual Machine/user แล้วเรามี user 2 คน ก็ต้องกำหนด จำนวน Virtual Machine ใน Lab ตรงนี้เป็น 4 ขึ้นไปครับ

ตรงนี้เป็นการกำหนดข้อความประกาศ และข้อความแจ้งเตือนต่างๆ เพื่อให้ผู้ใช้งานยอมรับเงื่อนไขต่างๆ ในการเข้าใช้งาน


จากนั้นทำการกำหนด Auto-shutdown และ Auto-Start ของ Virtual Machine และ Opt-in ว่าจะให้ user สามารถกำหนดช่วงเวลา Auto-shutdown และ Auto-Start ได้เองหรือไม่

สุดท้ายเป็นการกำหนด Market Place Image ว่าจะให้ผู้ใช้งานสามารถทำการสร้าง Virtual Machine ใน Image ใดได้บ้าง
- การสร้าง Claimable Virtual Machine
อย่างที่กล่าวไปแล้วว่าหากต้องการอำนวยความสะดวกให้ผู้ใช้งาน สามารถใช้งานได้ง่ายขึ้น ก็สามารถที่จะทำการสร้าง Virtual Machine รอไว้ในรูปแบบที่เรียกว่า Claimable Virtual Machine ได้ครับ ซึ่งมีขั้นตอนการสร้างดังนี้

การสร้าง Claimable Virtual Machine สามารถทำได้จาก blade “Claimable Virtual Machine” และคลิก “Add”

ทำการเลือก Base Image ซึ่งจะเลือกได้เฉพาะ Image ที่อนุญาตไว้ในส่วนของการกำหนด Policy ก่อนหน้านี้ และเลือกตัวเลือกต่างๆ ของ Virtual Machine เช่น ชื่อ Virtual Machine เป็นต้น
นอกจากนี้ยังสามารถกำหนด Artifacts (การติดตั้งซอฟต์แวร์เพิ่มเติม) ลงใน virtual Machine ดังรูป

และยังสามารถที่จะกำหนดตัวเลือกต่างๆ เพิ่มเติม รวมถึงจำนวน Virtual Machine ที่ต้องการได้อีกด้วย
:

ซึ่งเมื่อสร้าง Claimable Virtual Machine แล้วจะปรากฏ Virtual Machine ขึ้นมาใน list ดังรูป

เอาล่ะครับ ทีนี้ Virtual Machine ของเราก็พร้อมให้บริการแล้วครับ ส่วนจะใช้ได้อย่างไรนั้น เดี๋ยวตอนหน้าจะมาเฉลยกันนะครับ สำหรับตอนนี้ขอพักก่อนนะครับ
แหล่งข้อมูลอ้างอิง
- About Azure DevTest Labs
- DevTest Labs concepts
- Connect(); 2016 News for Azure DevTest Labs: Azure Resource Manager template-based environments, VM auto-shutdown and more