Azure App Service
Figure 01 – Azure App Service
บริการในรูปแบบ PaaS (Platform as a Service) ที่เหมาะกับการพัฒนาแอพลิเคชั่นทางธุรกิจเป็นอย่างยิ่งไม่ว่าจะเป็น Web Application, Mobile Application หรือไม้แต่ API Apps ต่างๆ นอกจากนี้ Azure App Service ยัง รองรับเครื่องมือในการพัฒนาต่างๆ มากมาย เช่น .NET, .NET Core, Node.js, Java, Python และ PHP (จาก https://azure.microsoft.com/en-us/services/app-service/)
ข้อดีของการใช้งาน Azure App Service
Figure 02 – Azure App Service CI/CD
- เครื่องมือสำหรับการพัฒนาแอพลิเคชั่น
ที่ผู้พัฒนาคุ้นเคย เช่น Visual Studio, Visual Studio Code
-
ปรับจำนวน Instance เพื่อรองรับปริมาณการใช้งานในแต่ละช่วงเวลาได้โดยใช้ Auto Scale (https://azure.microsoft.com/en-us/features/autoscale/) โดยการเพิ่มหรือจำนวน Instance ของ App Service ได้ตามเงื่อนไขที่กำหนดไว้ล่วงหน้า
- รองรับกระบวนการทำงาน CI/CD (Continuous Integration/Continuous Delivery)
- สนับสนุนระบบปฏิบัติการ Windows และ Linux รวมถึงรองรับการใช้งานในรูปแบบ Container เป็นอย่างดี
- Deployment Slot ( https://docs.microsoft.com/en-us/azure/app-service/deploy-staging-slots)เป็นการแบ่งพื้นที่ใน Azure App Service ออกเป็นส่วนย่อยเพื่อใช้ในการทดสอบการทำงานของแอพลิเคชั่น โดยแต่ละส่วนย่อยมีการตั้งค่าแยกออกจากกัน ทำให้สามารถทดสอบแอพลิเคชั่นได้อย่างเป็นอิสระ
- ทำงานร่วมกับ Git, GitHub, GitHub Actions, Atlassian Bitbucket, Azure DevOps, Docker Hub, และ Azure Container Registry ได้
- มีระบบการรักษาความปลอดภัยที่เชื่อถือได้
- สามารถใช้งานร่วมกับ SSL Certificate และ TLS Authentication
- รองรับการ Authentication ผ่าน Azure Active Directory และ Authentication Provider อื่นๆ เช่น Facebook, Google, Twitter และ OpenID Connect
- ทำงานร่วมกับ Azure Security Center ในการประเมินและตรวจสอบความปลอดภัยของ Azure App Service ให้ตลอดเวลา
- สามารถเพิ่มการรักษาความปลอดภัยสูงขึ้น โดยใช้ Azure Web App Firewall
การเลือกใช้งาน Azure App Service
Azure App Service นั้นจริงๆ แล้วก็คือ VM นั่นเอง เพียงแต่ VM เหล่านี้ จะมีการทำงานภายใต้ App Service Plan (ASP) ซึ่ง ASP จะมีหน้าที่บริการจัดการทรัพยากรต่างๆ เช่นจำนวน Instance (จำนวน VM) เป็นต้น ดังนั้นจึงควรเลือกใช้ ASP ให้เหมาะสมกับการใช้งาน โดยมีปัจจัยหลักทีควรพิจารณาดังนี้
- ขนาดของ Azure App Service ที่มีความจำเป็นต้องใช้ของแอพลิเคชั่นนั้นๆ ว่าต้องใช้ VM ที่มีจำนวน CPU และ Memory เท่าใด
- จำนวน Instance (จำนวน VM) ในภาวะทีมีการใช้งานสูงสุด จะต้องใช้ VM จำนวนเท่าใดจึงจะตอบสนองการใช้งานทั้งหมดได้เพียงพอ
- รูปแบบการคิดค่าใช้จ่าย (Pricing Tier) เป็นค่าใช้จ่ายที่จะเกิดขึ้นเมื่อมีการเลือกใช้ ASP ขึ้นใน Microsoft Azure
- ความต้องการในการเชื่อมต่อกับ Virtual Network เพื่อใช้งานร่วมกับบริการอื่นๆ ของ Microsoft Azure
* ขึ้นอยู่กับภูมิภาคของ Microsoft Azure
เครื่องมือในการบริหารจัดการ Azure App Service อย่างมืออาชีพ
Azure App Service มาพร้อมกับเครื่องมือต่างๆ ที่ช่วยให้สามารถติดตาม (Monitor) และตรวจสอบข้อผิดพลาด (Diagnostics) ของแอพลิเคชั่นได้เป็นอย่างดีเช่น
Figure 03 – App Service diagnostics
-
Figure 04 – Azure Monitor
-
Azure Monitor เครื่องมือที่ช่วยเก็บข้อมูล และวิเคราะห์เกี่ยวกับการทำงานของที่เกี่ยวข้องตั้งแต่ระดับระบบปฏิบัติการ จนถึงแอพลิเคชั่นไว้ในที่เดียวกันเพื่อสะดวกในการนำมาวิเคราะห์ปัญหาได้อย่างดาย นอกจากนี้ Azure Monitor ยังสามารถเชื่อมต่อไปยังเครื่องมือต่างๆ ให้เลือกใช้งานได้อีกด้วย (
https://azure.microsoft.com/en-us/services/monitor)
Figure 05 – Application Insights
-
Application Insights เป็นส่วนขยายเพิ่มเติมจาก Azure Monitor โดยจะมีการติดตั้งส่วนขยายของแอพลิเคชั่นเพิ่มเติมเรียกว่า Application Insights Agent เข้าไปที่ Azure App Service เพื่อให้สามารถนำข้อมูลต่างๆ เกี่ยวกับ Azure App Service นั้นไปวิเคราะห์ต่อเนื่องโดยใช้ปัญญาประดิษฐ์ โดยข้อมูลที่นำมาวิเคราะห์เช่นข้อมูลการใช้งานของเครื่องลูกข่าย การทำงานของแอพลิเคชั่น เป็นต้น(
https://docs.microsoft.com/en-us/azure/azure-monitor/app/app-insights-overview)
หมายเหตุ : เครื่องมือต่างๆ ขึ้นอยู่กับ Pricing Tier และภูมิภาคของ Microsoft Azure ที่ใช้บริการ
การเชื่อมต่อไปใช้กับบริการอื่นๆ อาจมีค่าใช้จ่ายตามเงื่อนไขของบริการนั้นๆ