Reducing the delivery time for Adstream – the leading creative logistics platform

7 minutes read
case-study
ClientAdstream
IndustryLogistics

Adstream is a global leader in advertising logistics. They aimed to optimize the development of future iterations of their product and modernize its legacy code. They needed a partner proficient with Scala, as they had only a few specialists onboard. 

VirtusLab planned and implemented a series of incremental changes in Adstream’s implementation processes and conducted code refactoring. With the improvements complete, the delivery time of each Adstream software iteration went from three months to two weeks.

Download the success story as PDF

Print it out, take it with you to read later, or share it with your peers.Free download
case-study

The challenge

Adstream’s product, an advertising management platform, was growing and they aimed to optimize the delivery time of future iterations. They also needed to modernize the legacy code while keeping their platform operational. Any downtime, or service interruptions could affect their clients, such as marketing agencies from Australia, Japan, Europe, and the USA who were using this platform 24/7.

With the limited number of experienced Scala developers onboard, Adstream was unable to achieve their required standard of optimization works. That is why they decided to find a technology partner.

The solution

Our engineers already worked with Adstream on a successful project that involved Scala language. Impressed with their expertise and work ethic, Adstream trusted them to lead the optimization efforts.

VirtusLab’s approach was to avoid completely refactoring the functioning platform to maintain service availability for clients and to prevent detachment from user feedback. Instead, their cooperation with Adstream focused on five key areas:

  • The development process
  • Planning
  • Implementation
  • Live releases
  • Reacting to production problems

Every live release brought about a series of incremental changes to the Adstream platform. Also, each update was integrated with a continuous feedback loop.

VirtusLab introduced data-driven project management to the implementation process. It added quarterly goals that stakeholders use to measure the progress of each update. 

A large monolithic service has been split into smaller ones. Each part has its own defined boundaries to reduce the dependency between different teams. VirtusLab automated and optimized several processes, including:

  • End-to-end (e2e) testing
  • Unit and integration tests
  • Automatic generation of release notes
  • Integration of custom monitoring into the release process
  • Streamlined rollbacks to address issues swiftly

Now, one team works on their service without waiting for another team. It makes the release process smoother and faster as the smaller services are being updated quicker and more frequently.

The results

In two years VirtusLab transformed the software implementation process at Adstream. Splitting monolithic service into two pieces made the platform easier to manage, faster to update, and less reliant on coordination between multiple teams. It gave Adstream a more efficient release cycle for new software updates.

With each quarter the number of live releases increased, without disrupting clients. The delivery time for releases went from three months to two weeks. Adstream also noticed:

  1. Enhanced feedback loops, allowing for quicker identification and resolution of issues.
  2. Improved platform resilience, with greater tolerance for potential issues and team changes.
  3. Increased system performance, leading to swifter and more efficient operation.
  4. Better-defined responsibilities among teams, fostering clarity in duties.
  5. Reduction in work in progress, optimizing team focus and productivity.

Tech stack

Languages: Scala 

Containerization: Docker

Cloud services: AWS

Frontend frameworks: Angular, React 

Backend frameworks: NodeJS 

Databases: MongoDB, ElasticSearch

Automation: Ansible

The tech-stack

Languages

scala-logo

Containerisation

Docker-logo

Cloud services

aws-logo

Frontend frameworks

Angular-logo
React-logo

Backend frameworks

NodeJs-logo

Databases

MongoDB-logo
ElasticSearch-logo

Automation

Ansible-logo

Take the first step to a sustained competitive edge for your business

Let's connect

VirtusLab's work has met the mark several times over, and their latest project is no exception. The team is efficient, hard-working, and trustworthy. Customers can expect a proactive team that drives results.

Stephen Rooke
Stephen RookeDirector of Software Development @ Extreme Reach

VirtusLab's engineers are truly Strapi extensions experts. Their knowledge and expertise in the area of Strapi plugins gave us the opportunity to lift our multi-brand CMS implementation to a different level.

facile logo
Leonardo PoddaEngineering Manager @ Facile.it

VirtusLab has been an incredible partner since the early development of Scala 3, essential to a mature and stable Scala 3 ecosystem.

Martin_Odersky
Martin OderskyHead of Programming Research Group @ EPFL

VirtusLab's strength is its knowledge of the latest trends and technologies for creating UIs and its ability to design complex applications. The VirtusLab team's in-depth knowledge, understanding, and experience of MIS systems have been invaluable to us in developing our product. The team is professional and delivers on time – we greatly appreciated this efficiency when working with them.

Michael_Grant
Michael GrantDirector of Development @ Cyber Sec Company