Kestra 2.0 เปิดตัวเครื่องมือใหม่ รองรับ Worker ทุกที่
Kestra 2.0 แพลตฟอร์ม Open-source ออร์เคสตรด้าประกาศอัปเดตใหญ่ในรอบ 4 ปี แยก Control plane และ Data plane รองรับการรัน Worker ข้ามเครือข่าย พร้อมคงสิทธิ์การใช้งานแบบ Apache 2.0

ภาพประกอบจากคลังภาพสต็อก ไม่ใช่ภาพจากเหตุการณ์จริง
- Kestra 2.0 ปลดล็อกสถาปัตยกรรมใหม่ แยก Control plane และ Data plane อย่างเด็ดขาด
- Worker เชื่อมต่อผ่าน gRPC แบบทางเดียว ปลอดภัย ไม่ต้องเปิดพอร์ตขาเข้าหรือเก็บรหัสผ่านฐานข้อมูล
- ยุติการใช้ Kafka Streams และผสานการเลือกคิวกับที่จัดเก็บข้อมูลได้อย่างอิสระ
- คงไลเซนส์ Apache 2.0 สำหรับเอนจิน UI และปลั๊กอินทั้งหมด พร้อมประกาศเป็นเวอร์ชัน LTS
หลังจากเปิดตัวครั้งแรกเมื่อเดือนกุมภาพันธ์ 2022 แพลตฟอร์มจัดการและกำหนดเวลาเวิร์กโฟลว์ Kestra ได้ผ่านการเรียนรู้จากเสียงสะท้อนของผู้ใช้งานจริงจำนวนมาก ซึ่งในอดีตเคยถูกมองว่าการติดตั้งระบบมีความซับซ้อนเกินไป เนื่องจากต้องพึ่งพาคลัสเตอร์ Kafka และ Elasticsearch พร้อมกัน จนกระทั่งทีมพัฒนาได้เพิ่มตัวเลือก JDBC backend ในอีก 4 เดือนต่อมาเพื่อลดภาระดังกล่าว
ล่าสุด Kestra 2.0 ได้ฤกษ์ปล่อยอัปเดตครั้งใหญ่ในเดือนนี้ โดยมีการรื้อสร้างเอนจินภายในใหม่เกือบทั้งหมด เพื่อแก้ปัญหาข้อจำกัดเดิมที่ Worker ทุกตัวจำเป็นต้องเชื่อมต่อตรงไปยังฐานข้อมูลส่วนกลาง ซึ่งสร้างอุปสรรคด้านความปลอดภัยเมื่อต้องรันงานข้ามเครือข่ายที่ถูกจำกัดสิทธิ์

ภาพประกอบจากคลังภาพสต็อก ไม่ใช่ภาพจากเหตุการณ์จริง
ในเวอร์ชันใหม่นี้ สถาปัตยกรรมถูกแบ่งออกเป็นสองส่วนอย่างชัดเจน ได้แก่ Control plane ซึ่งรวบรวมตัวรัน (executor) ตัวจัดตาราง (scheduler) เว็บเซิร์ฟเวอร์ อินเด็กเซอร์ และคอนโทรลเลอร์ตัวใหม่ โดยส่วนนี้จะไม่ประมวลผลโค้ดของผู้ใช้งานเลย ในขณะที่ Data plane จะทำหน้าที่เป็น Worker สำหรับประมวลผลโค้ดโดยเฉพาะ
การสื่อสารระหว่าง Worker และ Control plane จะใช้การเปิดสตรีม gRPC แบบถาวรทางเดียว โดยที่ Worker จะเป็นฝ่ายเริ่มต้นเชื่อมต่อเสมอ ทำให้ Worker ไม่จำเป็นต้องเก็บข้อมูลรับรองฐานข้อมูล (database credentials) และไม่ต้องเปิดพอร์ตรับการเชื่อมต่อขาเข้าแต่อย่างใด ส่งผลให้สามารถนำ Worker ไปรันบนคลาวด์อื่น ภูมิภาคอื่น หรือภายในเน็ตเวิร์กที่อนุญาตเฉพาะการรับส่งข้อมูลขาออกได้ทันที
การแยกสถาปัตยกรรมแบบ Control plane และ Data plane ผ่าน gRPC ถือเป็นแนวทางมาตรฐานในระบบคลาวด์เนทีฟสมัยใหม่ ช่วยให้องค์กรที่มีข้อกำหนดด้านความปลอดภัยเข้มงวดสามารถใช้งานระบบออโตเมชันได้โดยไม่ต้องละเมิดนโยบายไฟร์ผนังเครือข่ายภายใน
นอกจากนี้ ในด้านโค้ดภายใน Kestra 2.0 ได้ยกเลิกเอ็นจิน Kafka Streams ออกไป และเปิดให้ผู้ใช้งานสามารถเลือกคิวและที่จัดเก็บข้อมูลแยกจากกันได้อย่างอิสระ โดยยังคงรูปแบบการเขียนโค้ดแบบ Declarative YAML ที่รองรับทุกภาษาและรันในคอนเทนเนอร์แยกส่วน
"We know a major version is where projects usually change it. We did not, and we do not plan to. The engine, the UI and all the plugins stay Apache 2.0."
ทีมพัฒนา Kestra
สำหรับประเด็นด้านลิขสิทธิ์ ทีมงานยืนยันว่าเอนจิน UI ตัวแก้ไขแบบ No-code และปลั๊กอินทั้งหมดจะยังคงใช้งานภายใต้ไลเซนส์ Apache 2.0 เช่นเดิม โดยเปิดให้ใช้งานเวอร์ชัน Open-source ที่มีความพร้อมระดับใช้งานจริง (Production-grade) ควบคู่ไปกับฟีเจอร์ระดับองค์กรที่มีค่าใช้จ่ายเพิ่มเติม เช่น RBAC, SSO และ Audit logs
ที่มา: Dev.to
พบข้อมูลผิดพลาดในบทความนี้? แจ้งปัญหาบทความนี้
ความคิดเห็น
แสดงความคิดเห็น