0Pricing
DevOps Bootcamp · บทเรียน

การปรับต้นทุน 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 ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ

บทเรียนทั้งหมดในหลักสูตรนี้

  1. ตัวชี้วัด DORA และสุขภาพของ CI/CD
  2. การปรับแต่งประสิทธิภาพไปป์ไลน์
  3. แนวโน้มอนาคตของระบบอัตโนมัติใน DevOps
  4. การปรับต้นทุน CI/CD และประสิทธิภาพของตัวรัน
← กลับไปที่ DevOps Bootcamp