Kubernetes ยุคต่อไปของการจัดการโครงสร้างพื้นฐานในองค์กร

Kubernetes ยุคต่อไปของการจัดการโครงสร้างพื้นฐานในองค์กร ปีที่ผ่านมาเราได้ยินคำว่า Kubernetes กันมากมาย องค์กรจำนวนมากที่มีระบบไอทีที่ซับซ้อนสักหน่อยคงสนใจอยากศึกษาดูว่าการใช้ Kubernetes จะช่วยให้องค์กรบริหารระบบไอทีมีประสิทธิภาพดีขึ้นได้อย่างไร ก่อนหน้าที่ Kubernetes จะโด่งดังขึ้นมานั้น การใช้คอนเทนเนอร์หรือที่มักเรียกตามแบรนด์ว่า Docker เป็นระบบจัดสร้าง “สภาพแวดล้อม” สำหรับรันแอปพลิเคชั่นที่ได้รับความนิยมอย่างสูง การแพ็กแอปพลิเคชั่นเป็นคอนเทนเทอร์ทำให้ไม่ต้องกังวลว่าจะเจอเหตุการณ์ขัดกัน เช่นตัวแอปต้องการระบบปฎิบัติการรุ่นหนึ่งแต่ระบบฐานข้อมูลต้องการอีกรุ่นหนึ่ง หลังเราแพ็กแอปพลิเคชั่นทั้งหมดไปอยู่บนคอนเทนเนอร์แล้ว แอปพลิเคชั่นทั้งหมดก็จะอยู่ร่วมกันได้ โดยมีข้อดีกว่าการแบ่งเครื่องเป็น virtual machine (VM) ทุกวันนี้ คือการใช้ทรัพยากรของตัวคอนเทนเนอร์น้อยกว่า VM มาก มีโอกาสที่เราจะอัดแอปพลิเคชั่นจำนวนมากขึ้นเข้าไปในฮาร์ดแวร์เดิมโดยประสิทธิภาพไม่ลดลง หากเรามีแอปจำนวนไม่มากนัก หรือระบบที่ไม่ซับซ้อน การย้ายแอปพลิเคชั่นเป็นคอนเทนเนอร์ก็มักเพียงพอ แต่หากระบบมีความซับซ้อนมาก ต้องเพิ่มจำนวนเครื่องเพื่อรับโหลดมากน้อยต่างกันในแต่ละช่วงเวลา การแพ็กแอปพลิเคชั่นเป็นคอนเทนเนอร์ก็จะไม่เพียงพออีกต่อไป แต่ต้องมีแพลตฟอร์มมาช่วยจัดการคอนเทนเนอร์เหล่านี้ หรือที่เรียกว่า container orchrestration ระบบของเราอาจจะมีแอปพลิเคชั่นสำคัญในองค์กร 5-10 แอปพลิเคชั่น แต่ละตัวใช้ระบบฐานข้อมูลคนละชนิด มีโหลดต่างกัน ในบางช่วงเวลามีบางระบบโหลดสูงเป็นพิเศษ เช่นระบบบัญชีในช่วงสิ้นเดือน หรือบางแอปพลิเคชั่นทำงานหนักหลังเลิกงานเพื่อสรุปผลประจำวัน container orchestration เข้ามาดูแลการใช้ทรัพยากรเหล่านี้ โดยแพลตฟอร์มจะรับผิดชอบในการหาทรัพยากร อย่างซีพียูและแรม เพื่อให้แอปพลิเคชั่นรันได้อย่างเต็มประสิทธิภาพ มันจะคอยตรวจสอบว่ามีส่วนไหนมีโหลดสูงเกินกำหนดและพยายามขยายระบบเพื่อรองรับโหลดโดยอัตโนมัติ หลายปีที่ผ่านมีผู้พัฒนา…