When a customer has specific requirements for uptime, resiliency, scale and fault tolerance, we will develop a distributed application. These characteristics are always wanted by a customer, but the most important step is to get it right from the beginning.
A distributed application is deployed on a network of machines that operates together to achieve a shared goal. If a particular machine goes down, another node in the network can resume the task. Building an application that can make full use of this infrastructure is best done with programming languages and frameworks designed with this goal in mind.
We use Elixir, a language running on the Erlang/OTP virtual machine. Elixir is built from the ground up to be deployed as a distributed application. It is delivered with an immensely powerful standard library, allowing its users to build ultra-reliable and scalable fault-tolerant systems.
When delivering systems that require at least 5 nines (99.999%) reliability or are expected to handle >10,000 Requests Per Second, Elixir is the perfect fit.