Code.org’s Hour of Code Gains Innovation, Creativity, and Security by Using AWS

Code resize

The mission of Code.org is to expand access to computer science education in schools and increase participation by female and underrepresented minority students. Its vision is to give every student in every school the chance to learn computer science. In addition to providing curriculum and professional development for teachers, Code.org launched the Hour of Code, a global awareness campaign that happens during Computer Science Education Week each December, when teachers and students worldwide participate in coding activities. The goal is to demystify coding and show that anyone can learn computer science. “We hope the Hour of Code serves as an entry point for students to get excited about learning and for teachers to get excited about teaching computer science,” says Anthony Suarez, chief technology officer for Code.org.

“AWS Support and Infrastructure Event Management quickly mobilize to understand our architecture and make their technical resources available.”

—Anthony Suarez, CTO, Code.org

  • About Code.org
  • Benefits of AWS
  • AWS Services Used
  • About Code.org
  • Code.org is a nonprofit dedicated to expanding access to computer science in schools and increasing participation by women and underrepresented minorities. Its annual Hour of Code event aims to engage students in coding and computer science.

     

  • Benefits of AWS
    • Accommodates millions of students and teachers in a weeklong event
    • Enables problem-free student participation
    • Keeps malicious actors from disrupting event
    • Empowers event teams to innovate
    • Allows students to save and share projects with scalable storage
  • AWS Services Used

Reaching a Global Audience

The Hour of Code website must seamlessly scale to accommodate millions of teachers and students who access the site from classrooms in more than 180 countries. In 2018, more than 220,000 events were registered to participate in an hour of coding during the week. Each year, Hour of Code supports tens of millions of hours of code and in 2018, supported 60 million sessions from November 1 to December 7. Given that scope, the site must scale to meet high demand and ensure problem-free participation. An event of this magnitude requires forethought and planning, so Code.org collaborates with Amazon Web Services (AWS) to ensure success.

“For some students, this may be the only time all year they have access to learn about coding,” says Suarez. “We rely on AWS to guide us on best practices to optimize performance.” With only a brief window to reach students, the Hour of Code website must constantly be available. Students in Code.org courses may need the website to save their projects and keep them accessible later, making reliability another key concern. Additionally, as a high-profile event, Hour of Code attracts malicious actors that try to disrupt the platform, making security another area of focus.

Tapping Expertise for Event Planning

In the months before the annual campaign, Code.org works closely with its AWS account team, which advises on the best ways to achieve the objectives for each year’s program and activities. AWS Infrastructure Event Management is a structured program offered by AWS Support that helps manage large-scale events of all kinds, including product or application launches, infrastructure migrations, and marketing events. Infrastructure Event Management provides strategic planning assistance before events and real-time support during them.

“Each year, AWS Support and Infrastructure Event Management quickly mobilize to understand our architecture and make their technical resources available,” says Suarez. Code.org’s featured Hour of Code activity can change each year. In 2018, the Hour of Code theme was creativity and the new featured activity allowed students to choreograph characters to dance using different dance moves and backgrounds to streaming music on screen for about 90 seconds. The goal was for students to save their projects, remix them, and capture 10-second snapshots of the routines that could be saved as animated gifs and shared on social media platforms or sent via text. These features meant ensuring that Hour of Code’s AWS infrastructure could adequately store the added files

The new activity required optimizing Amazon Simple Storage Service (Amazon S3) to meet additional storage and request needs, as well as scaling and tuning Amazon Relational Database Service (Amazon RDS). The Code.org team conferred with AWS Support to be certain that nothing had been overlooked. “AWS Support reviewed and validated our infrastructure designs, reminded us of best practices to follow, and helped us analyze risks to ensure we were investing our time and effort in the right areas,” says Suarez.

Two weeks before launching the 2018 Hour of Code event, the Code.org team wanted to add more background and foreground options to the activity as a way to emphasize creativity and make sure each student’s final project was personalized. These additions demanded testing so that the infrastructure could manage the increased load. It also required device-type testing because, with a global audience, students and teachers would be using devices of all kinds and ages. AWS Device Farm and AWS Support assisted with instrumentation and infrastructure testing, which helped reveal memory and performance issues that were then corrected. “We were able to add 30 different background and foreground options for students,” says Suarez. “We would not have been able to do that so effectively or quickly without the help of AWS Support.”

Defending Against Attacks

As with any high-profile event, the Hour of Code has been subject to distributed denial-of-service (DDoS) attacks. Several attacks occurred during the 2018 event but were managed seamlessly by using AWS WAF – Web Application Firewall (AWS WAF), which protects web applications from common exploits that affect availability, compromise security, or consume excessive resources. Code.org used AWS Shield Advanced, a managed DDoS protection service that safeguards applications running on AWS, to ward off more sophisticated attacks using resource- and region-specific detection. “The AWS account team was on call with us the entire week and handled attacks seamlessly. We were able to engage the AWS Shield Advanced team within minutes and draft custom firewall rules to block specific malicious activity,” says Suarez. None of the attempted attacks during the 2018 event week affected the site’s performance.

Hour of Code inspires and empowers students and teachers worldwide. It also motivates the Code.org team and strengthens their relationship with AWS. “Our team felt empowered to stretch their creativity and innovate because they knew they weren't doing it on their own,” says Suarez. “We could challenge ourselves because we knew AWS was supporting us.”


Learn More

Learn more about AWS Support.