Real world soa

Starting out back when no one would seriously consider implementing a service-oriented architecture using Ruby, we knew this was the way to go.

5 years in and over 80 performant services on production later, we are now running a microservice-based distributed system that has paved the way for letting other technologies in while helping us scale our system and its development. With our core services handling over 3k requests per second during peak hours and our synchronization layer for mobile devices dynamically processing over 1000M objects, we know that’s just the beginning.

Real world soa

Starting out back when no one would seriously consider implementing a service-oriented architecture using Ruby, we knew this was the way to go.

5 years in and over 80 performant services on production later, we are now running a microservice-based distributed system that has paved the way for letting other technologies in while helping us scale our system and its development. With our core services handling over 3k requests per second during peak hours and our synchronization layer for mobile devices dynamically processing over 1000M objects, we know that’s just the beginning.

Not just services

REST services however, are only a part of what we do with Ruby. It also powers the synchronization service for smartphones, our critical internal tools, real time Big Data topologies, background jobs processing, communication systems and, last but not least, even our deployment stack.

Forging ahead

Apart from exploring and implementing concurrency using Ruby, our understanding of the language and Rails has changed greatly since we started. We’re way past the Rails Way: our services are API-oriented, pushed to perform at the limit, communicating via modern communication protocols and messaging systems. This means we put a lot of effort into profiling Ruby and the frameworks everyday, understanding and solving complex problems that arise as we scale.

Forging ahead

Apart from exploring and implementing concurrency using Ruby, our understanding of the language and Rails has changed greatly since we started. We’re way past the Rails Way: our services are API-oriented, pushed to perform at the limit, communicating via modern communication protocols and messaging systems. This means we put a lot of effort into profiling Ruby and the frameworks everyday, understanding and solving complex problems that arise as we scale.

Best tools for the job

We certainly like to to choose the best tools for the job. If there is a solution out there already, we will give it a go. That’s why we freely choose from the finest Open Source technologies to get stuff done and we currently take advantage of some amazing OSS: Elasticsearch, Redis, Apache Storm, Apache Kafka, RabbitMQ and many more.

Recent blog posts about Ruby