ฉันเริ่มต้นโครงการใหม่ในที่ทำงานและน่าจะเป็นผู้พัฒนาโครงการเพียงคนเดียว แต่ผู้พัฒนารายอื่นหนึ่งหรือสองรายจะต้องรวมแอปพลิเคชันที่มีอยู่หรือสคริปต์อย่างง่ายเข้ากับโครงการหลัก โครงการจำเป็นต้องจัดการกับปริมาณขนาดเล็กและการส่งผ่านข้อมูล / การประมวลผลและการประมวลผลรหัสตามเหตุการณ์และตามความต้องการ บางส่วนของเฟรมเวิร์กจะมี CPU ผูกไว้อย่างแน่นหนาและบางส่วนอาจถูกผูกไว้กับ I / O อย่างหนัก ข้อมูลส่วนใหญ่จะต้องอยู่บนเครื่องเดียว แต่เราสามารถสร้างคลัสเตอร์และเชื่อมต่อ VM เพื่อเพิ่มพลังการคำนวณที่มีอยู่ อาจจะมีเว็บแอปพลิเคชั่นขนาดเล็กหนึ่งรายการหรือมากกว่านั้นซึ่งขึ้นอยู่กับบริการที่ให้กรอบงานหลักนี้ ภาษาหลักจะเป็น Python สำหรับทุกสิ่ง
คำถามของฉันคือฉันควรใช้วิธีไมโครไซต์เพื่อพยายามทำสิ่งนี้หรือใช้แอพพลิเคชั่นแบบเสาหินเนื่องจากฉันจะทำการพัฒนาส่วนใหญ่ด้วยตัวเอง ความคิดของฉันคือ microservices (โดยใช้ Nameko) ให้การแยกโดยธรรมชาติระหว่างองค์ประกอบของกรอบงานที่มีรูปแบบการดำเนินการที่แตกต่างกัน (ไปป์ไลน์ข้อมูล, กิจกรรมที่เปิดตัว, ตามคำขอ, เว็บแอปพลิเคชั่น ฯลฯ ) และวิธีที่ชัดเจน การสื่อสารข้ามหลายกระบวนการ ความกังวลของฉันคือฉันอาจท้ายด้วยกลุ่ม Kubernetes เพื่อจัดการ (ฉันคุ้นเคยกับ Docker แต่ยังค่อนข้างใหม่กับ Kubernetes), บริการหลายอย่าง (rabbitmq, redis และอื่น ๆ ) ที่จำเป็นเพียงเพื่ออำนวยความสะดวกในการใช้งานระบบ และอาจมีโค้ดขนาดเล็กจำนวนมากที่จะใช้ความสามารถที่จำเป็นทั้งหมดที่เรามีอยู่จริง
สำหรับโครงการที่มีผู้พัฒนามากกว่าหนึ่งรายเล็กน้อย microservices ยังทำให้การพัฒนาและบำรุงรักษาระบบที่ซับซ้อนเช่นนี้ง่ายขึ้นหรือไม่? มีวิธีการ / ระบบ / กรอบฉันควรพิจารณาใช้แทนหรือเพื่อลดค่าใช้จ่ายที่เกี่ยวข้องในการออกแบบระบบด้วยวิธีนี้หรือไม่