Though the high tech sector has made strides in building a diverse workforce, African Americans, Hispanics, and women remain underrepresented.* In response to this issue, a nonprofit organization in Bellevue, Washington, is inviting more young people to learn programming skills. Founded in 2009, SRND (formerly StudentRND) is a nonprofit organization dedicated to increasing the participation of diverse and underrepresented groups in Computer Science (CS) studies. They create fun experiences that get primarily high schoolers as well as college undergrads excited about coding.
Their nationwide, networked CodeDay app- and game-building event and other programs have empowered over 25,000 new programmers in nearly 50 cities across the U.S. and Canada. One of its more popular activities is CodeCup, a cybersecurity challenge designed to get high school and college students excited about CS.
“It's live, all at the same time, and we have several thousand students across North America who participate,” says Tyler Menezes, SRND executive director. The students might be anywhere from Boca Raton to Minneapolis or Boston to San Francisco. “We were using open-source software, which was really made for a few dozen people connecting to it. And we were trying to connect several thousand people to it simultaneously.”
When their live stream crashed only minutes into their CodeCup event in November 2018, SRND knew they needed a new solution for hosting thousands of students in multiple locations simultaneously.
To solve their scaling problem, SRND could either develop something in-house or find a more powerful platform. No matter what, they needed a comprehensive solution that could instantly scale up for one hour a few times a year during their CodeDay and CodeCup events, and then scale back down. “One season when we did a CodeDay, there were so many people who wanted to participate that basically the entire server just rolled up and died,” Menezes explains.
“Being able to switch to Google Cloud and say, ‘We need the largest instance possible for this workload for a few hours a year’ was the best solution for us.”Tyler Menezes, Executive Director, SRND
Powering code days for all
One of SRND’s mentors in the San Francisco Bay Area was Travis Heppe, a Google Cloud engineer. “Travis from Google Cloud suggested that we move over there—that Google had some [computing resources] that would support us better,” Menezes recalls. Google Compute Engine offers predefined virtual machine configurations for a variety of computing needs, from micro instances to instances with up to 160 vCPUs and 3.75 TB of memory or the option to create Custom Machine Types optimized for your specific needs. The move to Compute Engine changed everything.
“We were able to use some larger instances for the three hours a year that we need to run [CodeCup events],” he says, “to support all these students without having to re-engineer the entire application.”
Given that their team mainly consisted of a few part-time interns and volunteers, it was important that their solution be easy to learn and set up quickly. “It took us a few hours maybe, at most, to move everything over,” Menezes adds. “It was a relatively simple platform to use. Google has created one of the simplest user interfaces that we’ve seen. A lot of the other hosting providers have a tendency to [use] thousands of buttons and lots of obscure terminology. Google has done a really great job of putting everything where you would expect it to be and making it all very easy to use.”
“We really need something that's intuitive to use and Google [Cloud] is definitely a great solution for that,” he continues. “It’s very easy to use, and very easy to move over if you've done anything in the cloud before.”
SRND used Cloud Storage to store and access data for their CodeCup Capture the Flag (CTF) cybersecurity challenge, which invites students to find vulnerabilities in the code that could be exploited by hackers. They used Compute Engine virtual machines (VMs) to run the large workloads and handle the highly variable traffic flow as to provide students from 40 sites throughout the country competed against each other in real time.
In addition, Cloud Storage integrates with Cloud CDN, the content delivery network (CDN) that SRND was already using to host their various websites, “so that we can get everything moving really, really quickly—our website loads in tens of milliseconds now instead of tens of seconds, which is amazing,” Menezes says.
They also use Google Kubernetes Engine, a platform for running and managing containerized applications across a cluster of machines, for their self-deployed chat application. Kubernetes offers the customization and moderation tools SRND needs to provide private, moderated chat—which is important for event coordinators “working with several tens of thousands of high school students” to ensure everyone stays on task.
“A few times a year we spin up the VM on Google Cloud, we resize it to the largest instance that we can, and everything just works for the time that we need it.”Tyler Menezes, Executive Director, SRND
Saving time and effort
Everything worked together smoothly during the organization’s first event using Google Cloud tools and resources in 2019. “We just put it on the biggest instance that Google Cloud had for an hour and it worked totally fine,” Menezes says. “It saved us probably several months’ effort trying to build something from scratch. For a relatively small nonprofit staff, that was a really big win.”
SRND can now offer exciting new learning opportunities to support thousands of aspiring programmers, who might not otherwise have the chance to learn coding. With Google Cloud, they are now able to spin up larger instances (that is, to scale up server capacity as needed during peak user hours) to successfully run their national code challenges, which attract some 35,000 participants each year. “Our goal is to get those students in the door and show them how fun and exciting and wonderful the computing industry is,” Menezes says. “If you can get newer computer programmers—people who are in high school—to successfully create things on Google Cloud, I don't know who wouldn't be able to, really.”
Menezes looks forward to inviting more students to learn about programming at SRND’s events, helping hundreds of schools and districts support more students in computer science studies. “A few times a year we spin up the VM on Google Cloud, we resize it to the largest instance that we can, and everything just works for the time that we need it,” Menezes says. “It's perfect for us.”
*Source: U.S. Equal Employment Opportunity Commission, Diversity in High Tech. Collected online July 20, 2019