Client Background
The client is a leading online job marketplace with the mission of bringing the best on-demand talent to the most important projects to enhance business performance and improve people’s lives. It enables companies to work smarter, faster, and more flexibly by accessing a curated network of thousands of the world’s best independent business professionals.
Project Overview
With a growing number of users, the client was experiencing production support issues, and wanted us to improve the architecture of their existing platform and propose innovative solutions that could unify multiple platforms into manageable tools.
Business Requirements
Architecture Redesign
The client wanted us to analyze the existing architecture and propose a new scalable architecture that is flexible to accommodate additional functionalities in the future.
Production Support for the Existing Platform
The client wanted an extended team that can provide overall technology support and maintenance to ensure maximized availability, and uninterrupted functioning for the existing platform. This also includes infrastructure support for network outages or fixing bugs in the existing code, clients wanted us to fix all issues.
Optimize DevOps Process
From planning, coding to the monitoring phase, the client wanted us to analyze the DevOps activities and optimize the existing DevOps process.
New Features Development
Client wanted us to develop new features and functionalities as per their product roadmap.
Reduce Conflicts Because of Multiple Angular Versions
The current web application has multiple Angular versions which led to errors and clashes that could take down both widgets and customer site. Client wanted us to upgrade all the applications (using different angular version) to a common Angular version for quick deployment of common features across all the apps.
Challenges
- Complete production support of their existing platform
- New architecture improvement of the existing platform
- Development of new features
- Integration of performance tools
- Unification of multiple Angular versions to a singular version
Solution
01. Setting up the Foundation with the Right Engagement Model
We set up an Agile team consisting of the following experts:
02. Redesigned Software Architecture
We analyzed the existing architecture and then designed it from scratch. The new architecture wasscalable to accommodate additional functionalities in the future. We rewrote large swaths of code to fix critical, non-functioning scripts and support new features.
03. Implemented DevOps Process and Tools
With the implementation of DevOps tools and best practices including agile management, CI/CD, automation, monitoring, and continuous feedback we helped the client with higher speed and quality product release, enhanced responsiveness towards customer needs and a better working environment.
04. Unified Different Angular Versions to a Common Frontend Version
There were different angular versions. We upgrade all the applications with the different angular versions to a common Angular version that offers quick deployment of common features across apps. We used Datalog services optimally to reduce the number of such tools which offer services having significant overlap among them. Papertrail, Datadog, Scout APM, Sentry and Pingdom were the monitoring tools used.
The current architecture of the Front-end applications:
05. Development of New Features
We introduced new features including QuickStart, Talent Match, Talent Profile, Analytics and Reporting, Email communication and more.
06. Integration of Performance Monitoring Tools
The existing web application and infra were being monitored with multiple tools. Using the Datadog services optimally we were able to reduce the number of performance monitoring tools and limited to integration of the tools.
Results
Our team was able to deliver the following outcomes for the client:
Lower Mean Time to Recover (MTTR) from Production Failure
The new architecture and DevOps ensured; we reduced the MTTR from the production failure by 30%.
Our Team as an Extension of Inhouse Team
We offered clients an Agile team (Project Manager, Angular, DevOps, Ruby on Rails, and QA) which acted as an extended team of experienced resources which worked as an in-house extension of the client’s team.
Faster Time to Market
Being focused on speed to market can make a difference! With our support, the development time was reduced, and clients could launch their product roadmap with a faster time to market.
100% Uptime
The new software architecture and the development support we provided ensured that the web application we developed ensures that the application has 100% uptime 365 days (about 12 months), 7 days and 24 hours.