ช่วงที่ผ่านมาผมมักจะทำ PoC หรือแอปง่าย ๆ โดยใช้ n8n เป็นเครื่องมือในการทำ เพราะต่อกับ service อื่นง่าย และทำเป็น work flow ได้ง่ายมาก
แต่บาง work flow ก็ซับซ้อนเกินไปจนทำให้กลายเป็นว่า ความง่ายกลายเป็นยากไปแทน การไล่ Work Flow ทุกเส้นเพื่อทดสอบกลายเป็นเรื่องยาก โดยเฉพาะ work flow ที่ on production ไปแล้ว แล้วการแก้ไข work flow โดยไม่มี version control อะไรเลย ยิ่งทำให้การเปลี่ยนแปลงต่าง ๆ track ยากไปอีก
จากเดิมที่ n8n เหมือนเป็นเครื่องมือแรกตลอด ด้วยความยากลำบากในการ debug และไม่มี version control ดี ๆ เหมือนการใช้ IDE สุดท้ายทำให้ n8n เริ่มไม่ใช่ตัวเลือกแรกสำหรับผมอีกแล้ว
งานที่ทำด้วย n8n ไปแล้ว พอกำลังจะเริ่ม scale ขึ้น การขยาย service ออกไปโดยใช้ n8n จะยิ่งทำได้ยาก เพราะจะต้องแตก work flow ออกไปอีกจำนวนมาก สุดท้ายบางแอปที่ทำไว้แล้ว ผมต้องยอมเขียนใหม่ย้ายออกจาก n8n แล้วมาทำหลังบ้านเองเป็น node.js รันบน Docker เพราะอย่างน้อยเมื่อมีการเปลี่ยนแปลงก็ยังติดตามได้ผ่าน git version control และยิ่งรู้สึกว่า ยิ่งใช้ n8n มากเท่าไหร่ จะยิ่งติด technical debt ไปมากขึ้นเท่านั้น
ตอนนี้ก็เลยกลายเป็นว่างานใหม่ ๆ ไม่กล้าใช้ n8n แล้ว เพราะไม่รู้ว่าถ้า scale ขึ้นไปแล้วจะต้องมารื้อทำใหม่ตอนไหน
แต่มันก็ยังเหมาะสำหรับบางงานอยู่ แค่ไม่ใช่ 1 tool fit all
