CASE STUDY

How HomeLight powers billions of dollars of real estate business on Porter

Justin Rhee
September 26, 2023
3 min read

HomeLight is working to make every real estate transaction simple, certain, and satisfying. Launched in 2012, HomeLight connects homebuyers and sellers to real estate agents that specialize in their clients’ specific needs. Each year, HomeLight powers billions of dollars of residential real estate business for thousands of top agents.

Early days on Heroku

When HomeLight first launched over a decade ago in 2012, Heroku was the go-to deployment solution for simple Ruby on Rails applications. As a young startup, HomeLight greatly valued ease of deployment and was able to run its applications on two Standard-1X Heroku dynos totaling to just one gigabyte of RAM.

As adoption grew, HomeLight upgraded to Heroku’s Standard-2X dynos, gradually increasing the number of instances to accommodate their heightened traffic. CTO Mike Abner recalls a memorable moment from HomeLight’s early days where they had to manually scale to 100 dynos in anticipation of a traffic spike from their first TV ad campaign. Over time, HomeLight continued to expand, quickly moving to Heroku’s top-of-the-line Performance-L dynos.

Graduating from Heroku

Eventually, HomeLight was managing 79 applications and 24 unique deployment pipelines on the Heroku Enteprise tier. Engineering headcount also ballooned from just Mike in the beginning to an impressive 80 software engineers.

To accommodate the infrastructure complexity associated with this growth, 2-4 engineers began working part-time as a DevOps team at HomeLight. This team’s responsibilities included coordinating deployments and rollbacks across multiple services and building tooling for new members of the team to easily self-serve applications through HomeLight’s in-house developer portal.

As this initiative grew, Heroku’s black-box nature began to pose an obstacle to the HomeLight team’s ability to control their infrastructure and developer experience. After nearly a decade on Heroku Enterprise, Mike began to evaluate other options.

“Heroku being a proprietary system limited us. The goal was to move to a world where HomeLight controlled its own infra destiny more, but we didn’t want to go to raw AWS.” - Mike Abner, CTO of HomeLight

Even with the limitations of Heroku, Mike wanted to ensure that excess resources weren’t going into generic platform and DevOps work, so moving from Heroku into vanilla AWS was ruled out early on.

“I don’t believe our resources should be spent doing things that aren’t core to our business. We’re a real estate tech company, not an infrastructure company.” - Mike Abner, CTO of HomeLight

Similarly, HomeLight wanted to avoid a repeat of Heroku, so moving to another hosted PaaS without owning the underlying infrastructure wasn’t a viable option.

Switching to Porter

After extensive research, numerous demos, and multiple calls evaluating potential options, Mike landed on Porter as the ideal solution. Using Porter, HomeLight could achieve Heroku’s ease of deployment while running everything in their own AWS cloud.

“The product was slick. The communication was great. I was a ‘never Kubernetes’ person before, but I felt confident after seeing Porter that Kubernetes would be an implementation detail and we wouldn’t have to care about it. Porter was a great fit.” -Mike Abner, CTO of HomeLight

While Porter supported deploying applications with or without a Dockerfile, Mike also used the migration off Heroku as on opportunity to Dockerize HomeLight’s applications and clean up their CI/CD workflows. Instead of using the Porter GitHub App to automatically manage CI/CD, HomeLight opted to integrate Porter with their existing CircleCI workflows. Reflecting on the process after the fact, Mike expressed immense satisfaction with the ease of getting everything deployed.

“I decided to move to Docker deploys for all our apps as we moved from Heroku to Porter. After Dockerizing it was very smooth to set everything up.” - Mike Abner, CTO of HomeLight

HomeLight used Porter to quickly spin up two isolated sets of infrastructure for staging and production environments. Unlike Heroku, Porter also provides first-class support for cronjobs and manually-triggered tasks, so HomeLight was able to easily configure data processing and scheduled workloads alongside their core application services.

In addition, using Porter’s built-in metrics dashboard, the HomeLight team analyzed the CPU and RAM usage of their applications to rightsize app resources after migrating. Now, instead of having to request large buckets of CPU and RAM that remain underutilized, each service can request the exact resources it needs.

With Porter, HomeLight’s engineering team has been able to preserve a world-class developer experience while reaping the performance and flexibility benefits of hosting in their own AWS.

Next Up

Govly moves from GCP to AWS in a day using Porter
Shankar Radhakrishnan
5 min read
How Memberstack uses Porter to serve 30 million requests
Justin Rhee
3 min read
How Getaround uses Porter to manage Kubernetes clusters serving traffic across 8 countries
Shankar Radhakrishnan
4 min read
How Writesonic runs a 1.6TB Kubernetes cluster with no DevOps engineers
Justin Rhee
2 min read
Why Landing chose Porter to scale their servers
Shankar Radhakrishnan
5 min read
How HomeLight powers billions of dollars of real estate business on Porter
Justin Rhee
3 min read
How Dashdive uses Porter to handle a billion requests per day
Shankar Radhakrishnan
5 min read
Why Carry uses Porter instead of hiring a full-time DevOps engineer
Shankar Radhakrishnan
4 min read
Why Woflow moved from ECS to Porter
Trevor Shim
6 min read
How Onclusive uses Porter to consolidate their tech following five mergers
Shankar Radhakrishnan
3 min read
How Avenue scaled after YC without hiring DevOps
Justin Rhee
3 min read
How Nooks uses Porter to achieve a median latency of 250ms for their AI parallel dialer
Shankar Radhakrishnan
11 min read
Subscribe to our weekly newsletter
Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.