🚚 White-Glove Heroku migration service. Learn more.

YC Series Part II: How Tajir deploys over 10x faster with Porter

After getting up and running on Porter in less than a day, Tajir experienced a substantial and immediate improvement in developer velocity.

YC Series Part II: How Tajir deploys over 10x faster with Porter

Tajir is an online marketplace for retail stores in Pakistan to purchase inventory. In addition to providing an app where stores can buy products, the company manages a last-mile delivery network with over 10,000 stores buying from Tajir every day.

Tajir participated in the Y Combinator W20 batch and has expanded its operations to six cities in the last year.

Over 10,000 stores in Pakistan rely on Tajir's platform every day to purchase their inventory

Before Porter: Painfully slow deployments and poor config management

In Tajir's early days, all application services were hosted on Google App Engine. While Tajir initially chose App Engine for its convenience and built-in autoscaling, the dev team quickly became frustrated with having to wait over 15 minutes for basic configuration updates and urgent rollbacks.

With developers pushing new features and fixes multiple times per day, this slow release cycle compounded into a notable decrease in overall engineering productivity at Tajir.

“Before Porter, releases were painfully slow for us. It would take over 15 minutes for any release to deploy not even counting build time. Rolling anything back and fixing a problem required a huge amount of time and energy.”
Ismail Khan, CTO of Tajir

On top of dealing with extremely slow deployments, developers at Tajir would regularly deploy with configuration errors due to App Engine's lack of a suitable interface. Environment variables were always being directly copied and pasted into App Engine's app.yaml file, and deploys would sometimes appear to fail at random due to the resulting misconfigurations.

Moving to Porter: Radically improved developer velocity

After getting up and running on Porter in less than a day, Tajir experienced a substantial and immediate improvement in developer velocity: releases that used to take over 15 minutes could be deployed through Porter within 50 seconds.

The development cycle on Porter was so much faster that Tajir's engineering team decided to spin up an instance of its application per developer for rapid testing and iteration in the cloud.

“Porter is amazing for us. You deploy and almost instantly everything's updated, so now everyone on our team has their own personal Porter setup. By the time we would have deployed to App Engine once, we can deploy to Porter more than ten times.”
Ismail Khan, CTO of Tajir

In addition, thanks to features like automatically propagated environment groups on the Porter dashboard, the Tajir team has been able to all but eliminate configuration issues after making the switch to Porter.

Most importantly, the developers love it

Ismail (Tajir's CTO) made sure to highlight various other benefits of using Porter during our conversation: the dedicated jobs interface for managing scheduled workloads, improved scalability, and complete abstraction of GKE with all the benefits of Kubernetes still available under the hood.

One aspect of using Porter stood out though in reflecting on the months since switching away from App Engine:

“The best thing about Porter is our devs love using it and everything else almost feels secondary. Our developers enjoy the experience so they're pushing more features and changes as a result.”
Ismail Khan, CTO of Tajir

Looking to improve your developer experience on Kubernetes? Learn more about Porter today.