Microsoft Azure DevOps (ไมโครซอร์ฟ อะ-ชัว เดฟออปส์) คืออะไร?

ในปัจจุบัน ผู้ให้บริการ (Cloud Provider) ชื่อดังระดับโลกมีมากมายเช่น Amazon Web Services, Google Cloud Platform รวมไปถึง Azure ก็เป็นหนึ่งในบริการจัดเก็บข้อมูลโดยมีบริษัท Microsoft เป็นผู้ดูเเล

Microsoft Azure เป็นระบบปฎิบัติการ Cloud Platform ที่เปิดกว้างเพื่อทำหน้าที่สร้าง ติดตั้ง จัดเก็บข้อมูลแบบ Online รวมถึงจัดการโซลูชั่นต่างๆ ช่วยดูแลและจัดการด้านฮาร์ดแวร์ ซอฟต์แวร์ และระบบเครือข่ายผ่านระบบของ Cloud Service เพื่อตอบโจทย์ความต้องการขององค์กรมากมายโดยที่จะรองรับใน 2 รูปแบบหลักคือ บริการโครงสร้างพื้นฐาน IaaS (Infrastructure as a Service) และ บริการแพลตฟอร์ม PaaS (Platform as a Service) ซึ่งบริการประเภทของ Azure มีทั้งหมด 22 บริการเเละในแต่ละบริการก็จะมี Function ที่แตกต่างกันออกไป 

DevOps เป็นหนึ่งในบริการของ Microsoft Azure ที่จัดการการทำงานร่วมกันและแก้ไขปัญหากระบวนการทำงานซ้ำซ้อนระหว่าง Developer ที่เป็นผู้พัฒนา Code แต่ไม่สามารถ Deploy Code ขึ้นใช้งานเองได้ และ Operator ผู้ทำการ Deploy ให้กับทีม ซึ่งบริการนี้จะเข้ามาช่วยเพิ่มประสิทธิภาพ Flow ของการทำงานให้ราบรื่น ลดการทำงานที่ผิดพลาด และลดระยะเวลาในการทำงาน เพื่อให้สามารถผลิต Product มาตอบสนองความต้องการของลูกค้าได้รวดเร็ว มีประสิทธิภาพ และรวมถึงมีคุณภาพมากขึ้น โดยมีทั้งหมด 5 บริการ

จุดเด่นของบริการ DevOps ค่าย Microsoft นั้นคือการเขียน Code ที่น้อยกว่าค่ายอื่น เพื่อที่จะช่วยให้นักพัฒนาโฟกัสเเต่เรื่องการพัฒนาโปรเเกรมได้เลย ทำให้สามารถลดความยุ่งยากในการทำงานเเละยังง่ายต่อการใช้งาน

1.Azure Pipelines      

บริการที่ผู้ใช้งานสามารถ Build, Test เเละ Deploy Code ได้เลย สามารถใช้ได้ทุกภาษาเเละทุกเเพลตฟอร์ม ช่วยจัดการเรื่องงานหรือกระบวนการที่ทำซำ้ๆให้มีคุณภาพเเละคงมาตรฐานเหมือนเดิมทุกครั้ง  ซึ่งทำให้ง่ายต่อการจัดการเเละทำงานโปรเจคร่วมกับผู้อื่น เพื่อให้การส่งมอบงานให้กับลูกค้าหรือคนทดสอบงานเป็นไปอย่างอัตโนมัติ โดย Dev จะมีหน้าที่เอา Source Code ไปใส่ใน Git เพื่อให้ระบบสามารถ Run เองได้อัตโนมัติ อีกทั้งบริการนี้ยังเป็นเครื่องมือที่ใช้ Run บริการ CI/CD (Continuous Integration และ Continuous Delivery) ซึ่งเป็นแนวทางการทำงานตั้งแต่การ Plan, Code, Build, Test, Release, Deploy, Operate, Monitor 

CI/CD

2.Azure Board

หน้าบอร์ดที่ทำหน้าที่กำหนดแผนการทำงานต่างๆ บริหารจัดการ Process ทั้งหมดของ Project ร่วมกับทีม สามารถสร้างลิสงานเพื่อกระจายงานเเละคุยงานร่วมกันกับทีมได้ โดยบริการนี้จะมีการบันทึกงานที่คุยกันทำให้สามารถเห็น Process ทั้งหมดของงาน ซึ่งจะทำให้ง่ายต่อการตรวจงานเเละติดตามความก้าวหน้าของงาน

Backlogs เอาไว้รวบรวมงานทั้งหมดของทั้งโปรเจค

Work items เอาไว้listงานหน้าที่ของเเต่ละคนในทีม

Sprints เอาไว้ติดตามความก้าวหน้าของงานที่ถูกเเบ่งไว้

3.Azure Artifacts

ระบบจัดการเเพคเกจ จัดการโปรเเกรมเเละเก็บโปรเเกรมที่ทำเสร็จแล้ว หรืออาจจะเป็นการ Download เเพคเกจจากที่ต่างๆมาเก็บไว้ เพื่อนำไปใช้สำหรับเเชร์ในโปรเจคต่างๆที่ใช้งานร่วมกันกับทีมโปรเจคเดียวกัน ซึ่งสามารถรองรับ Maven, NPM, NuGet เเละอื่นๆได้ 

ถ้าหากคนในทีมโปรเจคได้สร้างแพคเกจที่ต้องการใช้ ผู้ใช้บริการสามารถทำการ Hosting Package ได้โดยการ Create Feed เพื่อทำการ Link โปรแกรมที่ต้องการใช้มายัง Artifact ของผู้ใช้บริการ โดยวิธีการนี้จะเป็นการประหยัดเวลาเเละลดขั้นตอนในการทำงานได้ ซึ่งหากเป็นการ Hosting Package จากภายในองค์กรเดียวกัน ก็จะมีความปลอดภัยมากขึ้น

4.Azure Repos

ที่เก็บไฟล์โปรเเกรมที่เราพัฒนาที่เป็น Souce Code ไว้ใช้สำหรับ Dev ซึ่งการเเก้ไขไฟล์งานเเต่ละครั้งก็จะมีการบันทึกการเเก้ไขไว้ ซึ่งโครงสร้างการบันทึกการเเก้ไขนี้เรียกว่า “Git” 

Git คือระบบการเก็บข้อมูลอีกรูปเเบบหนึ่งใน Version Control System เป็นระบบที่เก็บไฟล์หรือข้อมูลที่ถูกเเก้ไขในโปรเจคทั้งหมด ซึ่งสามารถย้อนกลับไปดู Commit (ประวัติเเก้ไข) เเต่ละครั้งได้ว่าเเก้ไปกี่รอบ ใครเเก้ตรงไหนบ้าง เเก้ไขวันไหน หากระบบเกิดความขัดข้องขึ้นก็สามารถเช็ดประวัติย้อนหลังได้ตั้งเเต่เริ่มต้นจนถึงปัจจุบัน

โดยในการทำงานที่เป็นทีมโปรเจค มักจะพบปัญหาที่เกิดขึ้นบ่อยครั้งคือการเกิดการทับซ้อนของไฟล์เมื่อมีการเเก้ไขไฟล์เดียวกันที่มีอยู่ ระบบ Git จะทำงานโดยการเเจ้งเตือนการทับซ้อนของไฟล์งานที่เเก้ไข ซึ่งคนที่ทำการเเก้ไขต้องตกลงกันในการเลือกไฟล์ใดไฟล์หนึ่ง เเล้วถึงจะสามารถ Merged (ผสาน) ไฟล์นั้นๆเข้าไปได้ เเต่หากไม่สามารถตกลงกันได้ สามารถทำ Pull Request ให้ Reviewer เป็นผู้ตรวจสอบ ในการเลือกไฟล์ที่ถูกต้องเเละถึงจะสามารถทำการ Merged ไฟล์ได้

5.Azure Test Plans

การวางเเผนหรือออกแบบระบบจัดการชุดทดสอบโปรเเกรมตาม Feature เพื่อให้ Tester ตรวจสอบและรายงานผลให้ลูกค้า ซึ่งการรายงานผลเเบบเป็นช่วงงานนั้นเรียกว่า Sprint ซึ่งใน 1 Sprint จะมีกี่ Feature ก็ตามเเต่การตกลงกันของผู้ใช้บริการกับลูกค้า

โดยจะมีกำหนดการส่งมอบงานตามที่ตกลงกับลูกค้าว่าต้องการทดสอบอะไรบ้าง มีกี่ Feature เห็นผลการรายงานของ Feature ใดก่อนหลัง แล้วถึงจะสามารถวางเเผนการรายงานผลว่าจะมีกี่ Sprint ซึ่งอาจจะอ้างอิงจากระยะเวลากำหนดตามที่ตกลงไว้กับลูกค้าหรือการคาดการณ์จากการวางเเผน ซึ่ง Tester จะเป็นผู้ตรวจสอบงานที่จะส่งมอบให้ลูกค้าก่อนเสมอแล้วถึงจะสามารถส่งรายงานผลให้ลูกค้าได้

Azure DevOps Pricing

Azure DevOps Service 

เป็นการให้เช่าใช้บริการที่คิดค่าบริการตามการใช้งานจริง สามารถชำระค่าบริการเเละใช้งานได้เลย โดยลักษณะการคิดค่าใช้บริการ จะมีอยู่ 2 รูปเเบบ

  1. คิดตามปริมาณ
  2. คิดตามเวลาการใช้งาน

Individual Services (บริการแบบรายบุคคล) 

Azure Pipeline 

  • ให้บริการ CI/CD บน Microsoft ฟรี 1 โครงการโดยที่สามารถใช้งานได้ 1,800 นาทีต่อเดือน เเละสามารถใช้เครื่องของผู้ใช้บริการเองรันโปรเเกรมได้ฟรี 1 เครื่องไม่จำกัดเวลาต่อเดือน โดยใช้บริการผ่านอินเตอร์เน็ต
  • เเต่หากใช้บริการ CI/CD บน Microsoft เกินกว่าที่กำหนด จะคิดเพิ่มเดือนละ 40 ดอลลาร์ต่องานที่รันพร้อมกัน เเละเซิร์ฟเวอร์ส่วนตัวหากรันขนานคิดเพิ่ม 15 ดอลลาร์ต่องาน

Azure Artifacts

  • ใช้บริการ NuGet
  • รองรับเเพคเกจ Maven, npm, and Python
  • Upstream sources to help protect open-source dependencies
  • ทำงานร่วมกันกับ Azure Pipelines
  • Sophisticated access controls
สามารถใช้บริการพื้นที่จัดเก็บได้ฟรี 2GiB เเต่หากเกินกว่านั้นจะคิดค่าบริการ2ดอลลาร์ต่อGiB

User Licenses (บริการเเบบกลุ่ม)

Basic Plan 

สามารถใช้บริการเบื้องต้นของ Azure DevOps (Azure Pipelines, Azure Boards, Azure Repos, เเละ Azure Artifacts) โดยบริการนี้จะใช้ฟรีได้ตลอดเเต่ต้องใช้ไม่เกินลิมิตที่กำหนดไว้

  • Pipelines: สามารถใช้งานตามบริการเเบบรายบุคคล (Individual Services) ได้ฟรี
  • Boards: สามารถติดตามงานเเละ Kanban Boards
  • Repos: สามารถจัดเก็บ Git ส่วนตัวแบบไม่จำกัดพื้นที่
  • Artifacts: พื้นที่จัดเก็บฟรี2GiBต่อการโครงการ
ใช้งานฟรีสูงสุด 5 ผู้ใช้งานเเต่หากเกินกว่านี้คิดค่าบริการ 6 ดอลลาร์ ต่อผู้ใช้งาน/ต่อเดือน

Basic + Test Plans

  • ค่าบริการ 52 ดอลลาร์ต่อผู้ใช้งาน/ต่อเดือน
  • รวมบริการ Azure DevOps เบื้องต้นทั้งหมด (Azure Pipelines, Azure Boards, Azure Repos, เเละ Azure Artifacts)
  • ได้ใช้บริการ Azure Test Plan Test planning, tracking & execution
  • ได้ทดสอบบนเบราว์เซอร์พร้อมคำอธิบายประกอบ
  • Rich-client test execution
  • User acceptance testing
  • Centralized reporting

Azure DevOps Server

เป็นการดาวน์โหลดบริการเเบบมีลิขสิทธิ์ มาติดตั้งเป็นของผู้ใช้เองหรือที่เรียกว่าการซื้อขาด

Azure DevOps Server  2019 licensing

ผู้ใช้บริการสามารถจ่ายเงินเเบบเดือนต่อเดือนผ่าน Azure หรือถ้าซื้อเเบบลิขสิทธิ์ซอฟต์แวร์คลาสสิคก็จะมีข้อผูกมัด 3 ปี หากซื้อผ่าน Azure ผู้ใช้งานจะได้รับโบนัสเเละสิทธิประโยชน์ในการใช้บริการ Cloud ดังนั้นผู้ใช้บริการจะสามารถย้ายระบบไปยัง Cloud ได้เอง เเต่ถึงอย่างนั้นในตัวเลือกใดตัวเลือกหนึ่งผู้ใช้บริการจะต้องมีใบอนุญาต Windows หรือ Windows Server สำหรับเซิร์ฟเวอร์ที่ใช้ Azure DevOps Server 2019 ด้วย

มีคำถามหรือข้อสงสัยเพิ่มเติม สามารถ Inbox เข้ามาสอบถามได้นะคะ 🙂

บทความของเราน่าสนใจใช่ไหม เเชร์เลย!

Recent Posts

SQL Database Deployment Model

Microsoft Azure SQL Database [Deployment Model]

Deployment Model   เป็นบริการในรูปแบบPlatform as a Serviceของระบบฐานข้อมูลDatabaseบนโครงสร้างของMicrosoft AzureโดยมีDeployment Options ดังต่อไปนี้ 

Read More »
Microsoft App Serviceคืออะไร?

Microsoft Azure App Service คืออะไร?

Azure App Service เป็นอีกหนึ่งในบริการยอดนิยมของ Microsoft ที่ถูกใช้บริการมากที่สุด บริการนี้มีเครื่องมือที่จำเป็นเเละตอบโจทย์เป็นอย่างมากสำหรับ Developer ที่ต้องการมุ่งเน้นเเละให้ความสำคัญไปกับการพัฒนา Application

Read More »