Eden Workplace outgrew Heroku and cut costs around 50% on Convox

The setup before

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.

What pushed the change

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.

Choosing a Heroku alternative

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.

The migration

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.

Life after

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.

An honest note

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.

Don't just take our word for it.

“Convox made it possible for us to distribute dev-ops responsibilities from one individual to the entire team. Their platform makes it super simple for our developers to fully manage their applications in production without the operational overhead of managing Kubernetes.”

Jim Myers — Flipside Crypto

“The Convox advantage is that operations work is reduced to an absolute minimum. We used to have an extra consultant just to keep our servers safe, taking care of updates, logs and backups, whereas now our developers manage the entire infrastructure by themselves.”

Cesare Navarotto — Monrif

“Convox helped us migrate everything to AWS quicker than I ever thought was possible. Unlocking all the advantages of the cloud through Convox is easily one of the best decisions we made.”

Ryan Jackson — Paid Labs