Dec 24, 2021
Scala was chosen for implementing mission-critical services and applications: Some were built from scratch, some during system evolution. As a fully object-oriented, multi-paradigm language with powerful extensions, Scala is now being used for building web services or web applications, streaming services, constructing data pipelines with ETL jobs, and a variety of utilities.
Scala has helped us to reinforce the backend of the Flo application in order to handle a rapidly increasing volume of users and process a massive amount of data every day. Depending on domain and application features, we organize and develop our backend using both Scala and Python. The current architecture consists of microservices built within health, community, commercial, communication, and other domains. Most of them have a reactive nature, with event-driven design. Each month, more than 75 million users access the app, and the core services manage more than 1,200 queries per second per single service instance — and here’s where the power of Scala helps us make it real and serve high-load — and sometimes high-pressure — API requests very quickly and without errors.
With the help of Scala’s strict type system, seamless interoperability with Java and JVM runtime, and a huge world of libraries and tools, we’re ready to quickly start the development of new services or update existing ones with minimal errors and high-quality results. Scala lang has strong debugging and monitoring tools that help mitigate any code issues during development. The JVM platform has a vast number of required libraries while the Scala community provides more efficient and native implementation, so we’re reinforced by both worlds.
At the same time, JVM languages have evolved in different directions. If you want to more easily and reliably perform routine tasks, Scala may open up previously unknown horizons for you to conquer and explore. It’s a really scalable language. In turn, it helps develop your engineering skills, and this in itself makes it worthwhile to learn.