Learn how to build, test, deploy, monitor, and maintain your Node.js applications at scale
About This Book
- Gain comprehensive information on scaling Node.js both vertically and horizontally in the cloud and across virtual machines
- Learn how to use Gulp, Mocha, Chai, PhantomJS, Git, Browserify, Docker, and other tools to construct a simple, fast, and intelligent build-and-deploy system
- Utilize the easy-to-understand examples to explore data caching strategies, application monitoring tips and tricks, and other professional techniques that are useful for maintaining lightweight, fast, and robust applications
Who This Book Is For
If you are an intermediate or advanced developer deploying your Node.js applications, then this book is for you. If you have already built a Node application or module and want to take your knowledge to the next level, this book will help you find your way.
What You Will Learn
- Learn the strengths of Node.js and how to optimize your code to make it ready for deployment into production
- Use Docker and Vagrant to create many virtual instances of your Node.js applications
- Deploy Node.js repositories to the cloud using Heroku, OpenShift, and DigitalOcean
- Utilize native Node.js modules, or Nginx, to load balance your applications
- Optimize your Node runtime by tweaking V8, managing memory intelligently, and using Redis to manage state data
- Discover how to use Gulp, Browserify, npm, Mocha, Chai, Sinon, and other tools to simplify your build/test/release process
- Manage your production deployments with Git, Jenkins, and Ansible
Node.js is a popular choice for teams that need to design, build, test, deploy, maintain, and monitor large-scale distributed systems. Starting with a detailed overview of the Node.js architecture, this book covers topics that will help in application development, testing, deployment, and maintenance.
You will learn about concurrency, event loops, callbacks and streams. Furthermore, step-by-step instructions on deploying applications to providers such as DigitalOcean and Heroku will be provided, including information on setting up load balancers and proxies. Message queues and other techniques for managing state and session data at scale will also be covered.
A series of examples on deploying your Node.js applications in production environments are provided, including a discussion on setting up continuous deployment and integration for your team. Popular tools for testing, deploying, building, and monitoring Node.js applications are covered, helping you get up and running quickly.
Table of Contents
Chapter 1: Appreciating Node
Chapter 2: Installing and Virtualizing Node Servers
Chapter 3: Scaling Node
Chapter 4: Managing Memory and Space
Chapter 5: Monitoring Applications
Chapter 6: Building and Testing
Chapter 7: Deploying and Maintaining