การปรับต้นทุน CI/CD และประสิทธิภาพของตัวรัน
ลดค่าใช้จ่ายของไปป์ไลน์และการสูญเปล่าของทรัพยากรด้วยการปรับขนาดตัวรันให้เหมาะสม ลดนาทีที่สูญเปล่า ปรับการแคช และวัดต้นทุนต่อการสร้างหนึ่งครั้ง
การปรับต้นทุน CI/CD และประสิทธิภาพของตัวรัน เป็นบทเรียน DevOps Bootcamp ฟรีบน CoddyKit นี่คือบทเรียนที่ 4 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน DevOps Bootcamp และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส DevOps Bootcamp มีบทเรียนทั้งหมด 4 บทเรียน
ต้นทุนคือเมตริกของ DevOps
ความเร็วและความน่าเชื่อถือมักได้รับความสนใจ แต่ต้นทุนก็สำคัญไม่แพ้กัน นาทีของ CI/CD การประมวลผลของตัวรันเนอร์ และการส่งข้อมูลออกจากคลาวด์ล้วนรวมกันเป็นค่าใช้จ่าย โดยเฉพาะเมื่อระบบขยายใหญ่ขึ้น
การมองต้นทุนเป็นเมตริกสำคัญช่วยให้ไปป์ไลน์ดำเนินต่อไปได้อย่างยั่งยืนเมื่อทีมเติบโตขึ้น
ค่าใช้จ่ายไปอยู่ที่ใด
ปัจจัยหลักที่ขับเคลื่อนต้นทุนของ CI/CD ได้แก่:
- นาทีของตัวรันเนอร์ทั้งหมดที่ใช้ไป
- ขนาดของตัวรันเนอร์ (เครื่องที่ใหญ่กว่าจะมีค่าใช้จ่ายต่อนาทีสูงกว่า)
- การสร้างซ้ำหรือการสร้างที่ทำซ้ำซ้อน
- แคชที่ช้าหรือไม่มีแคช
การปรับปรุงแต่ละส่วนช่วยลดค่าใช้จ่ายโดยไม่กระทบความเร็วในการส่งมอบงาน
การเลือกขนาดตัวรันเนอร์ให้เหมาะสม
ตัวรันเนอร์ที่ใหญ่กว่าจะทำงานเสร็จเร็วขึ้น แต่มีค่าใช้จ่ายต่อนาทีสูงกว่า ตัวเลือกที่ประหยัดที่สุดคือตัวรันเนอร์ขนาดเล็กที่สุดที่ยังทำงานได้ภายในเวลาที่กำหนด
ทดสอบประสิทธิภาพของงานบนขนาดต่าง ๆ แล้วเลือกจากต้นทุนต่อการสร้างที่ดีที่สุด ไม่ใช่เลือกเฉพาะตัวที่เร็วที่สุด
jobs:
build:
runs-on: ubuntu-latest # vs larger paid runnersยกเลิกการทำงานที่ถูกแทนที่
หากนักพัฒนาพุชงานสองครั้งติดกันอย่างรวดเร็ว การทำงานครั้งแรกมักสูญเปล่า การใช้การทำงานพร้อมกันร่วมกับการยกเลิกงานที่กำลังดำเนินอยู่จะหยุดงานเก่าโดยอัตโนมัติ
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: trueกำหนดเวลาหมดอายุ
งานที่ค้างอาจใช้เวลาหลายนาทีจนถึงขีดจำกัดเริ่มต้นของแพลตฟอร์ม ควรกำหนด timeout-minutes เสมอ เพื่อให้งานที่ทำงานไม่สิ้นสุดล้มเหลวอย่างรวดเร็วและประหยัดค่าใช้จ่าย
build:
runs-on: ubuntu-latest
timeout-minutes: 15ข้ามงานที่ไม่จำเป็น
รวมตัวกรองพาธเข้ากับการตรวจหาการเปลี่ยนแปลง เพื่อให้เรียกใช้เฉพาะงานที่ได้รับผลกระทบ นาทีที่ประหยัดที่สุดคือนาทีที่คุณไม่ต้องเสียไปตั้งแต่แรก
นอกจากนี้ ให้ใช้ paths-ignore เพื่อข้าม CI ทั้งหมดสำหรับคอมมิตที่แก้ไขเฉพาะเอกสาร
on:
push:
paths-ignore:
- '**.md'ใช้แคชเพื่อลดการประมวลผล
แคชที่ดีสามารถเปลี่ยนการติดตั้งสิ่งที่ต้องพึ่งพาซึ่งใช้เวลาหลายนาทีให้เหลือเพียงไม่กี่วินาที งานที่เร็วขึ้นหมายถึงนาทีที่ถูกเรียกเก็บเงินน้อยลง
กำหนดคีย์แคชโดยอ้างอิงไฟล์ล็อกอย่างแม่นยำ เพื่อให้แคชยังใช้งานได้และเป็นข้อมูลล่าสุด
- uses: actions/cache@v4
with:
path: ~/.npm
key: npm-${{ hashFiles('package-lock.json') }}ข้อแลกเปลี่ยนระหว่างการทำงานขนานและต่อเนื่อง
งานแบบขนานเสร็จเร็วกว่า (มีเวลาเริ่มจนส่งมอบที่ดีกว่า) แต่ใช้จำนวนนาทีรวมเท่าเดิมหรือมากกว่า งานแบบต่อเนื่องใช้ตัวรันเนอร์พร้อมกันน้อยกว่า แต่ใช้เวลานานกว่า
สร้างสมดุลระหว่างทั้งสองแบบตามว่าคุณต้องการปรับปรุงความเร็วหรือต้นทุน
เศรษฐศาสตร์ของตัวรันเนอร์ที่โฮสต์เอง
เมื่อมีปริมาณงานสูง ตัวรันเนอร์ที่โฮสต์เองบนโครงสร้างพื้นฐานของคุณอาจมีต้นทุนต่อนาทีถูกกว่าตัวรันเนอร์ที่มีผู้ให้บริการโฮสต์ แต่จะเพิ่มภาระด้านการบำรุงรักษาและความปลอดภัย
คำนวณจุดคุ้มทุนโดยเปรียบเทียบต้นทุนโครงสร้างพื้นฐานคงที่กับต้นทุนต่อนาทีของบริการโฮสต์คูณด้วยจำนวนนาทีต่อเดือน
การวัดต้นทุนต่อการสร้าง
คุณไม่สามารถปรับปรุงสิ่งที่ไม่ได้วัดได้ ติดตามนาทีต่อเวิร์กโฟลว์และต้นทุนต่อ PR ที่ผสานแล้วในระยะยาว
รายงานการเรียกเก็บเงินและการใช้งานของ GitHub รวมถึงระยะเวลาการทำงานที่ส่งออกมา ช่วยให้คุณสร้างแดชบอร์ดต้นทุนอย่างง่ายได้
สร้างสมดุลระหว่างต้นทุนกับ DORA
อย่าลดต้นทุนโดยแลกกับคุณภาพ เป้าหมายคือประสิทธิภาพ: รักษาเมตริก DORAที่แข็งแกร่ง (ความถี่ เวลาเริ่มจนส่งมอบ การกู้คืน และอัตราการเปลี่ยนแปลงที่ล้มเหลว) พร้อมลดความสูญเปล่า
ไปป์ไลน์ที่ได้รับการปรับปรุงจะรวดเร็ว เชื่อถือได้ และประหยัด
ตรวจสอบความเข้าใจ
ทดสอบความเข้าใจของคุณเกี่ยวกับการปรับปรุงต้นทุนของไปป์ไลน์
สรุปทบทวน
คุณได้เรียนรู้การทำให้ไปป์ไลน์มีประสิทธิภาพด้านต้นทุน
- เลือกขนาดตัวรันเนอร์ให้เหมาะสมและกำหนด
timeout-minutes - ยกเลิกการทำงานที่ถูกแทนที่และข้ามงานที่ไม่จำเป็น
- ใช้แคชอย่างเต็มที่เพื่อลดการประมวลผล
- วัดต้นทุนต่อการสร้างและสร้างสมดุลกับเมตริก DORA
ประสิทธิภาพหมายถึงการส่งมอบที่รวดเร็ว เชื่อถือได้ และมีค่าใช้จ่ายเหมาะสม
คำถามที่พบบ่อย
บทเรียน “การปรับต้นทุน CI/CD และประสิทธิภาพของตัวรัน” ฟรีหรือไม่
ใช่ — ข้อความเต็มของ “การปรับต้นทุน CI/CD และประสิทธิภาพของตัวรัน” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส DevOps Bootcamp ให้อัปเกรดเป็น CoddyKit PRO คอร์ส DevOps Bootcamp มีบทเรียนทั้งหมด 4 บทเรียน
คุณจะเรียนรู้อะไรในบทเรียน “การปรับต้นทุน CI/CD และประสิทธิภาพของตัวรัน”
ลดค่าใช้จ่ายของไปป์ไลน์และการสูญเปล่าของทรัพยากรด้วยการปรับขนาดตัวรันให้เหมาะสม ลดนาทีที่สูญเปล่า ปรับการแคช และวัดต้นทุนต่อการสร้างหนึ่งครั้ง คุณปฏิบัติ DevOps Bootcamp ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน
คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน DevOps Bootcamp หรือไม่
ไม่จำเป็นต้องมีประสบการณ์มาก่อน DevOps Bootcamp บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 4 จากทั้งหมด 4 บทเรียน
บทเรียน “การปรับต้นทุน CI/CD และประสิทธิภาพของตัวรัน” ใช้เวลานานแค่ไหน
บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย
ฉันเขียนและรันโค้ดในบทเรียน DevOps Bootcamp นี้ได้ไหม
ได้ บทเรียน DevOps Bootcamp ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- ตัวชี้วัด DORA และสุขภาพของ CI/CD
- การปรับแต่งประสิทธิภาพไปป์ไลน์
- แนวโน้มอนาคตของระบบอัตโนมัติใน DevOps
- การปรับต้นทุน CI/CD และประสิทธิภาพของตัวรัน