สรุป Azure Service มีอะไรบ้าง

Microsoft Azure คือคลาวด์แพลตฟอร์ม (Cloud Platform) ที่เป็นบริการของ Microsoft ให้เราสามารถเช่าบริการต่างๆของ Microsoft เพื่อให้บริการในองค์กร เสมือนกับมีคนแบ่งคอมพิวเตอร์ให้เราใช้ คือเราสามารถเช่าส่วนต่างๆของคอมพิวเตอร์ได้เช่น พื้นที่เก็บข้อมูล CPU GPU เป็นต้น ในแง่ของการพัฒนาซอฟต์แวร์นั้น Cloud สร้างความสะดวกสบายอย่างมากเช่น เราเปิดขายของ Online มีโปรโมชันช่วง 11.11 หรือ 12.12 ซึ่งคนเข้ามาซื้อของเป็นจำนวนมากทำให้ Server อาจรองรับไม่ไหวหรือล่มไป แต่ถ้าเราใช้บริการ Cloud เราก็ขอเพิ่มจำนวนเครื่อง จำนวน CPU เพื่อรองรับการใช้งานได้อย่างง่าย

Azure Active Directory(Azure AD) ใช้จัดการ Users ภายในองค์กร สามารถสร้างหรือจัดกลุ่ม Users ได้ โดยจะมี Tenant ซึ่งเป็นตัวแทนองค์กรสำหรับจัดการ Resource ต่างๆ Tenant นั้นเปรียบได้กับอพาร์ตเมนต์ ที่ตึกๆหนึ่งมีหลายห้อง ผู้เช่าสามารถเลือกได้ว่าจะเช่าห้องไหน ใน Azure ก็เช่นกันคือมีหลาย Services ให้องค์กรได้เลือกใช้บริการเช่น Subscriptions, Users, Domains และ Groups เป็นต้น

  • สร้าง User ใหม่รวมถึงกำหนดสิทธิของ User นั้นได้
  • Azure Role สามารถเลือกสร้าง Role ให้กับ User อื่นหรือจะสร้าง Role เองก็ได้
  • สามารถจัดกลุ่ม(Groups) ของ User ได้
  • สามารถสร้าง User ที่ไม่อยู่ภายในองค์กรได้
  • สามารถ Reset Password ให้กับ User ได้
  • ลบ User ได้แต่สามารถ Restore ได้ภายใน 30 วัน
  • Admin สามารถตรวจสอบการ Sign-in ของ User
  • สามารถ Sync User จาก On-Premise มา On-Cloud ได้โดยใช้ Azure Ad Connect


Resource Groups  เป็นการจัดกลุ่มของ Resource ที่ใช้ในการเข้าถึง Services ต่างๆบน Azure คล้ายๆกับการสร้าง Folder บนเครื่องคอมพิวเตอร์ เช่น สร้าง Resource Groups สำหรับกลุ่มของ Resource ที่จัดการ SQL Database, Web Application, Virtual Machine เป็นต้น

  • ใน Resource Groups เราสามารถกำหนดสิทธิให้คนอื่นๆได้ ว่ามีสิทธิจัดการกลุ่มนี้อย่างไรบ้างเช่น Owner, Contributor, Reader เป็นต้น โดยเลือกจากเมนู Access Control(IAM)
  • หากมีการลบ Resource Groups, Resource ภายในจะถูกลบตามไปด้วย
  • ใน 1 Resource จะสามารถอยู่ได้เพียง Resource Groups เดียวเท่านั้น
  • Resource สามารถย้ายไปยัง Resource Groups อื่นได้
  • ไม่สามารถสร้าง Resource Groups ซ้อน Resource Groups ได้



Container Registries ก่อนอื่นต้องรู้จัก Container ก่อนว่าคืออะไร Container เป็น Software Package ที่สามารถ Run ซอฟต์แวร์ของเราได้อย่างรวดเร็วหากเทียบกับ Virtual Machines ที่ต้องมี OS ซึ่งทำให้เสียเวลาติดตั้งนานและใช้ทรัพยากรต่างๆของคอมพิวเตอร์เป็นจำนวนมาก Container บน Azure เองสามารถเรียกใช้งานง่ายและรวดเร็ว

  • MS Azure สามารถสร้าง Container ได้ภายในหลักวินาที
  • สามารถเชื่อมต่อ Public IP และ DNS Name ได้
  • สามารถเพิ่มลด Sizes ของ Container ได้
  • สามารถสร้าง Container ได้ทั้ง Linux และ Windows
  • สามารถเชื่อมต่อ Github เพื่อ Download และ Deploy ตัวซอฟต์แวร์ได้



Kubernetes Service ในการพัฒนาซอฟต์แวร์นั้นจะประกอบไปด้วยหลายๆ Container ซึ่งการมี Container หลายตัวก็ต้องมีตัวจัดการซึ่งก็คือ Kubernetes นั่นเอง


  • Azure Kubernetes สามารถทำงานได้ทั้งบน Linux และ Windows
  • ในการ Deploy Kubernetes บน Azure นั้นจะใช้ภาษา YAML
  • สามารถปรับเพิ่มหรือลด(Scale) Application ได้โดยอัตโนมัติ
  • สามารถจัดการ Resource ต่างๆได้โดยใช้ Terraform(ตัวจัดการ infrastructure)
  • รองรับการทำงานแบบ continuous integration and continuous deployment (CI/CD)
  • มี Kubernetes Proxy ทำหน้าที่เป็นตัวรับ Network จากข้างนอกเข้ามาแล้วกระจายใช้งานภายใน


Virtual Machine(VM) เป็นการจำลองเครื่องคอมพิวเตอร์เสมือนอยู่บน Azure Service ซึ่งมีทั้งส่วนของ Hardware และ OS ส่วนของ Hardware นั้นเช่น CPU,GPU,RAM และ HDD ในส่วนของ OS ก็สามารถติดตั้งทั้ง Linux หรือ Windows ลงไปได้

  • สามารถเพิ่มหรือลดขนาดของ Virtual Machine ได้ง่ายเช่น เราสามารถ clone VM เครื่องอื่นๆมาได้ โดยการเพิ่มหรือลดนั้นสามารถทำได้อย่างรวดเร็ว
  • การคิดเงินจะคิดจากเครื่อง VM ที่ยังทำงานอยู่เท่านั้น หาก VM เครื่องไหนไม่ได้ใช้งานแล้วเพียงแค่ Shut Down ไป
  • มีการเข้ารหัสข้อมูล ทำให้ VM ที่ใช้งานมีความปลอดภัย
  • มี Feature ที่สามารถ Recovery VM กลับมาได้
  • VM ของ Azure มี Extended Datacenter ที่สามารถเชื่อมต่อเครือข่ายขององค์กรเราได้



SQL Database เป็นตัวจัดการฐานข้อมูลขนาดใหญ่บนโดยใช้ Cloud โดยมีฟังก์ชันต่างๆมากมายเช่น Auto Upgrad, มีการออก Patch มาตลอด, สามารถ Backup Database ได้ และสามารถ Monitoring การใช้ทรัพยากรต่างๆของ Database การใช้งาน Azure SQL Database นั้นมีความเสถียรอย่างมาก โดยเฉพาะเทียบกับการตั้ง Database Server ขึ้นมาเอง มีความเสถียรถึง 99.99% 

  • สามารถเชื่อมต่อกับ SQL Server Management Studio เพื่อจัดการข้อมูลได้
  • สามารถเพิ่มหรือลดขนาด(Scale) ของ Database ได้ง่ายและรวดเร็ว
  • มีความปลอดภัยสูงเพราะมีการเชื่อมต่อ Firewall
  • มี Azure Backup เพื่อป้องกันการสูญหายของข้อมูล
  • Azure จะ Auto Update Database ให้เป็น Version ใหม่ล่าสุดเสมอ
  • มี AI เป็นตัวจัดการหากมีการใช้ Database สูงกว่าค่าที่ตั้งไว้



Shared Dashboard 

ใช้สำหรับ monitor และติดตาม Resources หรือ Services ต่างๆบน Azure โดยสามารถกำหนดตั้งค่าตาม Resources ที่สนใจได้ เช่น CPU, Memory, Disk, Network, Response Time เป็นต้น การติดตามข้อมูลต่างๆบน Dashboard สามารถช่วยทราบได้ว่า Services ที่เราติดตามนั้นมีสถานะพร้อมใช้งานปกติหรือไม่และสามารถติดตามสถานะย้อยหลังได้อีกด้วย





Key Vault เป็นตัวจัดเก็บข้อมูล Key ที่สำคัญให้กับ Application อย่างปลอดภัยโดยสามารถแบ่งออกเป็น 3 ประเภทดังนี้

  • Key ตัวที่เข้ารหัสหรือถอดรหัสข้อมูล (Encrypt/Decrypt) เช่นเราสร้างเครื่อง VM ขึ้นมา 1 เครื่อง ภายในเครื่องนั้นมี Disk อยู่ ซึ่งข้อมูลภายใน Disk นั้นต้องการการเข้ารหัสแต่เราจะเก็บ Key ไว้ที่ไหนดีที่ปลอดภัย ดังนั้น Azure Key Vault เป็น Service ที่ให้บริการจัดเก็บ Key  
  • Certificate เป็นใบรับรองที่มีการรับรองว่าข้อมูลนั้นจะถูกเข้ารหัส กรณีนี้จะถูกใช้มากในเว็บไซต์ที่มี Protocol แบบ https คือมีการรับรองว่าการส่งผ่านข้อมูลระหว่างผู้ใช้งานกับเว็บไซต์นั้นมีการเข้ารหัส
  • Secret ตัวที่จะรักษาความลับของข้อมูลโดยการเข้ารหัส เช่นเราสร้างเว็บไซต์ที่มีการติดต่อกับ Database ซึ่งต้องมีการเก็บ Address, Username, Password ของเว็บไซต์ด้วย ซึ่งข้อมูลเหล่านี้เราสามารถใช้ Azure Key Vault จัดการเพื่อความปลอดภัยได้


Subscription 

เป็นการติดตาม Resources ต่างๆที่เราสนใจว่าจะมีค่าใช้จ่ายจากการใช้บริการบน Azure Services เท่าใด กรณีนี้จะคล้ายกับการใช้งาน Credit Card เพราะระหว่างที่เรารูดไปนั้น ก็ทำให้เราทราบถึงยอดที่ใช้ไปและมีการสรุปบิลตอนท้ายเดือนด้วย แต่การที่จะสามารถใช้งาน Azure Subscription ได้นั้นจำเป็นต้องมี Micrisoft Account ที่ผูกกับ Azure AD เสียก่อน





Storage account เป็นการจัดการข้อมูลในรูปแบบต่างๆบน Azure ที่ไม่ได้อยู่ในรูปแบบของ SQL Database เช่น รูปภาพ VDO และข้อความ เป็นต้น การจัดเก็บข้อมูลบน Storage account นั้นเราสามารถแบ่งออกได้เป็น 4 ประเภทดังนี้

  • Blob เป็นการเก็บข้อมูลแบบ Unstructure Data เช่น รูปภาพ VDO โดย File ที่เก็บนั้นจะถูกจัดการด้วย Container เหมาะสำหรับการเก็บรูปภาพที่นำไปใช้บน Web-Application
  • File เป็นการจัดการ File ที่อนุญาตให้สามารถ Share ข้อมูลไปยังคนอื่นๆได้ทั้งบน Cloud และบน On-Premises 
  • Queue เป็นการจัดการข้อมูลที่อยู่ในรูปแบบ Message Queue ในการส่งข้อมูลจากต้นทางอาจจะมีหลาย Message ซึ่งแต่ละ Message นั้นจะถูดจัดการด้วย Message Queue หรือจะมีการนำข้อมูลเข้า Queue อย่างเป็นลำดับ Message ที่ถูกส่งก่อนเป็นอันดับแรกจะถูกนำไป Process ก่อน โดยทุก Message จะถูก Process จนไม่เหลือ Message ค้างใน Queue การทำงานในลักษณะนี้จะทำให้มั่นใจได้ว่าข้อมูลจะไม่หายไปไหน เพราะทุก Message ถูกจัดการโดย Queue
  • Table เป็นการจัดการข้อมูลโดยใช้ No SQL Database เหมาะสำหรับการจัดเก็บข้อมูลที่ไม่มีโครงสร้างที่ชัดเจน


Load balancing เป็น Service ที่ออกแบบมาเพื่อเพิ่มประสิทธิภาพการทำงานของระบบ เพิ่มการตอบสนองของ Network เช่น มีเว็บไซต์แห่งหนึ่งจัดโปรโมชันขายของออนไลน์ช่วง 11.11 - 12.12 ซึ่งช่วงดังกล่าวจะมี Request บนเว็บไซต์เยอะเป็นพิเศษ ทำให้ต้องใช้ทรัพยากรของเครื่อง Server เป็นจำนวนมาก แต่ก่อนหากไม่มี Load Balance เครื่อง Server อาจจะทำงานหนักทำให้ตอบสองช้าหรือแฮ้งไปเลย การใช้ Load Balance นั้นเป็นการกระจาย Trafic ให้เครื่อง Server ตัวอื่นๆช่วยทำงานเพื่อการตอบสนองที่รวดเร็วมากขึ้น สำหรับบริการ Load Balance ที่นิยมใช้บน Azure ได้แก่

  • Load Balance กับ Protocol ที่เป็น TCP หรือ UDP แบบนี้เป็นที่นิยมเพราะสร้างง่ายที่สุด
  • Load Balance ระดับ Gatway ได้
  • มี Health probes เป็นการติดตาม Load Balance Resource ต่างๆ
  • Azure Front Door เป็นการกระจาย Trafic ไปยังจุดที่ใกล้ที่สุด
  • Load Balancing Rules เป็นการ Load Balance ตามเงื่อนไขที่สนใจ เช่น ชนิดของ IPV ว่าเป็น IP4 หรือ IPV6 ชนิดของ Ports



Virtual networks 


เป็นเครือข่ายแบบ Private Network ทำหน้าที่เชื่อมต่อแต่ละ Device บน Azure Resources ให้สามารถติดต่อสื่อสารกันได้อย่างปลอดภัยภายใต้ Network เดียวกัน เช่น VM, Internet และ On-Premises Networks ยกตัวอย่างมีเครื่อง VM อยู่ 2 เครื่องการที่จะทำให้ 2 เครื่องนั้นติดต่อสื่อสารกันได้จะต้องสร้างให้อยู่ภายใต้ Network เดียวกัน ในเครื่อง VM นั้นเราสามารถสร้าง Subnet ขึ้นมาได้และยังสามารถตั้งค่า Subnet ให้เป็น Public เพื่อเชื่อมต่อ Internet ได้อีกด้วย




Application Gateway ยังเป็นตัวช่วยในการจัดการ Trafic จาก Web Application ให้มีประสิทธิภาพมากขึ้นโดยอาศัยการทำงานของ Load Balancer ช่วยกำหนดการรับส่งข้อมูลตาม IP Address หรือ Post ที่กำหนดได้อีกด้วย เนื่องจาก Application Gateway ทำงานอยู่ Firewall ที่คอยป้องกันภัยคุกคามและการโจมตีต่างๆทำให้ระบบมีความปลอดภัยมากยิ่งขึ้น

  • สามารถกำหนดเส้นทางและแยกประเภทข้อมูลที่รับเข้ามาได้เช่น รูปภาพ VDO
  • มี Autoscaling คือสามารถรับระบบให้เพิ่มหรือลดได้ตามจำนวน Trafic ที่เข้ามาแบบอัตโนมัติ
  • ทำงานอยู่บน Virtual Networks
  • รองรับการทำงานแบบ SSL/TLS termination คือมีการเข้ารหัสก่อนการส่งข้อมูล


ป้ายกำกับ

แสดงเพิ่มเติม

บทความยอดนิยม

Software Development Life Cycle (SDLC) คืออะไร ทำไมจำเป็นต่อการพัฒนาซอฟต์แวร์

ม.ปลายอยากเข้าสายคอม วิทยาการคอม วิศวกรรมคอม เตรียมตัวอย่างไร ต้องมีพื้นฐานอะไรบ้าง

Automation testing หรือ การทดสอบซอฟต์แวร์อัตโนมัติ คืออะไร ทำไมถึงสำคัญต่อการทดสอบซอฟต์แวร์

วิธีเก็บ วิเคราะห์ รวบรวม requirement อย่างไรให้มีประสิทธิภาพ

Performance Test คือ อะไร วัดประสิทธิภาพของระบบ ล่มไม่ล่ม จะรู้ได้อย่างไร

8 สิ่งที่ AI จะมาเปลี่ยนโลกในอนาคต

ถอดรหัสความลับเครื่อง Enigma จุดเริ่มต้นและจุดจบของสงครามโลกครั้งที่ 2