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

การย้อนกลับและการกู้คืนจากภัยพิบัติ

ออกแบบและสร้างขั้นตอนการย้อนกลับและแผนกู้คืนจากภัยพิบัติที่มีประสิทธิภาพภายในไปป์ไลน์ CI/CD

การย้อนกลับและการกู้คืนจากภัยพิบัติ เป็นบทเรียน DevOps Bootcamp ฟรีบน CoddyKit นี่คือบทเรียนที่ 3 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน DevOps Bootcamp และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส DevOps Bootcamp มีบทเรียนทั้งหมด 4 บทเรียน

ปัญหาที่ไม่คาดคิดเกิดขึ้นได้

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

ทั้งสองสิ่งมีความสำคัญอย่างยิ่งต่อการรักษาเสถียรภาพของระบบและความไว้วางใจของผู้ใช้

ทำความเข้าใจการย้อนกลับ

การย้อนกลับคือกระบวนการเปลี่ยนระบบหรือแอปพลิเคชันกลับไปยังสถานะก่อนหน้าที่มีเสถียรภาพ หลังจากการนำระบบที่มีปัญหาไปใช้งาน เปรียบเสมือนปุ่ม "เลิกทำ" สำหรับการเปลี่ยนแปลงล่าสุดของคุณ

โดยทั่วไปจะเรียกใช้การย้อนกลับอย่างรวดเร็ว เพื่อลดผลกระทบจากการเผยแพร่ที่มีข้อผิดพลาดและทำให้การทำงานกลับเป็นปกติ

แนวทางการย้อนกลับที่พบบ่อย

มีหลายวิธีในการย้อนกลับ โดยขึ้นอยู่กับกลยุทธ์การนำระบบไปใช้งานของคุณ:

  • เปลี่ยนกลับโค้ด: นำโค้ดแอปพลิเคชันเวอร์ชันก่อนหน้าที่ทราบว่าใช้งานได้ดีไปใช้งาน
  • เปลี่ยนเส้นทางการรับส่งข้อมูล: เปลี่ยนเส้นทางการรับส่งข้อมูลของผู้ใช้ออกจากเวอร์ชันใหม่ที่มีข้อผิดพลาดกลับไปยังเวอร์ชันเก่า
  • ย้อนกลับฐานข้อมูล: เปลี่ยนโครงร่างหรือข้อมูลฐานข้อมูลกลับ ซึ่งมักเป็นส่วนที่ซับซ้อนที่สุด

ทำให้การย้อนกลับเป็นอัตโนมัติด้วย Actions

GitHub Actions สามารถทำให้ขั้นตอนการย้อนกลับเป็นอัตโนมัติได้ คุณสามารถสร้างเวิร์กโฟลว์ที่เริ่มทำงานเมื่อเกิดเหตุการณ์เฉพาะ (เช่น การเรียกใช้ด้วยตนเอง) เพื่อปรับใช้รุ่นก่อนหน้าที่มีเสถียรภาพอีกครั้ง หรือเปลี่ยนการเปลี่ยนแปลงของโครงสร้างพื้นฐานกลับ

วิธีนี้ช่วยให้กระบวนการย้อนกลับรวดเร็ว สม่ำเสมอ และเกิดข้อผิดพลาดน้อยลง ทั้งยังลดข้อผิดพลาดจากมนุษย์ในสถานการณ์ที่ตึงเครียด

เวิร์กโฟลว์สำหรับการย้อนกลับด้วยตนเอง

ต่อไปนี้คือตัวอย่างการตั้งค่าทริกเกอร์ด้วยตนเองเพื่อปรับใช้เวอร์ชันก่อนหน้าเฉพาะเจาะจง (เช่น แท็กหรือค่าแฮชของการส่งการเปลี่ยนแปลง) เวิร์กโฟลว์นี้รับข้อมูล version จากผู้ใช้

name: Manual Rollback Deployment

on:
  workflow_dispatch:
    inputs:
      version:
        description: 'Tag or commit hash to deploy'
        required: true
        default: 'main'

jobs:
  rollback:
    runs-on: ubuntu-latest
    steps:
      - name: Checkout code
        uses: actions/checkout@v4
        with:
          ref: ${{ github.event.inputs.version }}

      - name: Deploy previous version
        run: |
          echo "Deploying version: ${{ github.event.inputs.version }}"
          # Add your specific deployment commands here
          # e.g., helm upgrade, kubectl apply, etc.

นอกเหนือจากการย้อนกลับ: การกู้คืนจากภัยพิบัติ

การกู้คืนจากภัยพิบัติ (DR)เป็นกลยุทธ์ที่ครอบคลุมกว่าในการกู้คืนระบบและข้อมูลหลังเหตุการณ์ร้ายแรง ซึ่งอาจเป็นศูนย์ข้อมูลหยุดทำงาน ภัยธรรมชาติ หรือการโจมตีทางไซเบอร์ครั้งใหญ่

การย้อนกลับใช้แก้ไขการนำระบบที่มีข้อผิดพลาดไปใช้งาน ส่วน DR มุ่งกู้คืนบริการทั้งหมดหลังระบบล้มเหลวโดยสิ้นเชิงหรือสภาพแวดล้อมหลักสูญหาย

การวางแผน DR ใน CI/CD

เมื่อวางแผน DR ในกระบวนการ CI/CD ของคุณ ควรพิจารณาสิ่งต่อไปนี้:

  • การสำรองข้อมูล: สำรองข้อมูล การกำหนดค่า และสิ่งประดิษฐ์เป็นประจำ
  • ความซ้ำซ้อน: นำระบบไปใช้งานในหลายภูมิภาคหรือโซนความพร้อมใช้งาน
  • เวิร์กโฟลว์การกู้คืน: เวิร์กโฟลว์เฉพาะสำหรับกู้คืนบริการจากข้อมูลสำรองหรือนำระบบไปใช้งานบนโครงสร้างพื้นฐานใหม่
  • การทดสอบ: ทดสอบแผน DR เป็นระยะเพื่อให้แน่ใจว่าจะใช้งานได้เมื่อต้องการ

การจัดเก็บสิ่งประดิษฐ์จากการสร้างเพื่อการกู้คืน

GitHub Actions สามารถจัดเก็บสิ่งประดิษฐ์จากการสร้าง ซึ่งมีความสำคัญอย่างยิ่งต่อ DR สิ่งเหล่านี้อาจรวมถึงไบนารีที่คอมไพล์แล้ว อิมเมจ Docker หรือรายการแสดงการนำระบบไปใช้งาน คุณสามารถอัปโหลดสิ่งเหล่านี้ระหว่างการสร้างที่สำเร็จ

จากนั้นสามารถดาวน์โหลดสิ่งประดิษฐ์เหล่านี้และนำไปใช้งานในสภาพแวดล้อมใหม่ ซึ่งเป็นส่วนหนึ่งของเวิร์กโฟลว์ DR

name: Build and Archive Artifacts

on: [push]

jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      - name: Checkout code
        uses: actions/checkout@v4

      - name: Build application
        run: |
          echo "Building app..."
          mkdir -p build_output
          echo "App version 1.0.0" > build_output/app.txt

      - name: Upload build artifact
        uses: actions/upload-artifact@v4
        with:
          name: application-build
          path: build_output/

ตรวจสอบการย้อนกลับเทียบกับ DR

การนำคุณลักษณะใหม่ไปใช้งานทำให้เกิดข้อผิดพลาดร้ายแรง จนแอปพลิเคชันของคุณไม่สามารถเข้าถึงได้ กลยุทธ์ใดใช้เป็นหลักเพื่อแก้ไขปัญหาเฉพาะนี้อย่างรวดเร็วและกู้คืนบริการ

การย้อนกลับและ DR: ประเด็นสำคัญ

ในบทเรียนนี้ เราได้สำรวจแนวคิดสำคัญเกี่ยวกับการย้อนกลับและการกู้คืนจากภัยพิบัติ เราได้เรียนรู้ว่าการย้อนกลับจะเปลี่ยนการนำระบบที่มีข้อผิดพลาดไปใช้งานกลับอย่างรวดเร็ว ขณะที่การกู้คืนจากภัยพิบัติมุ่งกู้คืนระบบหลังเกิดความล้มเหลวครั้งใหญ่

GitHub Actions มีบทบาทสำคัญในการทำให้ทั้งสองกระบวนการเป็นอัตโนมัติ ช่วยให้แอปพลิเคชันของคุณทนทานต่อความล้มเหลว และผู้ใช้ได้รับผลกระทบน้อยที่สุด

คำถามที่พบบ่อย

บทเรียน “การย้อนกลับและการกู้คืนจากภัยพิบัติ” ฟรีหรือไม่

ใช่ — ข้อความเต็มของ “การย้อนกลับและการกู้คืนจากภัยพิบัติ” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส DevOps Bootcamp ให้อัปเกรดเป็น CoddyKit PRO คอร์ส DevOps Bootcamp มีบทเรียนทั้งหมด 4 บทเรียน

คุณจะเรียนรู้อะไรในบทเรียน “การย้อนกลับและการกู้คืนจากภัยพิบัติ”

ออกแบบและสร้างขั้นตอนการย้อนกลับและแผนกู้คืนจากภัยพิบัติที่มีประสิทธิภาพภายในไปป์ไลน์ CI/CD คุณปฏิบัติ DevOps Bootcamp ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน

คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน DevOps Bootcamp หรือไม่

ไม่จำเป็นต้องมีประสบการณ์มาก่อน DevOps Bootcamp บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 3 จากทั้งหมด 4 บทเรียน

บทเรียน “การย้อนกลับและการกู้คืนจากภัยพิบัติ” ใช้เวลานานแค่ไหน

บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย

ฉันเขียนและรันโค้ดในบทเรียน DevOps Bootcamp นี้ได้ไหม

ได้ บทเรียน DevOps Bootcamp ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ

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

  1. การนำไปใช้แบบน้ำเงิน/เขียว
  2. การออกรุ่นแบบคานารีด้วยแอ็กชัน
  3. การย้อนกลับและการกู้คืนจากภัยพิบัติ
  4. แฟล็กฟีเจอร์และการทยอยเปิดตัว
← กลับไปที่ DevOps Bootcamp