#NeedToNode Recap: Cloud Native Development for Node.js and Docker
The full lifecycle for developing, staging, and shipping a Node.js application to production is composed of various parts - at the core, you write an application in Node.js, yes. But how do you make sure it's going to work in production like it does in your development environment? Further, how are you going to ensure that once in production your application can scale up and down as needed?
This week, we talked with Jonathan Carter of Microsoft, discussing what the modern development lifecycle for the cloud native world we live in would look like. What are the takeaways? What are the tools, platforms, and resources you should be using? Jonathan gave us a fantastic overview of the full process, from building in dev to production at scale - check out the details:
Top 5 Takeaways
Having a reliable workflow, from dev to prod, is key to success with Node.js at scale
Node.js, Docker, and Kubernetes allow quick and scalable deployments
VS Code is a developer-first tool that can help smooth out the full workflow
Knowing your tools enable you to know your process, making them repeatable
N|Solid is an easy win with this exact stack, enabling further security and reliability
Video
Recap
Containers are a deployment artifact that allow you to have all the dependencies of your application or service - not just dependencies like Node.js modules from a registry, but going even deeper into things like the OS, the specific version of Node.js, and other native tooling and dependencies.
Containers allow you to deploy your application in a cloud-agnostic way - enabling universal deployment, squashing "it works on my machine", and allowing unification across a team to learn and understand the deployment-to-production environment to streamline team communication and process.
Orchestration allows you to scale deployments of containers quickly and easily, again in a standardized way. This enables quick scaling up and scaling down, ensuring efficient usage of both server resources and spend on those resources.
VS Code is a text editor that allows you to tie everything together - from making the development process with Node.js buttery smooth to simplifying the process of containerization with Docker, enabling you to go and deploy to production at scale directly from within your text editor. Huge productivity wins all around.
Resources
VS Code
Docker
- Docker website: docker.com
- VS Code Docker Extension on the VS Marketplace
- NodeSource Docker Images
- NodeSource N|Solid Docker Image
Kubernetes
- Kubernetes website: kubernetes.io
- Helm, the Kubernetes Package Manager: helm.sh
- The N|Solid Kubernetes Repo
Azure
- Azure website
- Azure Container Service
- N|Solid Runtime on the Azure Marketplace
- N|Solid Console on the Azure Marketplace
NodeSource
- The N|Solid page
- The NodeSource Certified Modules page
- nscm - the CLI tool for NodeSource Certified Modules
- NodeSource Docs