How BeerMenus Elevated its Craft with a Seamless Move to Render
November 03, 2022

How BeerMenus Elevated its Craft with a Seamless Move to Render

Rosalind Benoit
It's so helpful that Render gives us the ability to easily spin up fully isolated versions of our entire environment, including a database, in a reasonable, cost-effective way.

About BeerMenus

BeerMenus helps beer-lovers in the U.S. and abroad find local bars, restaurants, and bottle shops serving the beverages and foods they enjoy or are looking to try. For business owners, BeerMenus provides a single place to automate their menu in all the places they need to display it, including websites and social media. With this information, app users decide where to go based on what nearby businesses carry. BeerMenus also emphasizes optimizing the on-premises experience by supporting print menus, QR code menus, and TV menus. Establishments input what they sell, and Beermenus helps them present it everywhere. Founder Eric Stephens points to businesses with an ever-changing selection of craft beer as the core focus of BeerMenus. With a constantly changing selection, it’s hard to keep menus up to date, especially informative menus with description, style, and alcohol-by-volume details for each product. BeerMenus maintains extensive databases of product information so that when customers add new items to menus, the app automatically includes rich details that help patrons decide what to order. Tech Stack: Ruby on Rails, PostgreSQL, Redis, Memcached

The Problem

BeerMenus ran its infrastructure on Heroku for over 10 years. The founders were drawn to Heroku from the beginning because it minimized the need to invest in DevOps. This worked well for quite a while, but in the last several years, BeerMenus had more and more issues arise with Heroku.

Reliability Issues

For the last couple of years, the availability and stability of BeerMenus' application went from something they didn't think about at all, to something that platform errors forced them to focus on more and more. Instability and issues that blocked deploys became more frequent, exacerbated by poor communication from Heroku. Ultimately, Eric's team set up a check of Heroku's status page as a gate for deployments, a sign of their diminished trust.

Support and Product Challenges

Eric' and his team's experience with Heroku Support was painful at times. In one instance, the platform forced changes to SSL configuration, a risk-laden process Eric likens to "diffusing a bomb." Specific questions for Support on the best options for making the changes without downtime led to a frustrating and circular path towards getting definitive answers. Several times, interactions with Heroku Support also culminated in attempts to convince BeerMenus to sign an annual Enterprise Support contract, an investment Eric worried might end up a liability. Meanwhile, when difficulties arose, Eric would submit tickets, but found that errors most often stemmed from platform issues, requiring him to simply wait and hope Heroku would fix them.

The Solution

Switching from Heroku to Render has inspired confidence, and provided additional flexibility, making accomplishing the team's goals easier. Eric reports that running BeerMenus on Render has resulted in comparable, if not better, uptime. Monthly hosting costs have decreased 35% despite increased capacity.

Friction-free Migration

In late 2021, reasons for BeerMenus to search for an alternative to Heroku continued to mount. When a lack of communication about environment changes led to broken deploys, distracting the BeerMenus team from important work on customer-facing features, Eric decided enough was enough. After hearing good things about Render from other founders, he experimented with the platform. By January 2022, it was time to migrate. A stellar migration experience gave Eric and the team high confidence in their choice.
One of the things that blew my mind about the migration was that we were able to cut over with about 15 minutes of downtime at our lowest-traffic time. Render Support helped us set up a live database sync, which removed a tremendous amount of risk. For a site that’s been around a long time, with a non-trivial database, that gave us a huge amount of confidence, and it went smoothly, which is pretty amazing.

Stellar Support and Product

Interactions with Render Support made BeerMenus' positive experience with migration to Render even more reassuring. Working with thoughtful, competent, capable engineers when questions arise has been, "incredibly helpful and incredibly appealing," and Eric feels confident that he can "get through to someone who can help me resolve my problem faster." When something came up, he was able to quickly get in touch with someone who talked him through a manual solution. Then within an hour or two, Render had deployed a fix. BeerMenus also used Heroku's Review Apps extensively, and their implementation used a shared database across all review servers. This was messy; for example, when various branches contained different schema migrations, contention arose. This made the transition to Render Preview Environments particularly refreshing. "It's really helpful that Render gives us the ability to easily spin up fully isolated versions of our entire environment, including a database, in a reasonable, cost-effective way."

Growing Together

I was excited to invest in a platform that was being invested in, based on the rate of improvement and the things Render is working on.

Software Craftsmanship through Collaboration

For Eric, participating in an active and continuous feedback loop with Render has been another highlight of BeerMenus' Render adoption. He values Render’s flexibility, such as the ability to skip deployment for certain commits even with auto-deploys turned on. But when he sees opportunities for Render to become even more flexible, or to save BeerMenus more time and money, he shares his feedback and often sees it incorporated into the platform at an impressive pace. He enjoys working with a company able to take his input and use it to grow useful products. For example, after migration, Eric noticed that his deployment speeds were not always improved compared to their previous runtimes on Heroku. BeerMenus makes heavy use of Render Cron Jobs, and enjoys the additional flexibility offered by their use of native cron syntax to schedule jobs at virtually any time and frequency. But Eric has noticed opportunities to decrease deployment times based on the way his project is configured, and discussed them with the Render team. The recent release of Monorepo Support allows for one potential solution, and our team continues to improve overall build performance to minimize the time customers spend waiting for changes to go live. Longer term, Render’s upcoming development of Pipelines Support includes Service Grouping and other features planned for Q4 2022 that will provide even more efficiency in cases like Eric's. Building together with mutual investment is a core value at BeerMenus. As Eric's team puts it, "When you brew, you're building something. You're taking something intangible, and turning it into something tangible, something to be enjoyed. You're committing to a product and continually tinkering with it to make it the best it can be. In a word, it's craftsmanship." This appreciation of craftsmanship makes Render a great match for BeerMenus. We continuously craft the Render platform according to what our customers need and want, so that as they continue to redefine what’s possible, Render delivers it.

Enabling Founders with Free

BeerMenus’ automation makes it easier for establishments to delight guests with rotational craft beer programs, which in turn helps brewers and other makers. It's a win/win, and reflects a philosophy that has made Render and BeerMenus a great fit. Render's commitment to offering Free Instance Types enables the founder community with high-quality, low-stakes startup tools. Similarly, BeerMenus prioritizes giving back to its community in a way that allows business owners to start ahead and scale efficiently. As Eric explains, "Our vision of BeerMenus was always inclusive. We wanted to enhance the craft beer community, and that very clearly meant we would not be pay-to-play. All businesses who sell beer will always have access to a free basic page on BeerMenus." Render echoes these sentiments with always-free Static Sites and a start-free-and-scale attitude towards supporting entrepreneurs. Get started today to see for yourself. Cheers!