In that blog post I want to highlight the new way of the instantiation of a Node-RED application on IBM Cloud with the Node-RED Starter kit. From my perspective Node-RED is a very helpful tool at hackathons. (just take a look in my blog post How to prepare for a Hackathon with IBM Cloud?)
The Node-RED instantiation has changed and with the Node-RED Starter kit we can take the advantage of the capabilities of IBM Cloud to control the build, deployment and execution of the Node-RED application and we setup automatically all development tools to work effectively in a small development team in our hackathon.
I want to provide a short walkthrough from my perspective and created a 13 min YouTube video in addition to that blog post.
Let’s get started with the description of the Node-RED Starter kit in IBM Cloud.
“This starter kit provides a pre-configured Node-RED application, including a Cloudant service to store the application flow configuration. Add services, generate and download the code, use the IBM Cloud Developer Tools CLI to run and debug locally, then deploy to Cloud Foundry or a DevOps Pipeline.“
With that Node-RED Starter kit we setup all needed development tools to work effectively in a small team at a hackathon.
The Node-RED Starter kit will create six new service instances in IBM Cloud as you see in the dashboard below.
What are the created resources in the image above:
- Cloud Foundry apps: A Cloud Foundry Node-RED application instance.
- Cloud Foundry services: A alias for the Cloudant service to bind that service to the Cloud Foundry Node-RED application. You can find more about the alias topic in my blog post: How to use VCAP with a IAM enabled service in IBM Cloud?
- Services: Two created services:
- Apps: The App, from my point of view the “App” is technically, a single point of entry to all resources we usually need to build, deploy and run an application on IBM Cloud (“here the App was pre-configured with the Node-RED Starter kit“).
- Developer tools: The created toolchain.
Let’s have a short walkthrough, how to use the Node-RED Starter kit to create the Node-RED application instance on IBM Cloud
Here are five major steps, I see, when we use the Node-RED Starter kit.
- First we will create an App. That App is the single point of entry to all relevant resources for build, deploy and run the Node-RED application instance. In the following image we see the fully deployed App, with links to the related resources as the services, the toolchain, the application URL and the source code repository.
- Then automatically a Cloudant service instance will be instantiated. That instance does contain a Cloudant database which saves configurations and flows and more of the Node-RED application. The image displays the noderedmyhackathon database in the Cloudant service instance.
- The toolchain will be automatically configured, based on configuration information we will provide. The image shows a example list of toolchains in Dallas.
- The toolchain will create a Continues Delivery service, that service will clone the source code for the Node-RED application from origin Node-RED IBM Cloud GitHub project to our GitLab project in IBM Cloud. We can use the source code to modify the Node-RED application instance later. The GitLab project is the input for the delivery pipeline which does the concrete deployment of the application. The picture displays the configured toolchain.
- The deployment pipeline now creates the Cloud Foundry Node-RED application and the needed Cloud Foundry alias to bind the Cloudant service to the Cloud Foundry Node-RED application. The image shows the deployment pipeline.
The gif below shows how to access the running Node-RED application from the App.
Note: When you want to fully delete the starter kit, you have to delete the six service instances you created in IBM Cloud as you have seen in the IBM Cloud dashboard and the GitHub project you have cloned to the IBM Cloud GitHub.
I hope this was useful for you and let’s see what’s next?
#IBMDeveloper, #IBMCloud, #Node-RED, #DeliverPipeline, #Toolchain, #Continues Delivery