Infrastructure as Code คืออะไร?

โลกของการพัฒนา Software ในปัจจุบันเติบโตขึ้นอย่างก้าวกระโดด ไปเร็วมาก! มีเทคโนโลยี เครื่องมือจำนวนมากที่เข้ามาช่วยเหลือการทำงานพัฒนาระบบ Software เพื่อเพิ่มประสิทธิภาพทำงาน โดย Infrastructure as Code คือเทคนิคหนึ่งที่ถูกผลักดันให้เป็น Global Standard ในการทำงานของทีมพัฒนา Software ในองค์กร Digital Tech ทั่วโลก

โดยบทความนี้ Skooldio จะพาคุณไปดูว่า Infrastructure as Code คืออะไร? เจ๋งอย่างไร? ทำไมคุณควรเริ่มต้นศึกษา ถ้าคุณอยากเติบโตในเส้นทางสายนักพัฒนา Software ไม่ว่าจะเป็น Dev หรือ Infra ในองค์กร Tech ชั้นนำทั่วโลก

Infrastructure as Code คืออะไร?

Infrastructure as Code หรือ IaC (ไอ-เอ–ซี) เป็นเทคนิคที่ใช้ “การเขียนโค้ด” เพื่อสร้างและจัดการตั้งค่าพื้นฐานของระบบในรูปแบบ Automation ซึ่งผู้ติดตั้งสามารถนำ Script ที่เขียนกลับมาทำซ้ำได้ หรือมีการปรับปรุงเปลี่ยนแปลง Config ใหม่ก็ไม่ใช่เรื่องยุ่งยาก ทำให้ช่วยลดขั้นตอน ลดเวลาและลดข้อผิดพลาดที่เกิดจากการตั้งค่าตกหล่นในการติดตั้งแบบ Manual รูปแบบเดิม ๆ

IaC ถูกพูดถึงมากและมากขึ้นอย่างต่อเนื่องในกลุ่มนักพัฒนาซอฟต์แวร์ และ IaC จะไม่ใช่แค่เรื่องของทีม Infra เท่านั้น แต่ทีม Software Developer ก็ต้องรู้และต้องเร่งศึกษา ก่อนที่จะคุยกับองค์กร Tech ชั้นนำอื่น ๆ ไม่รู้เรื่อง! 

Infrastructure as Code Flow

ประโยชน์หลัก และเหตุผลที่น่าศึกษาของ Infrastructure as Code

  1. ช่วยลดเวลา Provisioning Infra ในรูปแบบ Automation : ขั้นตอนที่ยุ่งยาก Setting มากมายสามารถแปลงเป็นรูปแบบ Code เก็บเป็น Script ทำให้สามารถ Automate provisioning ได้ตลอดเวลา ไม่ว่าจะเป็น Dev, UAT หรือ Production ก็สามารถทำได้ จะ Scale ทีหลังก็ง่าย
  2. จบปัญหา Config ซ้ำซ้อน! สร้างความเป็นมาตราฐาน : จากเดิมที่ทีมติดตั้งต้องคอย Config แบบ Manual ความเสี่ยงที่จะตั้งค่าไม่ตรงกัน หรือ เกิดโอกาสผิดพลาดสูง อีกทั้งหากทำมานานแล้ว ให้นึกกลับไปว่า Set อะไรไปแล้วบ้างก็บางคนก็ต้องมีลืมกันบ้าง หากไม่มีการบันทึกไว้ดีพอ การทำ Infrastructure as Code จึงตอบโจทย์เรื่องนี้มาก จะ Provsioning Infra กี่ครั้ง ระบบก็ Config ได้เหมือนเดิมเป้ะ!
  3. Review และทำ Automated Testing ได้เหมือน Code : เมื่อแปลง Infrastructure ให้มาอยู่ในรูปแบบของ Code ได้ ย่อมต้องสามารถ Review Version ของ Infrastructure ได้เหมือนการ Review code ทำให้สามารถ track ปัญหาย้อนหลังได้ หรือจะเก็บเป็น Document ไว้ Audit ก็เป็นสิ่งที่ควรทำ ว่าทีมเซ็ตอัประบบกันยังไง หากใครจะลาออกไปก็ไม่ต้องกลัว เพราะข้อมูลทั้งหมดอยู่ในไฟล์แล้ว
  4. จัดการ Server หรือ Cloud จำนวนมากได้ใน “คลิกเดียว” : คำว่า “คลิกเดียว” ไม่เกินจริง ถ้าหาก Config นั้นเสถียรและนิ่งแล้ว เมื่อต้องการ Scale Server  หรือ ติดตั้งเพิ่ม จะกี่ 100 กี่ 1,000 เครื่องก็ไม่กลัว เพราะแค่เรา Run ไฟล์ Script ทีเดียวก็ได้ระบบหน้าตา Config เดิม ใช้งานได้ทันที ลดเวลา ลดขั้นตอนไปได้เยอะมาก
  5. เป็น Global Standard ที่องค์กร Tech ชั้นนำใช้พัฒนาระบบ : ปัจจุบันการทำ Infrastructure as Code ได้เป็นมาตราฐานที่ต้องทำ หากคุณคือองค์กร Tech ที่มีระบบซับซ้อน โดยหลายองค์กรในไทยก็ได้ล่วงหน้ากันไปนานแล้ว อย่างเช่นธนาคารทุกวันนี้ก็ได้กำหนดไว้ว่า ทีมจาก Outsource ไหนเข้ามาต้องทำ Infrastructure as Code กันทุกที่

ดังนั้นถ้าไม่อยากพลาดโอกาสในการเติบโตในบริษัท Tech ชั้นนำ ได้เงินเดือนสูง ๆ หากคุณบอกได้ว่าเคยสร้าง Server ทีละ 1,000 เครื่องได้ด้วย IaC  คุณจะไม่ตกรถแห่งความสำเร็จในสายงาน Tech อย่างแน่นอน

Infrastructure as Code and GitOps Workshop

Infrastructure as Code จะเข้ามาช่วยให้ชีวิตการทำงานของทีมนักพัฒนาดีขึ้นได้อย่างไร?

ลองนึกถึงเคสที่ทีม Infra ต้องเซ็ตระบบและตั้งค่าระบบต่าง ๆ ไม่ว่าจะเป็น OS, Software, Database และอื่น ๆ อีกมากมาย แต่เดิมขั้นตอนเหล่านี้จะต้องทำในรูปแบบ Manual ตาม Checklist และ Policy ที่กำหนดไว้ หากเพียงแค่ 1-2 เครื่อง ก็อาจจะไม่ใช่เรื่องใหญ่อะไร แต่ถ้าเป็นหลัก 10 หรือ หลัก 100 เครื่อง ทีมติดตั้งต้องมีกระอักเลือดกันบ้างแหละะ

ยังไม่รวมถึงปัญหาที่ตามมาถ้าต้องติดตั้งหลายเครื่อง อาจมีโอกาสเกิดความผิดพลาดจากการติดตั้ง หรือ ตกหล่นจากการทำด้วยวิธี Manual ได้ อีกทั้งเวลาจะปรับปรุง Version ก็ง่าย ไม่ว่าต้องรีเซตทำใหม่กี่ครั้ง (ซึ่งจริง ๆ แล้วก็ไม่ควรทำ) ก็ช่วยให้ทีมพัฒนาสามารถทำได้ทันที เพียงแค่ปรับโค้ดอีกนิดหน่อย แล้วก็ Run ให้ Script ทำงานแบบ Automation

สรุปแล้วการทำ Infrastructure as Code จะต้องเป็นเรื่องของทีม Infra หรือ ทีม Dev?

In Fact การทำ Infrastructure as Code ต้องเป็นเรื่องที่ทั้งทีม Dev และ ทีม Infra ใช้ทำงานร่วมกัน
โดยดำเนินการผ่าน Tool ตัวช่วยที่เป็น Standard ไม่ว่าจะเป็น Ansible, Chef, Puppet หรือ Terraform เป็นต้น Tool เหล่านี้จะช่วยแปลง Config ต่าง ๆ ให้กลายเป็นโค้ดและสามารถนำไปใช้ได้ ซึ่งในความหมายของการเป็น Standard นั้น ครอบคลุมไปถึงประสิทธิภาพของระบบ เมื่อ Product หนึ่งจะต้องมีหลาย Environment แทนที่จะต้องมานั่งคลิกตั้งค่าทีละตัว การมี Deployment Documentation จะช่วยให้มี List ขั้นตอนเป็นมาตราฐานให้แต่ละทีมเห็นภาพ Infrastructure ที่ตรงกัน และสามารถนำไป Scale ต่อได้ง่าย ทีม Dev ก็จะทำงานได้คล่องตัว ทีม Infra ก็ไม่ต้องเหนื่อยปวดหัว Happy ไม่ต้องตีกัน

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

——————————————-
ขออนุญาตขายของซักนิด แต่รับรองว่าของดีจริง! หากใครอยากเรียนรู้การทำ Infrastructure as Code ในแบบฉบับ Best Practices ลงมือทำทุกเครื่องมือที่ใช้ในโลกการทำงานจริง ขอแนะนำเวิร์กชอป Infrastructure as Code and GitOpsหลักสูตรเรียนสดกับผู้เชี่ยวชาญระดับ TOP ของวงการ
Infrastructure as Code and GitOps workshop

เวิร์กชอป Infrastructure as Code and GitOps

พาปูพื้นฐานตั้งแต่ Syntax ไปจนถึง Best Practice ในการใช้งานแต่ละเครื่องมือ รวมถึงวิธีการที่ใช้เครื่องมือทุกอย่างรวมกันอย่างไรให้มีประสิทธิภาพที่สุด ผ่านการทำโจทย์ที่ครอบคลุมการขึ้นระบบตั้งแต่เริ่มต้น จนได้ Application และ Database ที่ใช้งานบน Public Cloud แบบ Production จริง

สอนโดยคุณเดียร์ จิรายุส นิ่มแสง – Founder & CEO ของ Opsta (Thailand)และ Certified Kubernetes Administrator (CKA) & Certified Kubernetes Security Specialist (CKS) คนแรกของประเทศไทย

  • มีปัญหา สามารถนำมาขอคำปรึกษาได้กับผู้สอน ผู้เชี่ยวชาญช่วยวางระบบ DevSecOps Transformantion ให้มากกว่า 20 บริษัททั่วประเทศ
  • ลงมือทำจริงบนระบบ Cloudlab ให้คุณได้เรียนรู้จากโจทย์ปัญหาในโลกการทำงานจริง
  • พร้อมทีม TA มืออาชีพ คอยซัพพอร์ทช่วยเหลือตลอดหลักสูตร
หรือ อัปสกิล 4 เวิร์กชอป DevSecOps ในหลักสูตรที่เนื้อหาครบที่สุดในไทย The Complete DevSecOps Program  เรียนรู้ทั้ง DevOps, DevSecOps, Infrastructute as Code และ Observability ในราคาสุดคุ้มที่สุด!
The Complete DevSecOps Program - Skooldio

The Complete DevSecOps Program by Skooldio

More in:Technology

Comments are closed.