โลกของการพัฒนา Software ในปัจจุบันเติบโตขึ้นอย่างก้าวกระโดด ไปเร็วมาก! มีเทคโนโลยี เครื่องมือจำนวนมากที่เข้ามาช่วยเหลือการทำงานพัฒนาระบบ Software เพื่อเพิ่มประสิทธิภาพทำงาน โดย Infrastructure as Code คือเทคนิคหนึ่งที่ถูกผลักดันให้เป็น Global Standard ในการทำงานของทีมพัฒนา Software ในองค์กร Digital Tech ทั่วโลก
โดยบทความนี้ Skooldio จะพาคุณไปดูว่า Infrastructure as Code คืออะไร? เจ๋งอย่างไร? ทำไมคุณควรเริ่มต้นศึกษา ถ้าคุณอยากเติบโตในเส้นทางสายนักพัฒนา Software ไม่ว่าจะเป็น Dev หรือ Infra ในองค์กร Tech ชั้นนำทั่วโลก
Table of Contents
Infrastructure as Code คืออะไร?
Infrastructure as Code หรือ IaC (ไอ-เอ–ซี) เป็นเทคนิคที่ใช้ “การเขียนโค้ด” เพื่อสร้างและจัดการตั้งค่าพื้นฐานของระบบในรูปแบบ Automation ซึ่งผู้ติดตั้งสามารถนำ Script ที่เขียนกลับมาทำซ้ำได้ หรือมีการปรับปรุงเปลี่ยนแปลง Config ใหม่ก็ไม่ใช่เรื่องยุ่งยาก ทำให้ช่วยลดขั้นตอน ลดเวลาและลดข้อผิดพลาดที่เกิดจากการตั้งค่าตกหล่นในการติดตั้งแบบ Manual รูปแบบเดิม ๆ
IaC ถูกพูดถึงมากและมากขึ้นอย่างต่อเนื่องในกลุ่มนักพัฒนาซอฟต์แวร์ และ IaC จะไม่ใช่แค่เรื่องของทีม Infra เท่านั้น แต่ทีม Software Developer ก็ต้องรู้และต้องเร่งศึกษา ก่อนที่จะคุยกับองค์กร Tech ชั้นนำอื่น ๆ ไม่รู้เรื่อง!
ประโยชน์หลัก และเหตุผลที่น่าศึกษาของ Infrastructure as Code
- ช่วยลดเวลา Provisioning Infra ในรูปแบบ Automation : ขั้นตอนที่ยุ่งยาก Setting มากมายสามารถแปลงเป็นรูปแบบ Code เก็บเป็น Script ทำให้สามารถ Automate provisioning ได้ตลอดเวลา ไม่ว่าจะเป็น Dev, UAT หรือ Production ก็สามารถทำได้ จะ Scale ทีหลังก็ง่าย
- จบปัญหา Config ซ้ำซ้อน! สร้างความเป็นมาตราฐาน : จากเดิมที่ทีมติดตั้งต้องคอย Config แบบ Manual ความเสี่ยงที่จะตั้งค่าไม่ตรงกัน หรือ เกิดโอกาสผิดพลาดสูง อีกทั้งหากทำมานานแล้ว ให้นึกกลับไปว่า Set อะไรไปแล้วบ้างก็บางคนก็ต้องมีลืมกันบ้าง หากไม่มีการบันทึกไว้ดีพอ การทำ Infrastructure as Code จึงตอบโจทย์เรื่องนี้มาก จะ Provsioning Infra กี่ครั้ง ระบบก็ Config ได้เหมือนเดิมเป้ะ!
- Review และทำ Automated Testing ได้เหมือน Code : เมื่อแปลง Infrastructure ให้มาอยู่ในรูปแบบของ Code ได้ ย่อมต้องสามารถ Review Version ของ Infrastructure ได้เหมือนการ Review code ทำให้สามารถ track ปัญหาย้อนหลังได้ หรือจะเก็บเป็น Document ไว้ Audit ก็เป็นสิ่งที่ควรทำ ว่าทีมเซ็ตอัประบบกันยังไง หากใครจะลาออกไปก็ไม่ต้องกลัว เพราะข้อมูลทั้งหมดอยู่ในไฟล์แล้ว
- จัดการ Server หรือ Cloud จำนวนมากได้ใน “คลิกเดียว” : คำว่า “คลิกเดียว” ไม่เกินจริง ถ้าหาก Config นั้นเสถียรและนิ่งแล้ว เมื่อต้องการ Scale Server หรือ ติดตั้งเพิ่ม จะกี่ 100 กี่ 1,000 เครื่องก็ไม่กลัว เพราะแค่เรา Run ไฟล์ Script ทีเดียวก็ได้ระบบหน้าตา Config เดิม ใช้งานได้ทันที ลดเวลา ลดขั้นตอนไปได้เยอะมาก
- เป็น Global Standard ที่องค์กร Tech ชั้นนำใช้พัฒนาระบบ : ปัจจุบันการทำ Infrastructure as Code ได้เป็นมาตราฐานที่ต้องทำ หากคุณคือองค์กร Tech ที่มีระบบซับซ้อน โดยหลายองค์กรในไทยก็ได้ล่วงหน้ากันไปนานแล้ว อย่างเช่นธนาคารทุกวันนี้ก็ได้กำหนดไว้ว่า ทีมจาก Outsource ไหนเข้ามาต้องทำ Infrastructure as Code กันทุกที่
ดังนั้นถ้าไม่อยากพลาดโอกาสในการเติบโตในบริษัท Tech ชั้นนำ ได้เงินเดือนสูง ๆ หากคุณบอกได้ว่าเคยสร้าง Server ทีละ 1,000 เครื่องได้ด้วย IaC คุณจะไม่ตกรถแห่งความสำเร็จในสายงาน Tech อย่างแน่นอน
Infrastructure as Code จะเข้ามาช่วยให้ชีวิตการทำงานของทีมนักพัฒนาดีขึ้นได้อย่างไร?
ยังไม่รวมถึงปัญหาที่ตามมาถ้าต้องติดตั้งหลายเครื่อง อาจมีโอกาสเกิดความผิดพลาดจากการติดตั้ง หรือ ตกหล่นจากการทำด้วยวิธี Manual ได้ อีกทั้งเวลาจะปรับปรุง Version ก็ง่าย ไม่ว่าต้องรีเซตทำใหม่กี่ครั้ง (ซึ่งจริง ๆ แล้วก็ไม่ควรทำ) ก็ช่วยให้ทีมพัฒนาสามารถทำได้ทันที เพียงแค่ปรับโค้ดอีกนิดหน่อย แล้วก็ Run ให้ Script ทำงานแบบ Automation
สรุปแล้วการทำ Infrastructure as Code จะต้องเป็นเรื่องของทีม Infra หรือ ทีม Dev?
In Fact การทำ Infrastructure as Code ต้องเป็นเรื่องที่ทั้งทีม Dev และ ทีม Infra ใช้ทำงานร่วมกัน
การใช้ IaC เข้ามาช่วยลดปัญหาในการทำงาน และประหยัดเวลาในการเตรียมระบบไปได้เป็นอย่างมาก ช่วยลดเวลา Process บางอย่างไปได้ จากใช้เวลาหลักเดือนเหลือเพียงไม่กี่ชั่วโมงเลยเอาเวลาไปทำอย่างอื่นที่ถืออยู่อีกเยอะดีกว่า 🤣
พาปูพื้นฐานตั้งแต่ 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 มืออาชีพ คอยซัพพอร์ทช่วยเหลือตลอดหลักสูตร