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.