Consistently throughout history, science has been the key player in taking humanity forward thanks to great discoveries. Everyone has seen the impact essential milestones like the invention of vaccines and antibiotics have had, from the individual perspective to humanity as a whole. Frontiers’ primary mission is to make all science open and freely accessible so that important scientific discoveries can be shared fast and nationwide for the benefit of all.
Today, Frontiers is one of the most-cited and fastest-growing Open Access Publishers and Open Science Platforms globally. As of June 2022, they have passed 273,000 published articles, viewed, and downloaded over 1,4 billion times.
Figure: Frontiers Open Science Platform
Frontiers make the publications on their platform free to read. They have turned the legacy model upside down, in which scientists had to pay to access research through a subscription. Instead, at Frontiers, publishing costs are offset by a one-off fee, and then the publications are freely and immediately accessible to anyone who would like to read them.
“When scientists make new discoveries, they need a platform to share their publications. So first, they submit their publications to us, then we oversee a peer review where other scientists validate them. Then, finally, they get published on our platform,” said Marc Bettex, Software Development Manager at Frontiers.
Frontiers started based on monolithic architecture. They described their early days this way: “One application with everything gathered inside. We were already a lot of engineers and were hitting the limits of this model. We wanted to translate to a microservice architecture to have many different applications that can be developed by independent teams, which would enable us to grow. The problem is that we needed to communicate between these applications, and this is where RabbitMQ and CloudAMQP came into the picture.”
Frontiers started using RabbitMQ in-house but didn’t have someone in the company who knew RabbitMQ that well. They quickly realized that they didn’t know how to set up a bulletproof infrastructure. That’s when they turned to CloudAMQP.
Can you give us an example of how RabbitMQ plays a part in your architecture?
“We send messages that are like commands. For example, let’s say we want to move an article from one stage to another. So we send a message, then other applications receive it, take action, and follow up on the process."
The figure below shows an example of a message flow in Frontiers architecture.
Figure: Example of a message flow through RabbitMQ
"We also synchronize data with RabbitMQ. So, for instance, when a system does something, maybe update data with some user, we can broadcast a message saying ‘this user is updated.’ All the other systems can listen to that message and get the new user data.”
Why are microservices the best solution for Frontiers?
“It allows the organization to scale. Different teams can work on different microservices simultaneously, on different code bases, without stepping on each other's toes.”
What do you think about CloudAMQP’s service?
“Overall, we have been delighted. Of course, we have had some minor hiccups from the beginning, but that was more related to being new with RabbitMQ and making beginner mistakes. Other than that, RabbitMQ has been very stable, in particular CloudAMQP and the infrastructure you provide to us.”
“If there’s one thing that we are very pleased with CloudAMQP, it’s the support. Always speedy answers in the time of need. We don’t need you when everything is okay, which is almost always. It’s almost like you don't exist. And then when we need you, you are there, no matter what hours. Also, one time when I needed help, I contacted the support, and I got in contact with Carl Hörberg. I looked him up on your website and realized he’s the company's founder. I thought that was a nice touch, him helping out in support matters. We have other cloud providers too, but your support experience is different. You should be proud of yourself!”