With the delivery of my last reviewed draft for the second edition of PRO REST API Development with Node.js, also beings the work on the second chapter of Scaling Node.js Apps. Yes, it's the second one, since I wrote the first one while reviewing the chapters of the previous book.
But now it's "officially official", I'm done with the second edition, it's on the hands of the good people from Apress, who're doing the final editorial bits before it can actually be published (you can pre-order it already however *wink* *wink* *nudge* *nudge*).
In case you were wondering, here is what to expect from this book:
Chapter 1: The need to scale. This chapter will cover some of the factors that normally affect the performance of a platform, such as:
Increased amount of data to process
Chapter 2: Architectural patterns. Here I’ll cover the basis of valid and scalable architectures.
Some of the patterns that will be covered are:
Chapter 3: Ways to scale. In this chapter I’ll go over the classic techniques used to scale up a system, depending on the type of architecture and the scaling needs. Some of the topics that will be covered are:
Horizontal vs Vertical scaling
In this chapters, some of these topics will start being approached from a Node.js perspective (such as clustering).
Chapter 4: Issues when scaling. The techniques mentioned in chapter 3 will cause some unwanted consequences, due to the changes required in your application. In this chapter, we’ll go over a basic list of them, such as:
Sharing information when multiprocessing
Syncing up processes
Limitations on Node.js when scaling inside a single server
Dealing with logs after you’ve scaled up
Chapter 5: When to scale? An overview of platform monitoring solutions that will come in handy when trying to decide when to trigger a scaling-related action. Also, this chapter will explain the concept of elastic scaling.
Chapter 6: Testing your application. A quick overview of what testing is and what it means to have your application’s code covered with tests. I’ll go over some code samples and the most common modules used for this task.
Chapter 7: Success cases. Finally, I’ll go over some publicly available success cases from companies like Netflix. In these cases I’ll analyze the problems they were facing and the solutions they implemented.
It's not planned to be a very big and hard to read book, instead the plan is to make it concise and to the point, showing examples where it makes sense and serving as an introduction into the world of scaling platform.
As always, thanks for reading and if you're interested in knowing more about my upcoming books or anything else I may want to talk about, don't hesitate to follow me on social media or leave your email below.