07
May
เจาะลึกความสามารถทั้ง 5 บริการของ Azure DevOps
.
.
Azure DevOps คืออะไร?
Azure DevOps เป็นบริการจากทาง Microsoft มันคือเครื่องมือช่วยในการทำ Development Operations ตามชื่อของมันเลย ซึ่งเป็นหนึ่งในเครื่องมือที่สำคัญที่ DevOps Engineer must have ต้องมี อย่างที่ทราบกันดีว่า DevOps คือการเชื่อมกระบวนการพัฒนาโปรแกรม การส่งเอาขึ้นไป Deploy ให้ผู้ใช้เข้าถึงอย่างได้อย่างมีประสิทธิภาพ มีคุณภาพ ไปจนถึงการติดตามสถานะการทำงานของโปรแกรมเพื่อนำกลับมาพัฒนาปรับปรุงกระบวนการพัฒนาโปรแกรม ซึ่งปัญหาของ DevOps Engineer อยู่ที่การ Deploy มันมีปัญหาที่ซ้ำซ้อน ไม่ว่าจะเป็นในเรื่องของกระบวนการทำงาน บางครั้ง Developer ที่เป็นผู้พัฒนา Code แต่ไม่สามารถ Deploy Code ขึ้นใช้งานเองได้ ซึ่งก็ทำให้เกิด work flow ที่ไม่ราบรื่น เป็นอุปสรรคต่อการพัฒนาแอป แทนที่จะได้พัฒนาแอปได้อย่างเต็มที่ แต่นักพัฒนาต้องมากังวลกับการเขียนโค้ด ดังนั้นเจ้า Azure DevOps จะมาช่วยแก้ปัญหาด้านนี้ ลดการทำงานที่ผิดพลาด และลดระยะเวลาในการทำงาน ทำให้แอปนั่นพัฒนาอย่างเต็มที่จนตอบสนองความต้องการของลูกค้าได้
.
ในบทความนี้เราจะพามาเจาะลึกความสามารถของทั้ง 5 บริการของ Azure DevOps ว่ามันทำอะไรได้บ้างมีประโยชน์อย่างไร จะช่วยให้ DevOps Engineer ทำงานได้ดีขึ้นจริงหรอ
.
.
1. Azure Board
ช่วยให้ DevOps Engineer และทีม สามารถวางแผนกำหนดการทำงานต่างๆ บริหารจัดการกระบวกการทั้งหมด ช่วยให้งานของคุณ มี work flow มากขึ้น ทำให้การพัฒนาแอปของคุณนั้น พัฒนาได้เร็วและดีขึ้น ถ้าเทียบกับผลิตภัณฑ์อื่นๆในตลาดก็อาจจะเทียบได้กับ JIRA แต่มีขนาดเล็กกว่าและซับซ้อนน้อยกว่า ใช้งานได้สะดวกมากกว่า
.
- มอบหมายงานให้ทีม กระจายงานอย่างเป็นระบบ
- พูดคุยและประชุมกันได้ด้วย Microsoft Teams
- ปรับแต่ง dashboards ได้
- Backlogs เอาไว้รวบรวมงานทั้งหมดของทั้งโปรเจค
- Work items มอบหมายงาน เอาไว้ลงรายละเอียดงานหน้าที่ของเเต่ละคนในทีม
- Sprints เอาไว้ติดตามความก้าวหน้าของงานที่ถูกเเบ่งไว้ ช่วยให้คุณกระตุ้นทีมให้ทำงาน ทำให้งานมีความคืบหน้ามากขึ้น
- เชื่อมต่อกับ GitHub ด้วย Azure Boards Integration
.
..
2. Azure Pipelines
ช่วยให้นักพัฒนาสามารถ Build, Test เเละ Deploy Code ได้เลยด้วย CI/CD ช่วยจัดการเรื่องงานหรือกระบวนการที่ทำซ้ำ ให้มีคุณภาพเเละคงมาตรฐานเหมือนเดิมทุกครั้ง ซึ่งทำให้ง่ายต่อการจัดการเเละทำงานโปรเจคร่วมกับผู้อื่น โดย Dev จะมีหน้าที่เอา Source Code ไปใส่ใน Git เพื่อให้ระบบสามารถ Run เองได้อัตโนมัติ ซึ่ง Azure Pipelines ถือว่าเป็นหัวใจของการทำ Automation ต่างๆ
.
- สามารถใช้ได้ทุกภาษาเเละทุกเเพลตฟอร์ม เช่น js, Python, Java, PHP, Ruby, C/C++, .NET, Android, และ iOS apps และรันบนแพลตฟอม Linux, macOS, และ
- เครื่องมือที่ใช้ Run บริการ CI/CD (Continuous Integration และ Continuous Delivery)
- ตอบโจทย์ทุกกระบวนการทำงานของ DevOps Engineer ตั้งแต่การ Plan, Code, Build, Test, Release, Deploy, Operate, Monitor
- Docker Hub, Containers และ Kubernetes
- ขยับขยายปรับเปลี่ยนตามการใช้งานได้ (Extensible)
- ฟรีสำหรับ open source
.
.
3. Azure Repos
มีพื้นที่ไว้เก็บข้อมูลของโปรเจคต่างๆเวลาที่นักพัฒนานั้นได้เขียนโค๊ดแก้ไข ก็จะถูกบันทึก แบบฟรีและไม่จำกัดด้วย “Git” โดย Git นั่นคือ ระบบเก็บข้อมูลใน Version Control System ที่เก็บไฟล์หรือข้อมูลที่ถูกเเก้ไขในโปรเจคทั้งหมด สามารถดูประวัติการทำงานได้ ว่าแก้ไปกี่รอบ ใครเป็นคนแก้ แก้ตอนไหน เมื่อไหร่ ซึ่งเมื่อระบบขัดข้องก็จะไปตรวจสอบย้อนหลังได้ ลดปัญหาการทำงานทับซ้อน แก้ไขไฟล์งานเดียวกัน
.
- บริการค้นหา code ด้วย Semantic
- รองรับทุก Git ไม่ว่าจะ IDE, editor, และ Git client
- Web hooks และ API integration สามารถสร้างเองหรือเอามาจากนักพัฒนาท่านอื่นได้
- มีระบบตรวจจับการทับซ้อนของไฟล์เมื่อมีการเเก้ไขไฟล์เดียวกันที่มีอยู่ ระบบ Git
- ผู้พัฒนาต้องเลือกไฟล์ใด ไฟล์หนึ่งหากมีการแก้ไขทับซ้อน แล้วจึงจะสามารถ Merged (ผสาน) ไฟล์นั้นๆเข้าไปได้
- เเต่หากไม่สามารถตกลงกันได้ สามารถทำ Pull Request ให้ Reviewer เป็นผู้ตรวจสอบ ในการเลือกไฟล์ที่ถูกต้องเเละถึงจะสามารถทำการ Merged ไฟล์ได้
.
.
4. Azure Test Plans
ช่วยให้นักพัฒนาสามารถวางแผนการตรวจสอบ การทดลองระบบต่างๆ กำหนดได้ว่าจะตรวจสอบอะไรบ้างมีกี่ความสามารถ และระบบก็จะทำรายงานออกมาให้เห็น
.
- จัดเก็บข้อมูลต่างๆขณะที่คุณทดสอบ มันสามารถเก็บข้อมูลที่คุณดำเนินการทดสอบเพื่อหาข้อบกพร่องแล้วให้คุณแก้ไขจนดีที่สุด
- ทดสอบผ่านทางเว็บไซต์หรือเดสก์ท็อปก็ได้
- ได้รับผลการทดสอบย้อนหลังแบบ end-to-end
.
.
5. Azure Artifacts
ระบบที่จะมาช่วยผู้พัฒนาจัดการกับแพคเกจ เพื่อนำไปใช้สำหรับเเชร์ในโปรเจคต่างๆที่ใช้งานร่วมกันกับทีมโปรเจคเดียวกัน ช่วยจัดระเบียบโปรแกรมที่ผู้พัฒนาสร้างขึ้นมา ถ้าหากคนในทีมโปรเจคได้สร้างแพคเกจที่ต้องการใช้ ผู้ใช้บริการสามารถทำการ Hosting Package ได้โดยการ Create Feed เพื่อทำการ Link โปรแกรมที่ต้องการใช้มายัง Artifact ของผู้ใช้บริการ โดยวิธีการนี้จะเป็นการประหยัดเวลาเเละลดขั้นตอนในการทำงานได้ ซึ่งหากเป็นการ Hosting Package จากภายในองค์กรเดียวกัน ก็จะมีความปลอดภัยมากขึ้น
.
- การสร้างแพคเกจ การ host แพคเกจ การแชร์ส่งต่อแพคเกจ และการดาวโหลดแพคเกจ
- สามารถรองรับ Maven, NPM, NuGet, Python เเละอื่นๆได้ จัดการได้ทุกแพคเกจ
- สามารถแชร์แพคเกจแบบสาธารณะได้หรือจะแชร์แค่ในทีมพัฒนาก็ได้
- สามารถแชร์ได้อย่างง่ายดายตั้งแต่ทีมพัฒนาเล็กจนถึงระดับองค์กร
- เพิ่มแพคเกจ ไปยัง Pipeline ไหนก็ได้ แชร์แพคเกจโดยใช้ CI/CD สามารถกำหนดเวอร์ชั่นและการทดสอบระบบได้
.
.
.
สนใจบริการ Azure สอบถามข้อมูล พร้อมให้คำปรึกษา
ติดต่อบริษัท มอนสเตอร์ คอนเนค
โทร 02 392 3608
หรือ Line: @monsterconnect
.
.
.
Written by Witsawa Chanton
.
Ref.