YC SERIES

How TyltGO powers same day delivery with Porter

Trevor Shim
May 19, 2021
3 min read

TyltGO is a white-label last mile delivery platform for independent e-commerce stores in Canada. Founded in 2018, TyltGO initially launched in the University of Waterloo to help students get local goods. In 2020, TyltGO’s revenue grew by 2,000% as the company expanded its operations outside Waterloo to the Greater Toronto Area where it continues to grow rapidly. TyltGO recently raised a seed round of 2.3M CAD from renowned VCs and angels, including Y Combinator. We interviewed Adnan Ali, TyltGO’s head of engineering, to take a deeper look at how TyltGO powers its same-day deliveries on Porter.

Inside TyltGO on Porter

TyltGO runs Porter on AWS, particularly on Elastic Container Service for Kubernetes (EKS). They host all of their four core services on Porter: the core API server, notifications service, website, and a worker, all written in Node.js. TyltGO also uses Porter’s Redis add-on as a message queue used by the core services.

Before Porter

Before moving onto Porter, TyltGO hosted all their services on Heroku. While the convenience of Heroku was great for them in the early stage, they quickly came to a conclusion that Heroku is not a platform that they can host on long-term because it locks users into its own ecosystem, not to mention the exorbitant cost that increased rapidly as they expanded operations. They had always planned to move to a cloud provider like AWS but did not have the bandwidth to make that migration for a while. For TyltGO, Porter was a platform that allowed them to seamlessly migrate onto AWS without losing the convenience of Heroku.

Upgrading to EKS with no DevOps work

In his previous job, Adnan set up and managed EC2 instances with Chef. While this setup did the job well enough, it required a team of DevOps engineers to manage the instances - DevOps was completely siloed away from the application developers, giving the developers very little visibility into their workloads in terms of logging and monitoring. When Adnan joined TyltGO in 2020 and spearheaded the efforts to move off Heroku into AWS, he initially planned to replicate the EC2 setup he had in his previous job.

For a fast moving startup, however, setting up EC2 instances with Chef was more DevOps work than necessary. And for a team accustomed to Heroku, managing Chef was not an appealing option that would have resulted in a similar DevOps silo. Porter was an option that captured the best of both worlds (i.e. flexibility of AWS and convenience of Heroku) and provided more robustness than EC2 instances with features like zero down-time deploys and autoscaling.

"AWS + Kubernetes is a behemoth to tackle by itself. It’s just not worth the time to figure it all out when we have Porter pretty much handling that behind the scenes. We want to always be working on providing value to the end users and wrestling with Kubernetes doesn’t provide much value to our end users." - Aaron Paul, Co-founder and CTO

Future on Porter

All of TyltGO’s core services are currently running on Porter, and Adnan plans to host all new components of their tech stack on Porter. Particularly, he is currently developing an ETL (Extract, Transform Load) pipeline that he plans to run using Porter’s first-class support of Jobs and Cron Jobs.

"We're excited and looking forward to growing along side the Porter platform. The Porter team continually adds features that improve peace of mind and ease of use. That's precisely what I'm looking for when managing production systems." - Adnan Ali, Head of Engineering

Next Up

IaaS vs PaaS vs SaaS
Shankar Radhakrishnan
5 min read
Discover the Advantages of Platform-as-a-Service (PaaS)
Shankar Radhakrishnan
4 min read
Understanding Platform-as-a-Service (PaaS): what it is and how it works
Shankar Radhakrishnan
5 min read
How Tajir deploys over 10x faster with Porter
Justin Rhee
2 min read
How TyltGO powers same day delivery with Porter
Trevor Shim
3 min read
Migrating Postgres from Heroku to RDS
Rudi MK
8 min read
Should startups use Kubernetes?
Justin Rhee
4 min read
Why companies move off Heroku (besides the cost)
Justin Rhee
4 min read
Announcing the Heroku Migration Program
Trevor Shim
3 min read
History of PaaS: How Canon almost became a major cloud provider
Trevor Shim
6 min read
Deploy Strapi on AWS/GCP/Digital Ocean using Porter
Trevor Shim
2 min read
Our Journey Building Porter
Justin Rhee
3 min read
Guide: Updating Instance Type on AWS EKS
Justin Rhee
5 min read
Datadog on Kubernetes: Avoiding Common Pitfalls
Trevor Shim
5 min read
Deploy Django on Kubernetes in a few clicks (without even Dockerizing your application)
Trevor Shim
4 min read
Guide: Setting up a Tailscale VPN on Kubernetes
Justin Rhee
4 min read
Subscribe to our weekly newsletter
Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.