Trusted answers to developer questions
Trusted Answers to Developer Questions

Related Tags

scalability

What are scalability types in a real-time system?

Rizwan Rasheed

Scalability types

An application could be small or huge, depending on the project’s requirements. In this shot, we’ll look at how to build systems that can expand to a high number of users while still keeping scalability qualities. In this case, multiple forms of scalability must be considered, including:

  • Scalability of Performance
  • Scalability of Maintenace
  • Scalability of Cost

Scalability of performance

The most frequent scalability consideration is performance. We want our software to become faster and more responsive as additional users, data, and features are added. If an application has 1000 client connections, it will have effectively scaled performance when its response times

An application with 1000 client connections that has effectively scaled performance will the same response time, or close to the same response time, as it does with 50,000 client connections.

Scalability of performance

Many performance variables will have an impact on our real-time application. As with typical online apps, the data store will surely be the source of performance issues as the program expands. Real-time applications are affected by performance considerations, although non-real-time apps may not be affected.

For example, in a real-time application, you’ll need to communicate information about a high number of real-time connections between your application’s servers.

Scalability of maintenance

The developers of an application should be concerned with maintenance scalability. When we add new features, fix bugs, or maintain the uptime of a program over time, we call it maintenance. Developers must spend more time adding features or identifying existing problems in an application. Maintenance is a difficult issue to optimize since it is easy to be ignorant of issues that will arise in the future. We may use a new approach or technology that we believe will make future adjustments easier, but in reality, the reverse will occur! Additionally, our understanding of what is maintainable may evolve with time; for example, new developers on a project may lack familiarity with a technology, which will make maintenance more difficult for them.

Scalability of Maintenance

Utilizing programming best practices and clearly defined boundaries in an application is a tried-and-true method of ensuring future maintenance. Fortunately, Elixir allows us to create systems with highly distinct levels and boundaries. Although layers theoretically increase the amount of work in our program, well-designed layers provide significant maintenance benefits by making modifications easier.

Scalability of cost

It’s easy to overlook the cost of something because, as developers, we are frequently isolated from the financial cost of our apps. However, we do have control over a number of factors that influence the cost of our application:

  • Server resourcessuch as CPU, memory, and bandwidth can be saved or spent.
  • We can keep expenditures related to future development to a minimum.
Scalability of Cost

In comparison to other languageslike Elixir Erlang/OTP apps can have comparatively cheap expenses. There are examples of huge Erlang applications with millions of users that operate on a limited number of servers and a small team of programmers. For example, WhatsApp.

Of course, these kinds of success stories are rare and will vary depending on the sort of application being created, but the technology has been tested and proven to keep costs down on huge projects.

RELATED TAGS

scalability

CONTRIBUTOR

Rizwan Rasheed
Copyright ©2022 Educative, Inc. All rights reserved
RELATED COURSES

View all Courses

Keep Exploring