[{"data":1,"prerenderedAt":139},["ShallowReactive",2],{"blog-\u002Fblog\u002F2022\u002F11\u002Fscaling-node-red-with-diy-tooling":3},{"id":4,"title":5,"body":6,"description":12,"extension":128,"meta":129,"navigation":134,"path":135,"seo":136,"stem":137,"__hash__":138},"blog\u002Fblog\u002F2022\u002F11\u002Fscaling-node-red-with-diy-tooling.md","Challenges scaling Node-RED with DIY tooling",{"type":7,"value":8,"toc":118},"minimark",[9,13,16,21,32,36,44,47,51,54,57,61,69,80,89,92,96,102,110],[10,11,12],"p",{},"In this post, I'm going to share some of the challenges customers face when\nscaling Node-RED with Do-It-Yourself tooling.",[10,14,15],{},"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.",[17,18,20],"h3",{"id":19},"zero-to-hero-in-a-few-days","Zero to hero in a few days",[10,22,23,24,31],{},"If you’re new to Node-RED and are just getting started, the first step is simple:\ngo to ",[25,26,30],"a",{"href":27,"rel":28},"https:\u002F\u002Fnodered.org",[29],"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.",[17,33,35],{"id":34},"onto-the-second-instance","Onto the second instance",[10,37,38,39,43],{},"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 ",[40,41,42],"code",{},"settings.js",") are also in sync.",[10,45,46],{},"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!",[17,48,50],{"id":49},"wake-up-call-how-many-of-them-do-we-have","Wake-up call; how many of them do we have?",[10,52,53],{},"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!",[10,55,56],{},"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.",[17,58,60],{"id":59},"data-extraction-at-scale-now-theres-over-100","Data extraction at scale; now there's over 100",[10,62,63,64,68],{},"At ",[25,65,67],{"href":66},"\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.",[10,70,71,72,75,76],{},"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 (👋 ",[40,73,74],{},"moment.js","), a style guide published for developing flows,\nmaybe even flow linting: ",[25,77,78],{"href":78,"rel":79},"https:\u002F\u002Fgithub.com\u002Fnode-red\u002Fnrlint",[29],[10,81,82,83,88],{},"The security model is fairly decent. One just hopes the\n",[25,84,87],{"href":85,"rel":86},"https:\u002F\u002Fnl.wikipedia.org\u002Fwiki\u002FChief_Information_Security_Officer",[29],"CISO"," doesn't\ninspects them, but it's a fair bet they won't; we're far away from the\nheadquarters, right?",[10,90,91],{},"Many other edge cases itch in the back of our heads, but we can't focus on those right now.",[17,93,95],{"id":94},"conclusion","Conclusion",[10,97,98,99,101],{},"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 ",[25,100,67],{"href":66}," is a great solution to keep that admin and tech debt in check.",[10,103,104,105,109],{},"If you're running into these challenges we believe we can help, you can adopt\nour ",[25,106,108],{"href":107},"\u002Fdocs\u002Finstall\u002F","free and open source edition",".",[10,111,112,113,117],{},"Additionally, to get a head start or enhance your current setup, explore our ",[25,114,116],{"href":115},"\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":119,"searchDepth":120,"depth":120,"links":121},"",2,[122,124,125,126,127],{"id":19,"depth":123,"text":20},3,{"id":34,"depth":123,"text":35},{"id":49,"depth":123,"text":50},{"id":59,"depth":123,"text":60},{"id":94,"depth":123,"text":95},"md",{"navTitle":5,"excerpt":130},{"type":7,"value":131},[132],[10,133,12],{},true,"\u002Fblog\u002F2022\u002F11\u002Fscaling-node-red-with-diy-tooling",{"title":5,"description":12},"blog\u002F2022\u002F11\u002Fscaling-node-red-with-diy-tooling","jeQ-ArHiJSgi6GlL-9nkWQAIn46RHE89Olkx5rZCNnE",1780070549979]