Ethos Solutions and Heroku: Building the Internet of GRILLED Things

At Heroku, we love telling the stories of what our customers and partners build on the platform. We love it even more when we get a chance to talk to the development team behind a successful app. So we were excited to sit down with Steve Simpson, CTO of Ethos Solutions—a Heroku partner—to discuss how his team built the award-winning app and intelligence behind the Lynx SmartGrill.

Congratulations on your success working with Lynx on the SmartGrill project! Can you tell me a little about the SmartGrill app and how it helps its users?

The SmartGrill app is a native iOS and Android application that allows users to browse and cook recipes created specifically for their SmartGrill by professional Lynx chefs, participate in the community of Smart Grillers, plan out a meal, and control almost all aspects of the cooking process in real time, right from their mobile device.

How did Lynx and Ethos come to choose Heroku for the solution?

With Lynx being a primarily Windows/.NET based company, Microsoft Azure was the first choice when it came to choosing a cloud solution for providing an infrastructure hub between the SmartGrill app and grill. With time, it became apparent that Azure was not ready to meet the unique challenges posed by the SmartGrill project -- most importantly, the critical need for high availability, flexibility in scaling, as well as a low barrier to entry in introducing new features through add-ons and developer-friendly command line tools. After reviewing all the options, Heroku was the cloud services provider that met all of these requirements and even went beyond by offering solutions for challenges that we had not anticipated yet, such as easy deployment rollbacks and zero-downtime deployments.

Lynx mentioned some flexibility features that other providers were not able to provide. What were some of the technical challenges to making this app a success?

The two key needs while developing the SmartGrill app were the ability to quickly scale to meet demand and provide agility for developers when developing and deploying new features. In addition, a high level of availability and reliability was required as any system downtime would greatly degrade the grilling experience.

How was Heroku able to solve the technical challenges?

Heroku was able to solve the technical challenges by providing a platform that can be rapidly scaled up or down as grilling activity changes. The busiest grilling times tend to be summer evening hours, so being able to handle the peak demand during these times while scaling back to reduce costs during off-hours with no down-time in between was key to the success of the project. The wealth of add-ons that Heroku provides ensured that many needs of the development team were already met with an existing add-on (for example, RabbitMQ servers for communication between the app and the grill, log monitoring, SQL backups, and so on). Advanced (yet easy-to-use) built-in features such as application forking and deployment rollbacks ensured that the development team could maintain a rapid pace of development and respond quickly to any issues that surfaced in the production environment.

Can you share any of the details about how Heroku improves responsiveness and performance for the SmartGrill app?

Heroku dynos and associated Postgres databases maintained a consistently higher level of performance compared to the comparable pricing tier on the previous cloud platform the infrastructure was built upon. In addition, Heroku makes horizontal scaling as easy as dragging a slider in a web Dashboard, which ensures that the operations team can easily scale resources as appropriate to meet increased demand.

Anything else you want to tell us about the SmartGrill project?

Through Heroku the development team was able to build and deploy the key parts of the SmartGrill application architecture in less than four weeks while maintaining costs at an acceptable level. Through the inherent scalability of the platform, the SmartGrill app is able to handle a large number of users at peak hours while ensuring that maintaining the application in the long-term is affordable.

** For more information on the Ethos and Lynx SmartGrill story, check out the Salesforce blog post.

Browse the blog archives, subscribe to the full-text feed, or visit the engineering blog.