การย้อนกลับและการกู้คืนจากภัยพิบัติ
ออกแบบและสร้างขั้นตอนการย้อนกลับและแผนกู้คืนจากภัยพิบัติที่มีประสิทธิภาพภายในไปป์ไลน์ 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 ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- การนำไปใช้แบบน้ำเงิน/เขียว
- การออกรุ่นแบบคานารีด้วยแอ็กชัน
- การย้อนกลับและการกู้คืนจากภัยพิบัติ
- แฟล็กฟีเจอร์และการทยอยเปิดตัว