Plant-for-the-Planet

How Plant-for-the-Planet Scaled to 35,000 Users per Second with Heroku

Plant-for-the-Planet, an influential non-profit dedicated to global forest restoration, empowers young people and organizations to restore forest ecosystems and fight for climate justice globally. Their focus on next generation solutions for climate justice has made them one of the driving charitable forces behind efforts to combat climate change from deforestation. Plant-for-the-Planet’s education programs and next-generation digital solutions are essential for fundraising, monitoring, and enhancing the quality of ecosystem restoration projects across the world. They provide their services free of charge, and are entirely funded by donations and corporate partnerships. Since 2007, their organization has funded efforts to plant over 76-million trees around the world, a number that continues to grow every day.

Initially a grass-roots effort, as they grew and matured, Plant-for-the-Planet recognized the need for specialized tools to support their expanding goals and community of allies, bridging the gap between on-the-ground efforts and broader donor engagement. Their engineering team was responsible for creating and growing these tools using available resources from fundraising efforts.

Scalability limits impact forest restoration campaigns

Plant-for-the-Planet's ambitious forest restoration vision was initially well-received, but their infrastructure quickly became a bottleneck during critical fundraising campaigns. Operating on a monolithic architecture, the organization faced severe scalability challenges that could not accommodate sudden spikes in user traffic, essential for successful fundraising events. This limitation led to frequent system overloads and downtime, severely impacting their ability to secure donations during peak periods.

The infrastructure's inability to scale dynamically meant collecting and processing large volumes of donations in real-time was cumbersome. As a result, updating crucial donor information, such as real-time donation leaderboards, became a significant challenge. This lack of transparency and real-time data compromised their operational efficiency and donor engagement, making it difficult to maintain trust and satisfaction among supporters.

Manual scaling efforts were labor-intensive and error-prone, often resulting in additional downtime and performance issues that could not be anticipated or managed effectively. The organization also relied on traditional hosting solutions that required extensive manual maintenance and did not provide the flexibility or automation needed for rapid scaling. This not only slowed response times but also diverted significant resources away from innovation towards continual system maintenance.

Furthermore, the process of deploying updates was slow and resource-intensive, involving extensive planning that tied up development resources, further detracting from their mission-focused projects. The inability to provide interactive and real-time experiences for users during high-volume campaigns further reduced their effectiveness in communicating the impact of donations, potentially decreasing donor retention.

Boosting operational efficiency

In January 2020, as a founding partner of 1t.org, Salesforce announced a goal to support and mobilize the conservation, restoration, and growth of 100 million trees by 2030. This ambitious goal led to a partnership with Plant-for-the-Planet, connecting Salesforce's charitable funding with global tree planting projects. An integral part of this collaboration was providing Plant-for-the-Planet with access to Heroku’s Platform as a Service (PaaS). Given Heroku’s capability to seamlessly manage scaling, transitioning from their previous monolithic architecture to Heroku was a strategic and straightforward decision.

As they prepared to transition from their original monolithic approach to using Heroku as their core hosting platform within their stack, a dedicated resource was provided to address any technical queries, facilitating a smooth onboarding transition. The team quickly set up an automated deployment pipeline by integrating their GitHub with Heroku, which streamlined their development processes significantly. Additionally, the setup of Dynos for scaling was simplified, minimizing the infrastructure preparation required. Adjustments were made to move away from the monolithic architecture, such as incorporating bucket storage like S3 for persistent file storage, which were implemented without significant complications using resources from the Heroku Elements Marketplace.

As Plant-for-the-Planet transitioned to Heroku, their utilization of the platform evolved. They adopted Dynos and add-ons like Papertrail, which granted immediate log access and streamlined third-party service management. A critical upgrade was the integration of direct donation processing into their platform. They developed an in-house fundraising system that seamlessly incorporated various payment providers, facilitating efficient donation acceptance and allowing for the issuance of certificates in real-time. This advancement boosted donor confidence by increasing transparency. The streamlined architecture of Heroku enabled the organization to scale rapidly during high-traffic campaigns without manual intervention. Today, Heroku’s tools are deeply integrated into their daily operations, from automated scaling during traffic spikes to seamless updates via GitHub integration.

Heroku has eliminated the need for extensive release planning that we had to do previously, saving us countless hours. Every time we push a change we can deploy it to production immediately. Sagar Aryal, Chief Technology Officer, Plant-for-the-Planet

Powering growth with reliability, efficiency, and trust

Plant-for-the-Planet has witnessed substantial operational improvements since integrating Heroku into their technology stack, including improved operations, cost efficiency, innovation resources, and partnership opportunities.

Reliability leading to results

Heroku's dynamic scalability and robust infrastructure have allowed Plant-for-the-Planet to manage significant traffic spikes seamlessly. For instance, during a prime-time TV event in Germany, the platform experienced what would have previously been crippling traffic, with around 35,000 users per second. Instead, they processed half a million euros in donations in a single day. This level of reliability has pushed uptime averages to an impressive 99%, ensuring that the platform remains operational when it matters most.

Developer efficiency

The transition to Heroku has also redefined the role of the development team. Freed from the constant demands of troubleshooting and maintaining servers, developers now focus on creating innovative features and applications, like TreeMapper and FireAlert. This shift not only enhances their job satisfaction but also accelerates the development cycle, allowing Plant-for-the-Planet to respond more swiftly to new challenges and opportunities. Importantly, this increased productivity and capability has been achieved without expanding the team size, demonstrating a substantial gain in operational efficiency.

Trust and transparency

With a robust and transparent platform, Plant-for-the-Planet has strengthened trust with its donors and corporate partners. The real-time tracking capabilities of the TreeMapper app have significantly enhanced visibility and helped increase donations. The ability to demonstrate tangible impacts through clear, accessible data has attracted more partnerships and fostered deeper engagement with the cause. This enhanced trust has led to a 300% increase in trees funded through the platform, showcasing the direct link between technological strength and fundraising success.

Heroku has significantly reduced our overhead and freed up resources, which is vital for us as a nonprofit operating on a tight budget. This shift allows us to focus more on our mission. I would recommend Heroku for its ease of use and exceptional scalability, suitable for any size business. Sagar Aryal, Chief Technology Officer, Plant-for-the-Planet

What's next for Plant-for-the-Planet?

Plant-for-the-Planet is planning to transition from their current MySQL and other database solutions to using Heroku Postgres, an advanced open-source database. This move will enable developers to build engaging, data-driven apps with the assurance of a trusted, secure, and scalable service, fully managed by Heroku's expertise to operate, secure, and validate compliance for their data stack. Additionally, they are gearing up to enhance their integration with Salesforce using Heroku Connect for bi-directional synchronization between Heroku Postgres and their Salesforce data. This integration allows seamless data synchronization, enabling them to view, search, and modify Salesforce data directly from their Heroku apps. Heroku Connect facilitates this integration effortlessly with a point-and-click UI, making it simple to set up and maintain without needing extensive coding or complex configuration.

Additionally, they are actively expanding their corporate partnership program, offering opportunities for more companies to set tree targets and engage stakeholders via the Plant-for-the-Planet Platform. This tool helps track contributions transparently, growing your company forest with every donation. For companies interested in making a significant environmental impact, consider joining Plant-for-the-Planet’s network of impactful corporate partners.