วันศุกร์ที่ 31 กรกฎาคม พ.ศ. 2563

Azure API Management

     สวัสดีครับทุกท่าน สำหรับบทความนี้ของผมจะเป็นเรื่องราวเกี่ยวกับ Service หนึ่งใน Microsoft Azure ครับ โดย Service ดังกล่าวนี้จะเกี่ยวข้องกับท่านผู้อ่านที่เทำหน้าที่เป็น Developer หรือท่านใดที่เกี่ยวข้องกับเรื่องของการพัฒนา Software หรือ Application ครับ โดยส่วนตัวผมเคยมีประสบการณ์ได้เข้าไปมีส่วนรวมในการออกแบบ Azure Architecture และแนะนำให้ลูกค้านำเอา Service นี้มาใช้งานด้วยครับ นอกจากนี้แล้วยังมีหลายๆ องค์กรเลยครับ ที่มีความต้องการที่จะนำเอา Service ดังกล่าวนี้เข้ามาประยุกต์ใช้งานในองค์กรครับ  Service ที่ว่านี้มีชื่อว่า "Azure API Management" ครับ เอาล่ะครับเรามาทำความรู้จักกับ Azure API Management กันเลยครับ


Azure API Management



อย่างที่ผมได้เกริ่นไว้ในตอนต้นครับว่า Service (Azure API Management) นี้เกี่ยวข้องโดยตรงกับท่านผู้อ่านที่ทำงานเกี่ยวกับการพัฒนา Application ครับ สำหรับท่านใดที่ทำหน้าที่เกี่ยวกับ Infrastructure ผมแนะนำว่าให้ทำความรู้จักไว้ซักหน่อยก้อดีครับ  โดยผมขอเริ่มจากสิ่งที่เรียกว่า "APIs" หรือชื่อเต็มๆ คือ "Application Programming Interfaces" พอคุ้นๆ หรือเคยได้ยินมั๊ยครับ ผมเชื่อว่าท่านผู้อ่านทุกท่านน่าจะเคยได้ยินมาบ้างไม่มากก้อน้อยนะครับ แต่สำหรับท่านผู้อ่านที่เทำหน้าที่เป็น Developer ผมเชื่อว่าน่าจะรู้จักกันเป็นอย่างดีครับ และต้องบอกว่า APIs เป็นสิ่งถูกนำมาใช้งานในแทบจะทุกๆ องค์กรเลยครับ จะมากหรือน้อยแค่นั้นครับ สำหรับ APIs ถือว่าเป็นส่วนประกอบที่สำคัญส่วนหนึ่งขององค์กรเลยครับ

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

ในแต่ละองค์กรมีการใช้งาน APIs กันอยู่แล้วครับ เพียงแต่จะมากหรือน้อยครับ ทั้งนี้ขึ้นอยู่กับความต้องการและกลยุทธ์ทางธุรกิจขององค์กรครับ ดังนั้นแต่ละองค์กรก็จะมี Developer เพื่อทำการพัฒนาและใช้งาน APIs ทั้งในรูปแบบที่ใช้งานกันภายใน (Internal) องค์กร และ ภายนอก (External) เช่น Partners  และมีความเป็นไปได้เช่นกันครับที่บางครั้งที่ Developer มีการพัฒนาและสร้าง APIs ขึ้นมาเพื่อใช้งานกับ Application เดียว นอกจากนี้ยังมีความเป็นไปได้อีกเช่นกันที่มีความต้องการที่จะแชร์ APIs ครับ นอกจากนี้แล้วยังมีปัญหาอื่นๆ อีกครับสำหรับการที่ Developer จะจัดการ APIs เช่น การวิเคราะห์ Performance ของ APIs, การติดตามการใช้งาน APIs และอื่นๆ และจากประเด็นและปัญหาดังกล่าวนี้เองจึงเป็นความท้าทายหรือ Challenge คือ องค์กรจะทำการป้องกัน (Protect) และจัดการ (Manage) APIs อย่างไร?

นอกจากนี้แล้ว Developer อาจจะมีความต้องการเพิ่มเติม โดยเฉพาะในกรณีที่มีความต้องการที่จะแชร์ APIs ใช้งานทั้งภายในและภายนอก เช่น การควบคุมการใช้งาน, การกำหนดสิทธิ์ในการเข้าถึงและใช้งาน APIs, และอื่นๆ ตลอดจนในช่วงเวลาที่ผ่านมาจนถึงปัจจุบัน การพัฒนา Application โดยใช้คอนเซปและเทคโนโลยีของ Container และ Serverless ยิ่งทำให้ APIs มีบทบาทสำคัญมากขึ้นครับ เป็นต้น จาก Challenge ดังกล่าวนี้จึงเป็นจุดที่มีการนำเอาคอนเซปของ API Strategy และ Governance เข้ามาช่วยจัดการกับ Challenge ดังกล่าวโดยใช้ Azure API Management ครับ

Azure API Management ทำหน้าที่เป็น APIs Gateway โดยเตรียมวิธีการที่มีความ Reliable, Secure และ Scalable สำหรับใช้ในการ Publish, Consume, และ Manage APIs ครับ โดย Azure API Management ไดเตรียม Central Interface สำหรับใช้ในการสร้าง, จัดการ, และอื่นๆ ตลอดจนเครื่องมือหรือ Tools ต่างๆ เพื่อใช้ในการจัดการ APIs ตลอดจนการวิเคราะห์ Performance, การติดตามการใช้งาน, เรื่องของความปลอดภัย (Security) สำหรับ Azure API Management สามารถทำ IP Whitelisting เพื่อกำหนดว่าให้สามารถ Call หรือเรียก APIs จาก IP ใด, Authentication, และ Authorization ครับ  รูปด้านล่างเป็นตัวอย่างของ Azure API Management Architecture ครับ
















สำหรับรายละเอียดเพิ่มเติมสำหรับเรื่องราวของ Azure API Management ท่านผู้อ่านสามารถไปที่ Link นี้ได้เลยครับ https://docs.microsoft.com/en-us/azure/api-management/api-management-key-concepts

















อีก Link หนึ่งนะครับ เกี่ยวกับการ Import และ Publish APIs ใน Azure API Management ครับ
https://docs.microsoft.com/en-us/azure/api-management/import-and-publish


















และทั้งหมดนี้คือเรื่องราวของ Azure API Management ซึ่งเป็น Service หนึ่งใน Microsoft Azure ที่ผมอยากแนะนำให้ทุกท่านได้รู้จักกันครับผม.....


วันพุธที่ 29 กรกฎาคม พ.ศ. 2563

Windows Admin Center (WAC) Hybrid Management Tools

     สวัสดีครับทุกท่าน สบายดีนะครับ ผมหวังว่าทุกท่านสบายดีและปลอดภัยกันทุกท่านนะครับ โดยเฉพาะในช่วงเวลานี้ครับ  สำหรับตัวผมเอง, ช่วงที่ผ่านมามีการปรับเปลี่ยนพอสมควรครับ ทั้งในเรื่องรูปแบบของการทำงานซึ่งจะเป็นแบบ Online มากขึ้น ตลอดจนเรื่องของการเผยแพร่ความรู้ครับ นอกเหนือจาก FB และ Blog แล้ว ผมได้มีโอกาสจัดทำวีดีโอต่างๆ ไม่ว่าจะเป็นเรื่องราวเกี่ยวกับ Windows 10, Microsoft Azure, และอื่นๆ ร่วมกับทาง Microsoft แล้ว ผมยังมี Channel ใหม่เพิ่มเติมให้ทุกท่านได้ติดตามกันครับนั่นคือ YouTube  https://www.youtube.com/wisitthongphoo  ครับ โดยผมจะมีการอัพเดท Content เรื่อยๆ ครับ ฝากติดตามกันด้วยนะครับ

เอาล่ะครับมาเข้าเรื่องกันเลยครับ สำหรับบทความตอนนี้ผมจะพาทุกท่านไปทำความรู้จักกับเครื่องมือหรือ Tools ตัวหนึ่งที่สามารถช่วยท่านในเรื่องของการบริหารและจัดการ Windows Server ที่อยู่ใน On-Premise Data Center รวมถึงยังสามารถทำงานร่วมกับ Microsoft Azure เช่น สามารถทำการเชื่อมต่อเข้าไปยัง Azure Virtual Machine (Azure VM) เพื่อทำการจัดการเปรียบเสมือนกับ VM ตัวดังกล่าวทำงานอยู่ใน On-Premise Data Center ครับ, สร้าง Azure VM, และยัง Integrate ทำงานร่วมกับ Services อื่นๆ ใน Microsoft Azure อีกทั้งยังมีฟีเจอร์ต่างๆ อีกเยอะแยะมากมายครับ และทุกครั้งที่ผมสอนหลักสูตร Microsoft Azure Administrator ผมมักจะแนะนำเครื่องมือดังกล่าวนี้ให้กับลูกค้าที่เข้าอบรมเพื่อจะได้กลับไปทดลองและประยุกต์ใช้งานในองค์กรของลูกค้าต่อไปครับ

และทาง Microsoft จะมีการอัพเดทเพิ่มความสามารถให้กับเครื่องมือดัวกล่าวนี้เป็นระยะๆ อีกด้วยครับ  เกริ่นมาพอสมควรแล้วเรามารู้จักเครื่องมือที่ว่านี้กันครับ เครื่องมือหรือ Tools นี้มีชื่อว่า "Windows Admin Center" หรือเรียกสั้นๆ ว่า "WAC" ครับ  และบทความนี้ผมจะเน้นในส่วนของการทำงานร่วมกันสำหรับการบริหารและจัดการระหว่าง Windows Admin Center (WAC) กับ Microsoft Azure ครับ





รู้จักกับ Windows Admin Center (WAC)

ดังที่ผมได้เกริ่นไว้ในตอนต้นเกี่ยวกับ WAC  เรามาทำความรู้จักกับ WAC กันให้มากขึ้นนะครับ สำหรับเครื่องมือหรือ Tools ตัวนี้ ทาง Microsoft ได้จัดทำและพัฒนาโครงการที่ชื่อว่า Honolulu ขึ้นมา โดยโครงการดังกล่าวนี้จะทำการสร้างและพัฒนาเครื่องมือหรือ Tools ที่จะมาใช้ในการบริหารและจัดการ Windows Server ในรูปแบบ Centralized Management และสามารถทำงานร่วมกับ Microsoft Azure เพื่อให้ WAC สามารถเข้าไปบริหารและจัดการ Services ต่างๆ ใน Microsoft Azure เช่น Azure Virtual Machine, Azure Backup, Azure Monitor, และอื่นๆ 

โดย Windows Admin Center หรือ WAC เป็น ฺBrowser-Based Tools ที่สามารถช่วยองค์กรในการบริหารและจัดการ Windows Server 2019, Windows Server 2016, Windows Server 2012 R2, Windows Server 2012, Windows 10, Azure Stack, HCI, และอื่นๆ รวมถึงการทำงานร่วมกับ Microsoft Azure ดังที่ผมได้อธิบายไว้ก่อนหน้านี้ครับ

รูปด้านล่าง เป็นรูปที่แสดงถึงฟีเจอร์หรือความสามารถต่างๆ ของ Windows Admin Center (WAC) ในการบริหารและจัดการ Windows Server ครับ และเป็นเครื่องมือที่ Microsoft ให้ลูกค้าสามารถดาวน์โหลดมาติดตั้งใช้งานได้ฟรี !!!!!






สำหรับในส่วนของการทำงานร่วมกันระหว่าง Windows Admin Center (WAC) กับ Microsoft Azure นั้น ต้องบอกว่า WAC สามารถทำงานร่วมกับหลายๆ Services ใน Microsoft Azure ครับ ณ ตอนนี้มีประมาณนี้ครับ และมีความเป็นไปได้แน่นอนที่จะมีการอัพเดทเพิ่มเติมครับ


เรื่องต่อมาเป็นเรื่องของ Architecture ของ Windows Admin Center (WAC) ครับ ซึ่งท่านผู้อ่านจะเห็นว่า WAC สามารถบริหารและจัดการ Windows Server ใน On-Premise Data Center รวมถึงใน Microsoft Azure โดย ไม่ต้องมีการติดตั้ง Agent สำหรับตัวของ Windows Admin Center หรือ WAC เองรองรับ Browser 2 ตัว คือ Microsoft Edge และ Google Chrome ครับ  



สำหรับการติดตั้ง Windows Admin Center (WAC) นั้นต้องบอกเลยครับว่าไม่ยาก และยังสามารถติดตั้งบน Windows Server หรือจะเป็น Windows 10 ก็ได้ครับ รายละเอียดเกี่ยวกับ Requirements และการติดตั้งนั้น สามารถดูรายละเอียดจาก Link นี้ได้เลยครับ  https://docs.microsoft.com/en-us/windows-server/manage/windows-admin-center/overview


และเมื่อติดตั้ง Windows Admin Center (WAC) เสร็จเรียบร้อย หน้าตาจะเป็น ดังรูปด้านล่างครับ


จากนั้นให้คลิ๊ก Add เพื่อทำการเชื่อมต่อกับ Windows Server หรือ Windows 10 ดังรูปด้านล่างครับ



ในกรณีที่ต้องการเชื่อมต่อของ Windows Admin Center (WAC) จะมีให้เลือกหลาย Options ครับ ดังนี้: 

1. Windows Server ที่อยู่ใน On-Premise เลือก Windows Server 
2. Windows Server ที่ติดตั้งและรันเป็น Virtual Machine (Azure Virtual Machine) บน 
    Microsoft Azure เลือก Azure VM 
3. Windows 10 เลือก Windows PC
4. Windows Server Clustering เลือก Windows Server Cluster

ผมขออนุญาตยกตัวอย่างนะครับ เช่น ในกรณีที่ท่านผู้อ่านต้องการใช้ Windows Admin Center (WAC) เชื่อมต่อกับ Windows Server ที่อยู่ใน On-Premise เลือก Windows Server จากนั้นให้ท่านผู้อ่านกำหนดชื่อเครื่องหรือ IP Address ของ Windows Server ดังกล่าวครับ แต่ถ้าต้องการเชื่อมต่อกับ Azure VM เลือก Azure VM จากนั้น ท่านผู้อา่นจะต้องทำการ Sign-In ก่อนนะครับ  รูปด้านล่าง เป็นการกำหนดค่า่สำหรับ Windows Admin Center (WAC) เชื่อมต่อกับ Azure VM ครับ โดยหลังจากที่ Sign-In เรียบร้อยแล้วนะครับ


เมื่อกำหนดค่าต่างๆ  เรียบร้อยแล้ว ท่านผู้อ่านจะเห็นว่าจะมีชื่อหรือ IP Address ของ Azure VM ปรากฎขึ้นมาใน Windows Admin Center (WAC) ครับ

จากน้้นให้คลิ๊ก Manage as จากนั้นให้ใส่ Username และ Password เพื่อทำการเชื่อมต่อไปยัง Azure VM ดังกล่าวครับ


เมื่อกำหนดค่าต่างๆ เสร็จเรียบร้อยแล้ว ให้คลิ๊ก Connect ครับ ก็จะปรากฎหน้าตา ดังรูปด้านล่างครับ



และนี่คือหน้าตาของ Windows Admin Center (WAC) หลังจากที่ทำการเชื่อมต่อไปยัง Azure VM เรียบร้อยแล้วครับ ซึ่งท่านผู้อ่านจะเห็นว่า WAC มีการแสดงค่าต่างๆ เบื้องต้นที่เกี่ยวกับ Azure VM เช่น Computer Name, Domain Name, OS, และอื่นๆ เป็นต้น  รวมถึงสามารถแสดง Metric ของ CPU, Memory, และอื่นๆ ของ Azure VM ดังกล่าวได้อีกด้วยครับ


และด้านซ้ายมือของ Windows Admin Center (WAC) คือ ฟีเจอร์ต่างๆ มากมายที่สามารถใช้ในการบริหารและจัดการ Windows Server รวมถึงการทำงานร่วมกับ Microsoft Azure ครับ  

ผมขอยกตัวอย่าง เช่น ในกรณีที่ ท่านผู้อ่านต้องการที่จะ Remote ไปยัง Azure VM ดังกล่าวหรือต้องการ Remote ไปยัง Windows Server ที่อยู่ใน On-Premise  โดยปรกติท่านผู้อ่านจะต้องเรียกและเปิดใช้งาน Remote Desktop Connection ที่เราคุ้นเคยกันอยู่แล้วถูกต้องมั๊ยครับ นั่นหมายความว่าเรามีการใช้งานเครื่องมือหรือ Tools ตัวอื่น เพิ่มเติมเข้ามา ซึ่งทำให้ผู้ดูแลระบบจะต้องมีการใช้งานเครื่องมือมากกว่า 1 ตัวในการบริหารและจัดการ และจากประเด็นดังกล่าวนี้เอง เป็นสิ่งที่ทาง Microsoft ได้พยายามคิดค้นและพัฒนาเครื่องมือในการบริหารและจัดการ โดยใช้เครื่องมือให้น้อยที่สุด หรือพูดง่ายๆ คือ ใช้แค่เครื่องมือเดียวครับ และเครื่องมือดังกล่าวนี้คือ Windows Admin Center (WAC) นั่นเองครับ นั่นหมายความว่าจากตัวอย่างที่ผมอธิบายตอนต้น ผมต้องการที่จะทำการ Remote ไปยัง Azure VM ผมสามารถทำได้โดย WAC ครับ  โดยให้ท่านผู้อ่านไปยัง Remote Desktop ซึ่งอยู่ด้านซ้ายใน Windows Admin Center (WAC) ดังรูปครับ



และในกรณีที่ท่านผู้อ่านต้องการสร้าง Azure VM ก็สามารถทำได้ผ่านทาง WAC เช่นกันครับ




ซึ่งเท่าที่ผมได้ทำการทดลองสร้าง Azure VM ผ่านทาง WAC ก็รู้สึกว่ามันสะดวกและง่ายครับ และเป็นอีกทางเลือกหนึ่งสำหรับการสร้าง Azure VM ครับ

และสิ่งที่น่าสนใจใน Windows Admin Center (WAC) นอกเหนือจากความสามารถหรือฟีเจอร์ต่างๆ ในการบริหารและจัดการ Windows Server แล้ว นั่นคือการทำงานร่วมกันระหว่าง WAC กับ Microsoft Azure ดังรูปครับ


ซึ่งทำให้ผู้ดูแลระบบสามารถบริหารและจัดการในการใช้งาน Service ต่างๆ เช่น Azure Backup, Azure Monitor เป็นต้น ในการบริหารและจัดการแบบ Hybrid ครับ

และทั้งหมดนี้คือเรื่องราวของ Windows Admin Center (WAC) ซึ่งเป็นเครื่องมือที่ผมเรียกว่า Hybrid Management Tools ครับ ซึ่งผมเชื่อ WAC จะเป็นเครื่องมือตัวหนึ่งที่สำคัญที่ใช้ในการบริหารและจัดการระบบไอทีขององค์กรไม่ว่าจะอยู่ใน On-Premise, Cloud, หรือเป็นแบบ Hybrid  อย่าลิมไปดาวน์โหลดมาติดตั้งและลองใช้งานกันนะครับผม....