Eden Workplace, founded in 2015, built workplace management software: HR management, help desk ticketing, visitor invites, and employee package notifications, with performance review and employee engagement products then in the pipeline. The engineering team was small and had no dedicated DevOps engineer, so Eden's CTO, who also led product and engineering, handled all DevOps work himself. The platform, a memory-hungry Rails application, ran on Heroku for about four years. Deployment was a shell script wrapped around the Heroku deploy process, difficult to maintain and run from developer machines.
Three problems compounded as Eden grew. Builds were slow and resource intensive: compiling the application's large volume of JavaScript assets demanded more memory, and on Heroku, raising memory limits was not as simple as paying for an incremental allowance. The shell script deployment model offered no support for flexible build configurations. And Heroku pricing was high enough to be a problem in its own right. A recently completed SOC 2 audit added more pressure: it surfaced security gaps Eden could not close on Heroku: the team had struggled to harness AWS capabilities like the web application firewall, intrusion detection and prevention, and VPC there.
With one person covering DevOps, Eden's first requirement for a Heroku alternative was ease of management and maintenance close to Heroku's own. The second was more flexibility than Heroku offered, without compromising security. Competing platforms demanded significant ramp-up time before a team could even get started. Convox was built to be similar to Heroku, which promised a gentle learning curve, relatively easy configuration, and a smooth migration process. A small team changing the platform underneath a live product read that as lower risk and faster time to value, and judged Convox the right fit for its requirements.
Eden implemented the data migration over a few weekends. Soon into the process, the team was running both its application and its documentation on Convox, self-service with minimal hand-holding. Database instances were easy to configure in the Convox YAML. The one hiccup was minor: configuring Redis in that same YAML for the background jobs queue. Eden leaned on the Convox team when it hit snags and for guidance on best practices. The data migration itself went quickly, and the team implemented data and DNS updates at the same time.
Infrastructure costs came down by around 50% compared with Heroku. The team implemented autoscaling, letting the platform add app servers under load instead of running a fixed instance count. Eden achieved SOC 2 compliance, which it had not done while on Heroku. Convox's secure-by-default options helped, as did direct access to the AWS security features the team had struggled to reach before: the web application firewall, intrusion detection and prevention, and VPC. Builds improved as well. GitHub and CircleCI integrated with Convox to build Docker images, replacing the hard-to-maintain shell scripts and developer machines that used to carry deployments. Developers focused on development again, and Eden kept better centralized control over its planning process.
The migration was not effortless. The data migration took work across a few weekends, and the team hit a minor Redis configuration issue along the way, leaning on Convox support along the way. The results also date from the period of the migration: the cost reduction of around 50% reflected Eden's specific workload at the time, not a universal number. Any team weighing Heroku pricing against a PaaS running in its own cloud account should model its own workload rather than borrow Eden's figure. The durable point was structural: a growing team with one DevOps owner needed build flexibility and cost control, and Heroku at that point was providing neither.