พื้นฐานโครงสร้างพื้นฐานเป็นโค้ด
ทำความเข้าใจโครงสร้างพื้นฐานเป็นโค้ด: การกำหนดเซิร์ฟเวอร์ เครือข่าย และบริการในไฟล์ที่ควบคุมเวอร์ชัน แทนการคลิกผ่านคอนโซล รวมถึงหลักการที่ทำให้แนวทางนี้เชื่อถือได้
พื้นฐานโครงสร้างพื้นฐานเป็นโค้ด เป็นบทเรียน DevOps Bootcamp ฟรีบน CoddyKit นี่คือบทเรียนที่ 4 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน DevOps Bootcamp และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส DevOps Bootcamp มีบทเรียนทั้งหมด 4 บทเรียน
โครงสร้างพื้นฐานในรูปแบบโค้ดคืออะไร
โครงสร้างพื้นฐานในรูปแบบโค้ด (IaC) หมายถึงการอธิบายโครงสร้างพื้นฐาน เช่น เซิร์ฟเวอร์ เครือข่าย และตัวกระจายโหลด ไว้ในไฟล์ที่เครื่องอ่านได้ ซึ่งมีการจัดการเวอร์ชันและนำไปใช้โดยอัตโนมัติ แทนการตั้งค่าด้วยตนเอง
ปัญหาที่แก้ไขได้
การตั้งค่าด้วยตนเองผ่านการคลิกนำไปสู่ การคลาดเคลื่อนของการกำหนดค่า: สภาพแวดล้อมค่อย ๆ แตกต่างกัน และไม่มีใครจำได้ว่าเพราะเหตุใด IaC ทำให้โครงสร้างพื้นฐานสร้างซ้ำได้ ตรวจสอบได้ และกู้คืนได้
- สภาพแวดล้อมสำหรับพัฒนา/ทดสอบ/จริงที่สอดคล้องกัน
- กู้คืนจากภัยพิบัติได้รวดเร็ว
- ประวัติการเปลี่ยนแปลงที่ตรวจสอบได้
แบบประกาศเทียบกับแบบคำสั่ง
เครื่องมือแบบ ประกาศจะอธิบายสถานะปลายทางที่ต้องการ แล้วคำนวณขั้นตอนต่าง ๆ ให้เอง (Terraform) ส่วนเครื่องมือแบบ คำสั่งจะเรียกใช้คำสั่งที่ระบุไว้อย่างชัดเจนตามลำดับ (สคริปต์เชลล์) IaC สมัยใหม่ส่วนใหญ่ใช้แนวทางแบบประกาศ
ตัวอย่างแบบประกาศ
ในที่นี้ ไฟล์แบบประกาศเพียงระบุว่าควรมีเครื่องเสมือนหนึ่งเครื่อง เครื่องมือจะตัดสินใจว่าจะสร้าง อัปเดต หรือปล่อยไว้ตามเดิม
resource "server" "web" {
name = "web-01"
cpu = 2
image = "ubuntu-22.04"
}ความเป็นไอดีมโพเทนต์
หลักการสำคัญของ IaC คือ การใช้คำจำกัดความเดิมซ้ำ ๆ ให้ผลลัพธ์เหมือนเดิม การเรียกใช้ครั้งแรกจะสร้างทรัพยากร ส่วนครั้งต่อ ๆ ไปจะไม่เปลี่ยนแปลงอะไร หากสถานะตรงกันแล้ว
การควบคุมเวอร์ชัน
ไฟล์ IaC จัดเก็บไว้ใน Git เช่นเดียวกับโค้ดแอปพลิเคชัน คุณจะเห็นความแตกต่าง ตรวจสอบโค้ด ระบุผู้แก้ไข และย้อนคืนโครงสร้างพื้นฐานได้ด้วยการย้อนกลับคอมมิต
git add main.tf
git commit -m "Add web server definition"วางแผนก่อนนำไปใช้
เครื่องมือ IaC ที่ดีจะแสดง แผน ซึ่งเป็นภาพตัวอย่างล่วงหน้าของสิ่งที่จะเปลี่ยนแปลง ก่อนที่คุณจะนำไปใช้ ช่วยตรวจจับการลบโดยไม่ตั้งใจก่อนเกิดขึ้น
terraform planการจัดการสถานะ
เครื่องมือแบบประกาศจะเก็บ ไฟล์สถานะ ที่เชื่อมโยงคำจำกัดความของคุณกับทรัพยากรจริง ไฟล์นี้ต้องจัดเก็บอย่างปลอดภัย (มักจัดเก็บจากระยะไกล) และห้ามแก้ไขด้วยตนเอง
โครงสร้างพื้นฐานแบบไม่เปลี่ยนแปลง
แทนที่จะแก้ไขเซิร์ฟเวอร์ที่กำลังทำงาน แนวทางแบบไม่เปลี่ยนแปลงจะ แทนที่ เซิร์ฟเวอร์เหล่านั้น: สร้างอิมเมจใหม่ นำอินสแตนซ์ใหม่ไปใช้งาน แล้วเลิกใช้อินสแตนซ์เก่า ทำให้เกิดปัญหาน้อยลงและย้อนกลับได้ง่าย
การจัดการการกำหนดค่า
IaC จัดเตรียมเครื่อง ส่วนเครื่องมือ การจัดการการกำหนดค่า (Ansible, Chef, Puppet) จะติดตั้งและกำหนดค่าซอฟต์แวร์บนเครื่องเหล่านั้น เมื่อทำงานร่วมกัน เครื่องมือเหล่านี้จะทำให้ระบบทั้งหมดเป็นอัตโนมัติ
ansible-playbook -i inventory site.ymlIaC ในไปป์ไลน์ DevOps
IaC ทำงานร่วมกับ CI/CD ได้อย่างลงตัว: การผสานการเปลี่ยนแปลงอาจเรียกใช้ plan เพื่อตรวจสอบ จากนั้นจึงใช้ apply เมื่อได้รับอนุมัติ การเปลี่ยนแปลงโครงสร้างพื้นฐานจะผ่านขั้นตอนควบคุมเดียวกับการเปลี่ยนแปลงโค้ด
ตรวจสอบอย่างรวดเร็ว
เหตุใดความเป็นไอดีมโพเทนต์จึงสำคัญใน IaC
สรุป
ตอนนี้คุณเข้าใจพื้นฐานของ IaC แล้ว:
- อธิบายโครงสร้างพื้นฐานไว้ในไฟล์ที่จัดการเวอร์ชัน แทนการตั้งค่าด้วยการคลิกด้วยตนเอง
- คำจำกัดความแบบ ประกาศ + การนำไปใช้แบบ เป็นไอดีมโพเทนต์
- วางแผนก่อนนำไปใช้ พร้อมการจัดการสถานะอย่างปลอดภัย
- โครงสร้างพื้นฐานแบบไม่เปลี่ยนแปลงและการจัดการการกำหนดค่าช่วยเติมเต็มแนวทางนี้
IaC ทำให้ระบบอัตโนมัติของ DevOps เชื่อถือได้และทำซ้ำได้
คำถามที่พบบ่อย
บทเรียน “พื้นฐานโครงสร้างพื้นฐานเป็นโค้ด” ฟรีหรือไม่
ใช่ — ข้อความเต็มของ “พื้นฐานโครงสร้างพื้นฐานเป็นโค้ด” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส DevOps Bootcamp ให้อัปเกรดเป็น CoddyKit PRO คอร์ส DevOps Bootcamp มีบทเรียนทั้งหมด 4 บทเรียน
คุณจะเรียนรู้อะไรในบทเรียน “พื้นฐานโครงสร้างพื้นฐานเป็นโค้ด”
ทำความเข้าใจโครงสร้างพื้นฐานเป็นโค้ด: การกำหนดเซิร์ฟเวอร์ เครือข่าย และบริการในไฟล์ที่ควบคุมเวอร์ชัน แทนการคลิกผ่านคอนโซล รวมถึงหลักการที่ทำให้แนวทางนี้เชื่อถือได้ คุณปฏิบัติ DevOps Bootcamp ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน
คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน DevOps Bootcamp หรือไม่
ไม่จำเป็นต้องมีประสบการณ์มาก่อน DevOps Bootcamp บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 4 จากทั้งหมด 4 บทเรียน
บทเรียน “พื้นฐานโครงสร้างพื้นฐานเป็นโค้ด” ใช้เวลานานแค่ไหน
บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย
ฉันเขียนและรันโค้ดในบทเรียน DevOps Bootcamp นี้ได้ไหม
ได้ บทเรียน DevOps Bootcamp ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- แนวคิดแบบ DevOps
- อธิบายการผสานรวมอย่างต่อเนื่อง
- การส่งมอบและการปรับใช้อย่างต่อเนื่อง
- พื้นฐานโครงสร้างพื้นฐานเป็นโค้ด