“We are marching down the path of building the best enterprise-grade software for charity fundraising. System scalability and security are top of mind for our customers when it comes to technology.” says Chi-Chao Chang, Chief Technology Officer.
At GoFundMe, we are focused on providing the best experience for our community. Our goal is to make fundraising faster, easier, and more efficient for anyone looking to raise money for a cause they care about. Since GoFundMe acquired CrowdRise a few years ago, we’ve been focused on how we can do this for the nonprofit space, making fundraising easier for charities of all sizes. We’re constantly looking at how we can make our product, tools, and resources better to ensure we help charities successfully fundraise.
We have announced many new features and tools over the last few years and this year, one of the areas our engineering teams prioritized was scalability and improved performance of www.crowdrise.com, with some amazing results. We focused on a few key areas:
- Traffic: We overhauled our infrastructure and set up autoscaling to ensure our site can perform at top levels with extreme heavy traffic. This enables us to have the same experience for people whether it’s a few people or tens of thousands of people visiting at the same time.
- Page Load: Our goal is to be the fastest way to fundraise while providing the best tools and resources. Earlier this year we implemented an improved caching scheme in our campaign pages making pages load twice as fast.
- Security: Our community’s safety and security continues to be our top priority. Our commitment to security exceeds industry standards for customer protection. We collect only the necessary information to process the donation and such information is only shared with those who need it. We do not sell any donor information to third parties. We closely follow all of the strict standards imposed by the credit card companies including being PCI-DSS compliant (Payment Card Industry, Data Security Standard compliant). We are also EU-US Privacy Shield certified
For those interested in the engineering background, to accomplish these results, we completely overhauled several critical environments:
- Created a robust microservice infrastructure
We separated all of our services and applications to individual containers/instances, so they can be scaled individually based on demand.
- Centralized configuration management
We centralized configuration management through Ansible so they are no longer manually coded, which enabled us to set up autoscaling of our services.
- Automated environment management
We use Terraform to spin up/down our environments and keep them in sync, which allowed us to improve and streamline our development, testing and deployment process. This also gives us the ability to easily conduct load/stress tests to ensure product changes are developed with performance in mind.
- Tiered caching
- We audited our infrastructure caching scheme, and added dedicated ElasticCache for each of our services.
- Additionally, we utilized quick access memory disks within each of our containers/instances where applicable.
- We also implemented full page caching on our campaign pages.
- Updated alerts & monitoring
We audited and refreshed our comprehensive monitoring and alerting system so system failures can be caught in real time.
These are just a few of the projects we are working on to create the best experience for charities of all sizes. We are here to make our community succeed and raise funds for causes they care about. We are always looking at ways to improve and will continue to invest in the best technology, people and tools to provide the very best fundraising solutions.