Flexibility is key for any startup trying to get off the ground and gain traction. But flexibility isn’t just about dealing with immediate problems, it’s also about being able to prep for the long term, to grow steadily even as the company’s focus, products, and needs evolve. And over the last five years, Heroku’s data services have continued to meet the changing needs of ClickFunnels, allowing the company to push itself faster and further.
Founded in 2014, ClickFunnels helps entrepreneurs both big and small to grow their company by easily creating marketing and sales funnels. The founders knew first hand just how difficult and time-consuming it can be for businesses to set up successful funnels, so they developed a service that would allow anyone to do it themselves. Without having to know how to code or design, customers can use the platform to build websites, shopping carts, and email campaigns that create sales and marketing funnels tailored to their business. And because they’re not relying on third-party platforms like Amazon or Facebook to do this for them, the leads, relationships, and sales they build are theirs alone.
On Heroku since the very beginning
ClickFunnels has been using Heroku as its core app infrastructure since day one, thanks in part to one of the co-founders’ familiarity with the platform from his time as a Rails developer. The company needed a solution that was both easy to use and reliable, but also versatile enough to allow their small team to change direction at a moment’s notice.
“For a bootstrapped startup, I can't imagine another platform where we would have been able to get as far as we did, as fast, and with such a lean team.” Ryan Montgomery, CTO, ClickFunnels
Five years later, Heroku is still at the core of the ClickFunnels tech stack. While the company is running one monolithic app, it also uses Heroku’s managed data services like Heroku Redis and Apache Kafka on Heroku. Initially, the engineering team turned to these services because of their ease of use and reliability. But as the business has grown, Heroku has enabled the ClickFunnels platform to scale seamlessly and handle millions of messages per second. The team uses the two services in conjunction with one another to deal with streaming requests for analytical purposes. Redis handles the backend queue, with Kafka acting as a proxy and buffer to keep performance up, ensuring that the app can easily deal with traffic spikes and prevent data loss, making for a better experience for ClickFunnels’ customers.
Heroku’s flexibility allowed ClickFunnels to integrate whichever third-party services work best for its application and business. As the customer base grows, users create an exponential number of funnels which results in a massive amount of data flowing through the ClickFunnels platform. The team took a hybrid approach to their data architecture, integrating Heroku data services seamlessly with Amazon Aurora as its relational database. Knowing that they can use Heroku with other products gives the engineers one less thing to worry about as they experiment and add new features to their service.
Growing and trying new things with Heroku
Going forward, ClickFunnels continues to explore opportunities for evolving its platform on Heroku. The engineering team is planning to make use of Heroku Private Spaces to complete a long-term goal of transitioning to a new application architecture. Private Spaces offer a network-isolated, dedicated runtime environment in a range of global locations for enhanced privacy, power, and performance. The team intends to break up their monolithic app into multiple, region-specific apps, routing customers to self-contained environments that are better suited towards their specific needs. Not only will this create a better user experience, but it will also spread traffic out across the apps and lighten the data load per app.
Overall, ClickFunnels has come a long way since it launched. At first, Heroku allowed the small team to function like a bigger organization with more resources, building their platform faster than they would have been able to do otherwise. Post-launch, Heroku gives the ClickFunnels team peace of mind to not worry about day-to-day app operations, but to instead focus on experimenting with new ideas and pushing their platform and business forward.
“We've been able to scale a single, basic Rails app to billions of requests a month. For what you get out of the box, Heroku has got to be one of the simpler deployment processes I've ever worked with.” Ryan Montgomery, CTO, ClickFunnels
Inside ClickFunnels on Heroku
ClickFunnels runs a monolithic Rails app and several smaller apps on Heroku. The team utilizes data services Heroku Redis and Apache Kafka on Heroku, along with AWS Aurora as part of a hybrid data architecture. The company is on the Heroku Enterprise plan and makes use of Heroku Private Spaces. It also uses a number of add-ons, including Transloadit, Bonsai Elasticsearch, Sendgrid, and Statuspage.