Azure Resource Manager The Series : ตอนที่ 1 ทำความรู้จักกับ Azure Resource Manager

0
1531

หลังจากที่ห่างหายกันไปนานนะครับ เนื่องจากงานการรัดตัวเป็นอย่างยิ่ง  กลับมาครั้งในปี 2017 ก็จะมากล่าวถึง Microsoft Azure กันบ้างครับ ซึ่งหลายๆ น่าจะเป็นที่รู้จักกันบ้างแล้วครับ หรือบางท่านอาจจะยังไม่รู้จักก็ไม่ว่ากันครับ เดี๋ยวเรามาทำความเข้าใจไปพร้อมๆ กันเลยครับ

Microsoft Azure คืออะไร ?

คำถามนี้เป็นคำถามที่ตอบยากครับ เพราะมันพันกันเยอะแยะมากมายระหว่างคำศัพท์ต่างๆ หลายคำเลยทีเดียว  แต่ถ้าให้ตอบแบบง่ายๆ Azure ก็คือ Datacenter ขนาดใหญ่มากๆๆๆๆ (ก ไก่ ล้านตัวเลยครับ) ระบบหนึ่งซึ่ง Microsoft เป็นผู้บริหารจัดการครับ

ซึ่ง Microsoft ได้เปิดให้เช่า Datacenter ขนาดใหญ่นี้ โดยให้ผู้ใช้งานสามารถทำการสร้าง ปรับแต่ง แก้ไขการทำงานต่างๆ ได้ตามต้องการ ผ่านทางเครื่องมือต่างๆ (เช่น Portal Website, Azure Power Shell หรือ Cross Platform CLI เป็นต้น ซึ่งเดี๋ยวจะได้กล่าวถึงรายละเอียดต่อไปครับ)  ซึ่งผู้ใช้บริการไม่ต้องบริหาร Datacenter เอง ซึ่งการทำงานในรูปแบบดังกล่าวนี้เราเรียกว่าเป็น “Cloud Service”

Cloud Service Model

เป็นรูปแบบการแบ่ง datacenter ที่ว่านี้ให้เช่าครับ ว่าทาง Microsoft จะรับผิดชอบในส่วนไหน และผู้เช่าจะต้องรับผิดชอบในส่วนไหนบ้าง  ซึ่งส่วนที่แบ่งไปให้ Microsoft ดูแลเราจะเรียกว่าเป็นการให้บริการ (as A Service)  Cloud Service Model มีด้วยกันทั้งหมด 3 รูปแบบ ดังรูปที่ 1

01 รูปที่ 1 Cloud Service Model

  • Tranditional IT   ในส่วนนี้ไม่นับเป็น Cloud Service Model เป็นเพียงตัวเปรียบเทียบให้เห็นว่าในการทำ Datacenter ในองค์กรนั้นจะต้องประกอบไปด้วยส่วนต่าง ๆ 8 ส่วน เริ่มตั้งแต่ Networking, Storage, Servers, Virtualization, Operating System,Middleware, Runtime, Data และ Application ซึ่งทั้งหมดนี้องค์กรจะต้องรับผิดชอบเองทั้งหมด ซึ่งจะเห็นเป็นกรอบสีฟ้าทั้งหมด
  • Infrastructure As a Service (IaaS) นับเป็น Cloud Service ในรูปแบบที่ 1 เป็นการแบ่งการรับผิดชอบบางส่วนได้แก่  Networking, Storage, Servers, Virtualization, Operating System (ซึ่งเป็นกรอบสีเทา) ไปให้ทาง Microsoft ดูแลให้
  • Platform As a Service (PaaS) เป็น Cloud Service ในรูปแบบที่ 2 เป็นการแบ่งการรับผิดชอบบางส่วนซึ่งมากกว่า IaaS  โดยเพิ่มส่วนของ Middleware และ Runtime ไปให้ทาง Microsoft ดูแลให้ และผู้เช่าจะรับผิดชอบเองเพียง 2 ส่วนคือ Data และ Application (กรอบสีฟ้า)
  • Software As a Service (SaaS) เป็น Cloud Service ในรูปแบบที่ 3 เป็นการมอบหน้าที่การบริหารจัดการทั้งหมดให้กับ Microsoft ดูแลให้ (เป็นสีเทาทั้งหมด) เช่น Office 365

ซึ่งจาก Cloud Service Model นั้นจะเห็นได้ว่า Azure จะมีการให้บริการเฉพาะในรูปแบบ IaaS และ PaaS เท่านั้นครับ

Azure Resource Manager (ARM)

เป็นรูปแบบการบริหารจัดการองค์ประกอบของ Datacenter ของ Azure (ที่แบ่งให้เราใช้)  ซึ่งองค์ประกอบเหล่านี้จะมีเป็นจำนวนมาก เช่น Virtual Network, Virtual Machine, Storage Account, Web App , Database ฯลฯ  ตลอดจนบริการจาก 3rd party ต่างๆ ด้วย

โดย Azure Resource Manager (ARM) จะช่วยให้ผู้ใช้งานสามารถที่จะจัดกลุ่มองค์ประกอบต่างๆ ที่มีเป็นจำนวนมาก เพื่อความสะดวกในการบริหารจัดการ และสามารถที่จะใช้เครื่องมือต่างๆ มาช่วยในการ deploy องค์ประกอบเหล่านี้ในรูปแบบ Automation เพื่อลดการทำงานของบุคคลากรทางด้าน IT

ข้อดีของ Azure Resource Manager

  • ช่วยให้ผู้ใช้งานสามารถที่จะ deploy, manage, และ monitor องค์ประกอบต่างๆ เหล่านั้นเป็นกลุ่มได้
  • สามารถทำซ้ำการทำงานต่างๆ โดยอาศัย Azure Template ซึ่งจะช่วยให้เกิดความแน่ใจว่าการทำงานต่างๆ ในแต่ละครั้งนั้นถูกต้อง ไม่ผิดเพี้ยน
  • สามารถกำหนดลำดับการขึ้นต่อกัน (Dependency) ของการทำงานของทรัพยกรต่างๆ และมั่นใจลำดับขึ้นในการ deploy เป็นไปอย่างถูกต้อง
  • รองรับการทำงานในรูปแบบ Role Base Access control (RBAC)
  • สามารถที่จะทำการติด tag ให้กับทรัพยากรต่างๆ เพื่อเป็นการจัดกลุ่มในรูปแบบ Logical ทำให้ค้นหาได้ง่ายขึ้น
  • สามารถจำแนกค่าใช้จ่ายที่เกิดจากกลุ่มของทรัพยากรต่างๆ เพื่อบริหารงานค่าใช้จ่ายได้ง่าย

จากที่กล่าวมาแล้วนั้นก็น่าจะพอเห็นภาพของ Azure Resource Manager กันบ้างแล้วนะครับ หลังจากนี้ก็จะขอกล่าวถึงคำศัพท์บางประการที่ควรจะทราบซะก่อนนะครับ

นิยามศัพท์ที่สำคัญเกี่ยวกับ  Azure Resource Manager

  1. Resource   องค์ประกอบต่างๆ ที่สามารถปรับแต่งค่าได้ ซึ่งสามารถนำมาใช้งานเพื่อประกอบกันเป็น Datacenter ตามที่ต้องการ  ตัวอย่างของ Resource เช่น Virtual Network, Virtual Machine หรือแม้แต่องค์ประกอบเล็กๆ เช่น Network Interface Card (NIC) หรือ Public IP Address ก็นับเป็น Resource ได้เช่นกัน
  2. Resouce Group เป็นการนำเอา Resource ต่างๆ มาจัดกลุ่มรวมกันเพื่อให้เกิดเป็น Solution ที่ต้องการ โดยผู้ใช้สามารถที่จะจัดกลุ่มของ Resource ไว้ใน Resouce Group ได้อิสระตามต้องการ
  3. Resource Provider  หมายถึงบริการต่างๆ ที่ทำให้ Resource นั้นๆ สามารถให้บริการได้  เช่น Microsoft.Compute สำหรับให้บริการ Virtual Machine, Microsoft.Storage สำหรับให้บริการ Stroage Account เป็นต้น
  4. Resource Manager Template เป็นแฟ้ม (File) ในรูปแบบ JSON (JavaScript Object Notation) ที่ใช้ในการ deploy Resource ไปยัง Resource Group รวมถึงกำหนดลำดับการขึ้นต่อกันในการ deploy ด้วย
หมายเหตุ: จริงๆ แล้ว Azure มีโหมดการทำงานอีกแบบหนึ่งเรียกว่า Classic Model ครับ แต่เป็นโหมดที่มีข้อจำกัดเยอะมาก และไม่นิยมใช้มากนักในปัจจุบัน ดังนั้นจึงจะขอไม่กล่าวถึงใน Series นี้ครับ เพราะจะได้ไม่สับสนครับ

เอาละครับตอนแรกนี่เอาไว้แค่นี้ก่อนนะครับ ลองอ่านและทำความเข้าใจกันดูนะครับ  แล้วตอนที่ 2 จะได้อธิบายถึงเครื่องมือต่างๆ ในการทำงานกับ Azure Resource Manager ครับ

ข้อมูลอ้างอิง

  1. Azure Resource Manager overview  https://docs.microsoft.com/en-us/azure/azure-resource-manager/resource-group-overview