Menu
Home
Log in / Register
 
Home arrow Computer Science arrow Building Applications with Scala
Source

Performance

The right algorithm might make your application work smoothly and the wrong algorithm might make your users have a poor experience. Performance is achieved by design-first of all, choose the right set of collections and the right set of algorithms and frameworks. However, performance needs to be measured and tuned eventually. The practice you should do in your application with regard of performance is stress testing. The best stress testing tools in the Scala ecosystem is Gatling. Gatling (http://gatling.io/#/) allows you to code in Scala using a very simple yet powerful DSL. Gatling focuses on HTTP and latency percentiles and distributions, which is the right thing to do nowadays. Latency is not only used for the sake of performance and scalability, but it is also heavily related to user experience as everything is online.

Scalability/Resiliency

Scalability is one of the main reasons why we do software architecture, because an architecture that does not scale does not have business value. We will continue talking about Scalability principles during this chapter. Resiliency is about how much the system can resist and keep operating under the most adverse situations, such as hardware failure or infrastructure failure. Resiliency is an old term. Currently, there is a new and more modern and accurate principle called antifragility. This principle was well developed and used in practice by Netflix. Antifragility is about systems and architecture that can adapt and fail over to other systems and other operational modes to keep working no matter what. If you want to know more about antifragility, you can visit

http://diego-pacheco.blogspot.com.br/2015/09/devops-is-about-anti-fragility-not -only.html and

http://diego-pacheco.blogspot.com.br/2015/11/anti-fragility-requires-

chaos.html.

 
Source
Found a mistake? Please highlight the word and press Shift + Enter  
< Prev   CONTENTS   Next >
 
Subjects
Accounting
Business & Finance
Communication
Computer Science
Economics
Education
Engineering
Environment
Geography
Health
History
Language & Literature
Law
Management
Marketing
Mathematics
Political science
Philosophy
Psychology
Religion
Sociology
Travel