Viooh, the trail blazers in the global digital out of home advertising marketplace space, started their digital transformation journey to be better prepared for tomorrow’s scalability needs and achieve higher levels of transparency in their core systems. They asked for our help in this gigantic task because of our abundance of experience in microservice transitions. We contributed to every aspect of the journey, be it analysis, devops, developments or life-cycle. And together, through a culture of collaboration, we created an archetypical service that can serve as a model for tackling all of their needs.
The Story of Viooh
VIOOH is a leading global digital out of home (OOH) advertising marketplace. Launched in 2018 and with headquarters in London, VIOOH’s platform connects buyers and sellers in a premium marketplace, making OOH easily accessible. Led by a team of digital and OOH tech experts, VIOOH is pioneering the transformation of the OOH sector, championing its role in enhancing omnichannel digital campaigns through programmatic use. VIOOH is already live globally and trading programmatically in twelve markets across Europe, North America and APAC. Yet they show no sign of slowing down, as they are establishing new partnerships and entering new markets each new day.
Upgrading The Engine Of A Moving Car
Competitive markets put a lot of pressure on emerging companies for quickly establishing their technical architecture and infrastructure. For a data-driven company like Viooh, this quickly meant having to tackle legacy systems and making sure they withstand constantly increasing pressure, all the while having a realistic path to more scalable services. It is quite hard to sustain the teams who can understand and maintain old systems getting more complicated by the minute, can carry the unique domain knowledge therein to their replacements, and have the experience to build those enterprise-level replacements. To find those teams as a budget friendly option is even harder.
Why Viooh Chose Refineri
We at Refineri specialize in the unique constraints of each phase in a company’s lifecycle. For companies scaling up from their startup roots, the experience of those who know about the arduous journey of digital transformation is invaluable. All of our collaborators know the techniques, tools and processes in use inside out, but in the end, what became the deciding factor in starting our partnership with Viooh was our capacity to provide a group of consultants who have worked together in the past, can act as a cohesive unit and hit the ground running. Combining all of that with our ability to work with a variety of budgets made our collaboration an easy decision.
What Was Our Approach?
Our first order of business when joining an already established company is doing a quick investigation to find the existing pain points that we can address. In Viooh’s case these were detecting the causes of the bugs in the legacy systems, working with the single-tenant nature of the application which enforces having a separate production environment for each market, the lack of reliable and transparent continuous delivery flows and insufficient testing. This is a critical step, as it lets us apply the lessons learned in our solutions for upcoming requirements.
As a response to arising needs in data processing, we opted for creating an archetypical service that is scalable in all three dimensions of the scaling cube. This meant that on top of splitting this business value to it’s own deployable (y-axis), the service in question should also be fit for duplication (x-axis) and allow data-partitioning (z-axis) as we move toward supporting multi-tenancy and working with bigger data chunks.
Since it was a priority for us that the ability of this archetypical service should work as a template for ones that could be created in future, we leveraged all modern software practices and fundamental building blocks of creating reliable systems that will be relevant and offer value to the company’s needs. These techniques included Containerization, Orchestration, Test automation, and Continuous Integration. We improved on the regular developer experience by adding mock versions of all the dependencies, so that teams may operate independently from each other.
Equally important as creating new and scalable services was supporting the legacy systems to the best of our ability. The original service was going to remain in use for a really long time, so we saw great value in increasing the feature parity between the services by introducing the applicable technologies to the existing service as well. We created functional tests using cucumber, increasing the test coverage. We containerized all elements of the service and created a self-reliant network that can run with a single command.
While we contributed to many other mission-critical system modules throughout the course of the project, the way we brought our work to a close was also of great significance to us. One of the defining value-propositions we offer to our customers is empowering them to build on the foundations we establish, independent of us. Therefore, before we departed, we prepared an elaborate roadmap for the future, detailing each stage required to extract the rest of the business value from the legacy system, such that the internal resources of the company can follow through with ease if they ever need to.
To achieve all of this, we contributed not only to development but towards every aspect of the software development life cycle. We took time collaborating on methodology specification, requirement analysis, planning, architecture and infrastructure design, development and testing.
As the project came to a completion with great success, the parties expressed their intention to work together again in the future in case more collaboration opportunities arise.
REACH OUT NOW!
Although each new project brings its unique challenges that we’re prepared to respond to in a bespoke manner, the story of Viooh is common to a great deal of today’s companies. New hardships that come with success and stable growth are problems anyone would like to have and in case you’re one of the lucky ones, we’re here to help! Just reach out, and schedule a call with us today!