High Performance / High Availability

A High Performance/High Availability platform offers solutions when you are looking to find a platform that can handle millions of users, has hundreds of thousands of simultaneous users, or that can process gigabytes of data. With standard web frame works you will soon encounter limitations. We have much experience in setting up advanced systems.


The standard solution for handling a High Performance platform is to divide the different functionalities into separate modules, each executing its own specific task. These processes are a-synchronous which means that all processes work independently from each other. Usually, communication between these different components is made through a message bus such as RabbitMQ. This guarantees both a swift and efficient system.


The storage of large quantities of data needs another approach than a standard relational database. It is possible to use relational databases for sharding or other techniques, but more often NoSQL databases are used for that, as they are specifically intended for this type of use. Each solution has its own advantages and disadvantages (scalability, reading speed, writing speed etc.), which means that each project needs its own specific assessment to identify which database is most suitable.


The larger and more complex systems are, the more difficult it becomes to manually operate them. For these types of systems we often use Continuous Deployment. With this technique (sub) modules are automatically updated under certain conditions. Also, the platform must be properly monitored. By using auto-scaling, additional capacity is automatically added whenever necessary, which ensures optimal performance at any given time.