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

การนำไปใช้แบบน้ำเงิน/เขียว

ตั้งค่ากลยุทธ์การนำไปใช้แบบน้ำเงิน/เขียวด้วย GitHub Actions เพื่อลดช่วงเวลาหยุดให้บริการและรองรับการย้อนกลับอย่างรวดเร็ว

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

การนำไปใช้งานแบบ Blue/Green คืออะไร

ยินดีต้อนรับ! ในบทเรียนนี้ เราจะเจาะลึกการนำไปใช้งานแบบ Blue/Green ซึ่งเป็นกลยุทธ์ที่มีประสิทธิภาพสำหรับการเผยแพร่ซอฟต์แวร์ใหม่

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

ทำความเข้าใจ Blue และ Green

ลองจินตนาการว่าคุณมีสภาพแวดล้อมใช้งานจริงที่เหมือนกันสองแห่ง แห่งหนึ่งชื่อ"Blue" และอีกแห่งชื่อ"Green"

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

การทำงานของ Blue/Green

กระบวนการเรียบง่ายแต่มีประสิทธิภาพ:

  1. นำเวอร์ชันใหม่ของแอปพลิเคชันไปใช้งานในสภาพแวดล้อม Green ที่ไม่ได้ใช้งาน
  2. ทดสอบเวอร์ชันใหม่ใน Green อย่างละเอียด
  3. เมื่อมั่นใจแล้ว ให้สลับการรับส่งข้อมูลทั้งหมดของผู้ใช้จาก Blue ไปยัง Green
  4. สภาพแวดล้อม Blue เดิมจะไม่ได้ใช้งาน และสามารถเก็บไว้สำหรับย้อนกลับหรืออัปเดตได้อย่างรวดเร็ว

เหตุใดจึงใช้ Blue/Green

กลยุทธ์นี้มีข้อดีสำคัญดังนี้:

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

สิ่งที่คุณต้องมี

โดยทั่วไป การนำ Blue/Green มาใช้ต้องมีสิ่งต่อไปนี้:

  • ตัวกระจายโหลด: ใช้ส่งการรับส่งข้อมูลไปยังสภาพแวดล้อม Blue หรือ Green
  • สภาพแวดล้อมที่เหมือนกันสองแห่ง: มักอยู่บนระบบคลาวด์เพื่อให้มีความสอดคล้องกัน
  • เครื่องมืออัตโนมัติ: เช่น GitHub Actions เพื่อจัดการการนำไปใช้งานและการสลับการรับส่งข้อมูล

การประสานงานด้วย GitHub Actions

GitHub Actions สามารถทำให้ทุกขั้นตอนของการนำไปใช้งานแบบ Blue/Green เป็นแบบอัตโนมัติได้

คุณสามารถกำหนดเวิร์กโฟลว์เพื่อ:

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

การนำเวอร์ชันใหม่ไปใช้งาน

นี่คือตัวอย่างโค้ด GitHub Actions แบบย่อสำหรับนำเวอร์ชันใหม่ของแอปไปใช้งานในสภาพแวดล้อม 'Green' โปรดสังเกตการใช้ชื่อ environment

name: Deploy to Green

on:
  push:
    branches:
      - main

jobs:
  deploy-green:
    runs-on: ubuntu-latest
    environment: Green # Target the Green environment
    steps:
      - name: Checkout code
        uses: actions/checkout@v4
      - name: Deploy app to Green
        run: |
          echo "Deploying application version ${{ github.sha }} to Green environment..."
          # Your actual deployment commands go here
          # e.g., deploy to a specific AWS EC2 instance or Kubernetes namespace

การสลับการรับส่งข้อมูล

หลังจากนำไปใช้งานและทดสอบสำเร็จ ขั้นตอนสุดท้ายคือการสลับการรับส่งข้อมูล ซึ่งมักเกี่ยวข้องกับการอัปเดตตัวกระจายโหลดหรือระเบียน DNS

นี่คือตัวอย่างขั้นตอน GitHub Actions เชิงแนวคิดที่จะเรียกใช้งานการสลับนี้:

name: Switch Traffic to Green

on:
  workflow_dispatch: # Manual trigger for traffic switch

jobs:
  switch-traffic:
    runs-on: ubuntu-latest
    steps:
      - name: Update Load Balancer to Green
        run: |
          echo "Switching load balancer traffic to Green environment..."
          # Call your load balancer's API or a script here
          # e.g., aws elbv2 modify-target-group-attributes ...
          # or kubectl apply -f green-ingress.yaml

การย้อนกลับได้ทันที

จะเกิดอะไรขึ้นหากคุณสลับการรับส่งข้อมูลไปยัง Green แล้วพบข้อบกพร่องร้ายแรง

ด้วย Blue/Green การย้อนกลับทำได้ทันที! เพียงสลับการรับส่งข้อมูลของตัวกระจายโหลดกลับไปยังสภาพแวดล้อม Blue เดิมที่เสถียร

วิธีนี้ช่วยลดผลกระทบของเหตุการณ์และระยะเวลาในการกู้คืนได้อย่างมาก

ข้อควรพิจารณาสำคัญ

แม้จะมีประสิทธิภาพสูง แต่ Blue/Green ก็มีประเด็นที่ต้องพิจารณา:

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

แบบทดสอบการนำไปใช้งานแบบ Blue/Green

มาตรวจสอบความเข้าใจของคุณเกี่ยวกับการนำไปใช้งานแบบ Blue/Green กัน

สรุปบทเรียน

ทำได้ดีมาก! คุณได้เรียนรู้เกี่ยวกับการนำไปใช้งานแบบ Blue/Greenแล้ว

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

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

บทเรียน “การนำไปใช้แบบน้ำเงิน/เขียว” ฟรีหรือไม่

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

คุณจะเรียนรู้อะไรในบทเรียน “การนำไปใช้แบบน้ำเงิน/เขียว”

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

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

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

บทเรียน “การนำไปใช้แบบน้ำเงิน/เขียว” ใช้เวลานานแค่ไหน

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

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

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

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

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