Nowadays there is a lot of interest in cloud native applications and their benefits. Cloud native apps rely on new technologies and architectures.
According to the Cloud Native Computing Foundation, key technologies to implement and run cloud native applications include:
Moreover, cloud native applications are commonly built using a microservice architecture, which is a distributed application architecture, comprised of multiple, separately running services. Building these apps require additional artifacts, such as:
- Docker files
- Kube config
- Helm charts
- Kubernetes liveness probes
- End-to-end trace points
- Prometheus instrumentation
The combination of cloud native technologies and microservice architecture creates a lot for a developer to think about before even getting down to writing code.
Help is Here
To make things easier, we have worked a lot of this out for developers through a new Yeoman generator named generator-nodeserver. The nodeserver generator creates fully functional Express-based Node.js application projects that include:
- Docker files for release and development containers.
- Helm charts with substitution values for deployment to any Kubernetes environment.
- Monitoring endpoints:
- Kubernetes liveness probes.
- Zipkin for end-to-end request tracing to spot bottlenecks.
- Prometheus for visualizing performance problems across app components.
- App Metrics with flame graphs for drill down into individual Node.js processes.
Additionally, these projects can include optional scaffolding for access to IBM Cloud Services, such as Data, Finance, and Watson.
Install and use are easy:
- install: npm install -g yo generator-nodeserver
- run: ‘yo nodeserver’ to create cloud native projects.
You can build/deploy these projects using standard tools like npm, docker and helm, or you can use IBM Cloud Developer Tools (IDT) to simplify these tasks. Note the projects created by the nodeserver generator include npm scripts to help you install and use IDT, just look for the idt:* scripts in your package.json file.
Watch the videos on Quick Start for IBM Cloud to get a better idea of what IDT can do for you.
The bottom line is the nodeserver Yeoman generator does a great job creating cloud native projects, complete with all the essential ingredients, and IDT is a great companion tool to simplify building, testing, and deploying your dockerized apps. Together they make it a cinch to build and deploy cloud native apps to any Kubernetes environment, especially the IBM Cloud.