[{"data":1,"prerenderedAt":151},["ShallowReactive",2],{"blog-\u002Fblog\u002F2022\u002F11\u002Fscaling-node-red-with-diy-tooling":3,"blog-all-for-related":150},{"id":4,"title":5,"authors":6,"body":8,"cta":130,"date":131,"description":132,"extension":133,"image":130,"lastUpdated":130,"meta":134,"navigation":139,"path":140,"seo":141,"sitemap":142,"stem":143,"subtitle":144,"tags":145,"tldr":130,"video":130,"__hash__":149},"blog\u002Fblog\u002F2022\u002F11\u002Fscaling-node-red-with-diy-tooling.md","Challenges scaling Node-RED with DIY tooling",[7],"zeger-jan-van-de-weg",{"type":9,"value":10,"toc":120},"minimark",[11,15,18,23,34,38,46,49,53,56,59,63,71,82,91,94,98,104,112],[12,13,14],"p",{},"In this post, I'm going to share some of the challenges customers face when\nscaling Node-RED with Do-It-Yourself tooling.",[12,16,17],{},"Specifically, we'll talk about\ncommon threads in their journey building their own tooling around Node-RED, its\nflows, and deploying them. Node-RED is a visual programming environment for\nwiring together hardware devices, APIs and online services in a single\napplication. It's great because it's flexible enough to be used by both\nbeginners and experts alike; however, going from one instance of Node-RED to 100\nisn't for the faint-hearted.",[19,20,22],"h3",{"id":21},"zero-to-hero-in-a-few-days","Zero to hero in a few days",[12,24,25,26,33],{},"If you’re new to Node-RED and are just getting started, the first step is simple:\ngo to ",[27,28,32],"a",{"href":29,"rel":30},"https:\u002F\u002Fnodered.org",[31],"nofollow","nodered.org",", download, install and run. There’s no\nneed to configure anything or set up credentials or security or alerts. You can\nget started with Node-RED straight away by simply running it on your machine.\nThe guides and scripts provided on Node-RED or are more than enough to get\nstarted. You'll dive right in and start developing your flows.",[19,35,37],{"id":36},"onto-the-second-instance","Onto the second instance",[12,39,40,41,45],{},"The next instance is a simple copy of the first. You'll need to make sure that\nyou are installing the same version on both instances, and that any\nconfiguration files (such as the ",[42,43,44],"code",{},"settings.js",") are also in sync.",[12,47,48],{},"The second instance improves the first equally. Docs are read again,\nimprovements are made, and copied over. Life's good! Although there's a slight\nitch to start automating the setup, it's ignored. Just too many open questions\non how to achieve it: write scripts in bash? Or can we use Node-RED to manage\nNode-RED? Automation can wait, there's new flows to implement!",[19,50,52],{"id":51},"wake-up-call-how-many-of-them-do-we-have","Wake-up call; how many of them do we have?",[12,54,55],{},"There's nothing like a good ol' wake-up call to get you back on track. One of\nour team members asked a questions about a buggy flow you've got no recollection\nof. During the investigation there's issues left and right; it's running a much\nolder version, missing standard packages, the settings are out of date, and the\ntimezone not set to UTC? Adoption of Node-RED is going quite well, it's useful\nand effective. Gets the job done without fuss. But now there's toil in\nmaintaining them; ensure the right tooling is build, properly documented, it\nneeds dashboards and overviews, lots of work to be done. Not quite business\nrelated, but Node-RED is important for the company, the bosses sure would\napprove spending 2 months building these tools!",[12,57,58],{},"But then something happened, there was a higher priority project to be picked up.\nSome tooling could be written for a couple of hours a month, but not two\ndedicated months to get it in tip top shape. Better than nothing! Built a\ndashboard in Node-RED to keep track of all devices, there's some scripts and a\nfew flows that aid in monitoring and maintenance. Scaling further is possible,\nbut confidence in the tooling isn't sky high.",[19,60,62],{"id":61},"data-extraction-at-scale-now-theres-over-100","Data extraction at scale; now there's over 100",[12,64,65,66,70],{},"At ",[27,67,69],{"href":68},"\u002F","FlowFuse"," we've got regular conversations with customers managing 100s of\ndevices. Scaling to that many devices and runtimes requires hours of development\neach week alongside monitoring, maintenance, and auditing.",[12,72,73,74,77,78],{},"As a side effect of investing more time into Node-RED and its ecosystem the\norganization has developed a few standards. Standard custom nodes that are\npre-installed (👋 ",[42,75,76],{},"moment.js","), a style guide published for developing flows,\nmaybe even flow linting: ",[27,79,80],{"href":80,"rel":81},"https:\u002F\u002Fgithub.com\u002Fnode-red\u002Fnrlint",[31],[12,83,84,85,90],{},"The security model is fairly decent. One just hopes the\n",[27,86,89],{"href":87,"rel":88},"https:\u002F\u002Fnl.wikipedia.org\u002Fwiki\u002FChief_Information_Security_Officer",[31],"CISO"," doesn't\ninspects them, but it's a fair bet they won't; we're far away from the\nheadquarters, right?",[12,92,93],{},"Many other edge cases itch in the back of our heads, but we can't focus on those right now.",[19,95,97],{"id":96},"conclusion","Conclusion",[12,99,100,101,103],{},"Node-RED is a great tool, it's got many built-in features that make it easy to\nget started with no coding experience necessary. Running it at scale, in a\nproduction environment can require a lot of sys-ops and dev-ops time and we\nthink ",[27,102,69],{"href":68}," is a great solution to keep that admin and tech debt in check.",[12,105,106,107,111],{},"If you're running into these challenges we believe we can help, you can adopt\nour ",[27,108,110],{"href":109},"\u002Fdocs\u002Finstall\u002F","free and open source edition",".",[12,113,114,115,119],{},"Additionally, to get a head start or enhance your current setup, explore our ",[27,116,118],{"href":117},"\u002Febooks\u002Fbeginner-guide-to-a-professional-nodered\u002F","Beginner's Guide to Professional Node-RED",". This comprehensive ebook offers a clear overview of Node-RED’s capabilities and practical tips for making the most of its features.",{"title":121,"searchDepth":122,"depth":122,"links":123},"",4,[124,126,127,128,129],{"id":21,"depth":125,"text":22},3,{"id":36,"depth":125,"text":37},{"id":51,"depth":125,"text":52},{"id":61,"depth":125,"text":62},{"id":96,"depth":125,"text":97},null,"2022-11-30","In this post, I'm going to share some of the challenges customers face when scaling Node-RED with Do-It-Yourself tooling","md",{"excerpt":135},{"type":9,"value":136},[137],[12,138,14],{},true,"\u002Fblog\u002F2022\u002F11\u002Fscaling-node-red-with-diy-tooling",{"title":5,"description":132},{"loc":140},"blog\u002F2022\u002F11\u002Fscaling-node-red-with-diy-tooling","Node-RED is very easy to get up and running for your first instance but what about your 100th?",[146,147,148],"posts","node-red","how-to","HGhIh7rFl0dqN1uJQUp0ZRTepzg6rGqGXsuqF4gY6-w",[],1785528683551]