
NRT – technology view
In this section, we introduce you to various technological choices for NRT components and their pros and cons in certain situations. As the book progresses, we will revisit this section in more detail to help you understand why certain tools and stacks are better suited to solving certain use cases.
Before moving on, it's very important to understand the key aspects against which all the tools and technologies are generally evaluated. The aspects mentioned here are generic to software, we move on to the specifics of NRT tools later:
- Performance: This is basically gauging the performance of the software component on a given set of hardware at a given load.
- Capacity: This is a very crucial aspect because it decides the breaking point for any application.
- Management: How easy or cumbersome is the management of the component? Would I need specialized engineers to maintain it?
- Scalability: Is the component scalable so it can accommodate an increasing load of traffic and new use cases? Can I grow over the same architecture?
- Total cost of ownership (TCO): This refers to the total cost that would be spent to own the solution end to end.
Now that we have rules of thumb set, let's look at the technology view of the NRT application framework to understand what all technological choices it presents to us—please refer to the following diagram:

This figure captures various key technology players which are contenders as parts of the solution design for an NRT framework. Let's have a closer look at each segment and its contenders.