เราเคยพูดถึงว่า Azure DevOps คืออะไรไปแล้ว ทีนี้เราจะมาดูกันว่าเราสามารถเอา Azure DevOps ไปช่วยในการ Develop Software ในขั้นตอนต่างๆ ได้อย่างไรบ้าง
โดยมาดูในตัวอย่าง Modern application development with Azure DevOps กัน ถึงแม้ใน diagram ของเราจะยกตัวอย่างเป็น Typescript / JavaScript แต่ก็สามารถนำไป Apply กับ technolgy stack อื่นๆได้เช่นกัน และสามารถนำ workflow ไปใช้กับ deployment target อื่นๆได้ ไม่ว่าจะเป็น Container, Platform-As-A-Service เช่น AppService, หรือ Virtual Machine เป็นต้น หรือแม้แต่ API Management หรือ IoT เราก็สามารถทำได้

- Planning:
- Product owner และ Team Member ร่วมกัน Plan Sprint ด้วย Azure Boards
- Developer แตกจาก Requirement ออกเป็น Task ย่อยๆ เพื่อจะได้ทำงานใน Sprint กันได้
- Developer workflow:
- Developer clone code จาก Azure Repos ลงมาที่เครื่องของตัวเอง
- พัฒนา Code / build / debug ในเครื่องของตัวเอง โดยมี GitHub Copilot คอยช่วยเหลือ ให้คำแนะนำ
- เมื่อได้ change ที่ต้องการแล้ว ก็ commit / push ไปที่ feature branch นน Azure Repos และสร้าง Pull Request เพื่อให้ Developer อื่นๆในทีมรีวิวก่อนที่จะ merge รวมเข้าไปยัง branch หลัก เช่น main branch หรือ master branch โดยการสร้าง Pull Request (PR) อาจจะ trigger ให้เกิดการ PR Build เพื่อ verify/test ก่อนที่จะให้ Develper อื่นๆ review ได้
- ใช้ Azure Boards ในการวางแผน sprint, ติดตามการทำงาน, ดู team progress ซึ่งคนอื่นๆเจ้าของผลิตภัณฑ์สามารถให้ข้อคิดเห็นและข้อเสนอแนะได้
- Code review:
- Developer อื่นในทีม หรือ Senior ทำ code review และ approve แล้วจึง merge เข้าไปยัง main หรือ master branch
- รายงานมาตรวัดคุณภาพโค้ด สถิติการทดสอบหน่วย การวิเคราะห์ความปลอดภัยซอฟต์แวร์ และสถานะการนำไปใช้งาน ผ่าน Azure Boards
- Continuous Integration Pipeline:
- Azure Pipeline จะ run build pipeline ซึ่งสามารถ Customize ให้ทำได้ตั้งแต่
- Supply chain analysis เพื่อดูว่า Library ต่างๆที่ Repository นี้ใช้อยู่มี Vulnerability อยู่หรือไม่
- Static Code Analysis ที่จะเช็คดูว่า Code ทำตาม Best Practices ต่างๆ เช่น มีการเช็ค Condition ต่างๆ หรือแม้แต่ Style เช่น การตั้งชื่อตัวแปรให้เป็นตามมาตรฐานของทีม
- สำหรับภาษาที่ต้อง Compile เช่น JAVA, C#, C++ ก็จะ Compile จาก Sourcecode ไปเป็น Output Binary เช่น .DLL, .EXE, .JAR, .WAR
- Run unit test
- Package เป็น Docker Image
- เช็ค Container Image Scan เพื่อหา Vulnerability ใน Container Image ซึ่งอาจจะมาจาก Base Image หรือจาก File ต่างๆที่ Dockerfile ของ Repository เพิ่มเข้าไป
- หากผ่านทุกขั้นตอน Artifacts เช่น binary file, container image, หรือ package ในรูปแบบอื่นๆ จะถูก publish ไปที่ Artifactory Repository เพื่อเอาไปใช้งานใน Environment ต่างๆ
- Azure Pipeline จะ run build pipeline ซึ่งสามารถ Customize ให้ทำได้ตั้งแต่
- Artifacts Repository :
- แอร์ทิแฟคต์ที่เผยแพร่จะถูกจัดเก็บใน Azure Artifacts ส่วนภาพคอนเทนเนอร์จะจัดเก็บที่ Azure Container Registry
- Continuous Deployment Pipeline):
- Azure Pipelines ทำงานแบบอัตโนมัติในการเคลื่อนย้ายแอร์ทิแฟคต์ผ่านขั้นตอนการพัฒนา ประกันคุณภาพ และนำไปใช้งานจริง
- ในแต่ละขั้นตอนจะมีกระบวนการอนุมัติก่อนดำเนินการไปขั้นถัดไป
- การเลื่อนระดับสภาพแวดล้อม:
- หลังจากขั้นตอนการพัฒนา ซอฟต์แวร์จะถูกนำไปยังสภาพแวดล้อม QA สำหรับการทดสอบเพิ่มเติม
- เมื่ออนุมัติในขั้น QA แล้ว ซอฟต์แวร์จะเคลื่อนไปขั้นตอนการนำไปใช้งานจริง
- Release to Production:
- ขั้นตอนสุดท้ายคือการปล่อยซอฟต์แวร์ให้ผู้ใช้งานจริงในสภาพแวดล้อมการผลิต
- ติดตามการใช้งานและเก็บ Feedback จากการใช้งาน:
- ขั้นตอนสุดท้ายคือการปล่อยซอฟต์แวร์ให้ผู้ใช้งานจริงในสภาพแวดล้อมการผลิต
- Application สามารถ instrument ให้ track metric ต่างส่งยัง Azure Application Insight ซึ่งเป็น APM (Applicaiton Performance Management) service บน Azure
- ตัวอย่าง metric ก็จะมีตั้งแต่ Application Request Latency, Dependency เช่น แต่ละ request ใช้เวลาในส่วนต่างๆของระบบที่ไหนบ้าง เช่น external HTTP
Workflow ทำงานนี้สะท้อนหลักการ DevOps ได้แก่ Automation, Continuous Integration, Continuous Deployment, และ Cross team Collaboration โดยใช้ประโยชน์จากเครื่องมือ Azure DevOps เพื่อสร้างขั้นตอนการพัฒนาซอฟต์แวร์ที่มีประสิทธิภาพและยืดหยุ่นได้
เริ่มต้นกับ Azure DevOps วันนี้:
คุณพร้อมที่จะทำให้กระบวนการพัฒนาซอฟต์แวร์และการจัดการโครงการของคุณเปลี่ยนแปลงหรือไม่? ติดต่อเราวันนี้เพื่อเริ่มต้นกับบริการติดตั้งและกำหนดค่า Azure DevOps ของเรา ผู้เชี่ยวชาญของเราจะร่วมงานอย่างใกล้ชิดกับทีมของคุณเพื่อนำ Azure DevOps เข้าสู่องค์กรของคุณ ดูรายละเอียด ของ Azure DevOps Implementation Service เพิ่มเติมได้
ที่ Bit Foundry เรามุ่งมั่นที่จะช่วยองค์กรของคุณปรุงสภาพในโลกของการพัฒนาซอฟต์แวร์รุ่นล่าสุด ขอให้เราคำแนะนำคุณในทางสู่ความมีประสิทธิภาพและความสำเร็จด้วย Azure DevOps คุณสามารถติดต่อเราได้วันนี้เพื่อเริ่มต้นทางสู่ความมีประสิทธิภาพและความสำเร็จกับ Azure DevOps ที่ Bit Foundry สนใจใช้เทคโนโลยีใหม่ๆ พัฒนาระบบคุณภาพสูงให้แก่ผู้ใช้งาน ติดต่อได้ที่ info@bitfoundry.co หรือ 062-390-9988