Here is what happened at Rapido during the lockdown

Srivatsa Katta
Rapido Labs
Published in
4 min readMay 18, 2020

While the world is under lockdown due to the COVID-19 situation, technology companies are using this as an opportunity to prove their value or pivot. Some companies are going beyond their mainstream of business and diverting their focus and efforts to help COVID warriors either by new innovations or by tweaking their current products to service people ensuring safety measures.

At Rapido, we took this as an opportunity to help the society, improve the technical aspects of our existing platform, and add new product offerings. Owing to the lockdown, we managed to implement this in record time, which otherwise would have taken weeks.

Social good:

  • We have collaborated with Bangalore South MP’s office to provide essential services delivery with a very nominal charge of Rs. 10 along with many other startups and partners involved in this initiative.
  • We are doing a fundraise to support the gig workers so that they can make their ends meet.

Technical improvements:

Just like every other startup story, we too were building tech to meet the market demands and always crunched on time and resources. This ends up in growing technical debt which is never-ending.

While some technical debts are managed by the teams as part of their regular sprints, some of the critical ones always take a back seat. This downtime allowed us to focus on them as there would be minimal impact on the business and no disruption to the end customers.

These are some of the tech transformations we managed to do

  • We use MongoDB heavily and most of our databases hosting terabytes of data and take millions of queries every day are on quite outdated version 3.x. Rapido runs on a complex distributed architecture spanning across 80+ microservices. Upgrading multiple databases without impacting a business meant a lot of careful migration path and time-consuming. We managed to upgrade all databases to 4.0 and hoping to see better performance.
  • We also use Kafka as our streaming platform and use it extensively across microservices. We upgraded our vanilla Apache Kafka 1.x to Confluent Kafka 2.x. We are hoping to take advantage of the confluent’s schema registry with this upgrade. Without downtime, it would have been an immense task of migrating multiple microservices to use the new Kafka though we have blue/green deployments, coordinating between publishers and subscribers and the order of migration is not a simple task given our service dependency graph.
  • Kong is our edge gateway for all the internet-facing APIs, we were on version 1.x which had a lot of issues, one that was haunting us was bulk 401’s which used to log out all the users of the platform at once. While we didn’t make much progress to identify what in kong causes this, we were able to replicate this using chaos testing and performance testing. The only way out was to upgrade as we were not able to replicate the issue with Kong 2.0. Given it was our internet-facing API gateway, it had its own challenges to upgrade seamlessly without downtime. This downtime helped us, also we ensured we did not have to log out users while migrating.
  • Multiple GCP projects were in play and some of them were classic projects which are deprecated too. Given a lack of complete automation, it was hard to move all the workload to new GCP projects hence dependent on the tunnel to establish the traffic between the projects. Given one end of the tunnel was a classic project it didn’t have support for HA for the tunnel. These tunnels also had a limitation of max bandwidth it can support, so we were seeing some packet drops when the traffic in the tunnel reached the peak. We took this downtime as an opportunity to get rid of the tunnel dependency by automating and migrating all the workload in the legacy classic GCP project to the new ones. No more tunnel dependency and hence better stability.

New product offerings

We managed to build some kick-ass new products within the mobility space to help the customers in the post COVID world.

  • Rapido Local is a product offering by Rapido which helps you send packages from one place to another within the city limits. Pick up of the package will be done within minutes of the request and will be delivered right away, no waiting whatsoever.
  • With growing super apps in the market, it only made sense to partner with them to provide Rapido services through those super apps. This meant an investment in building Rapido over the web using Progressive Web App principles. We did that, and do watch out for discovering Rapido on other super apps out there.
  • We also started sensing the change in consumer behavior concerning their purchases, especially the essentials. A lot more people are comfortable ordering groceries, vegetables, fruits more than ever. We thought why not help local stores and small enterprises to deliver them within the locality, that way helping the local economy to cherish and support the changing customer needs in this post COVID world. We launched Rapido Store to offer the same, now stores can deliver their customers with the help of Rapido with a click of a button.
  • With delivery services increasing there is also a need for Cash on Delivery which was a long pending product feature that never made its way in the priority and COVID downtime made it happen.
  • Apart from these notable new products we also built a lot of safety measures in the captain and customer offerings to ensure we get through this corona scare without compromising on safety.

All this with a small team of 35 engineers is an immense achievement and we are proud of the team for the compassion and passion they demonstrated during these tough times and added immense value to the people around.

We are always looking out for passionate people to join our Engineering team in Bangalore. Check out the link for open roles: https://bit.ly/2V08LNc

--

--