我们的应用程序在 Hour of Code 活动期间一直处于运行状态,而且……我们的网站全年都可以访问,这都得益于 Amazon CloudFront 等服务的全球可用性。
Jeremy Stone Code.org 首席技术官
  • 关于 Code.org

    Code.org 是一个非营利性组织,致力于扩大计算机科学的普及范围,提高女性和少数族裔学生的参与度。Code.org 的愿景是让每所学校的每位学生都有机会学习计算机科学。

  • 使用的 AWS 服务

  • 获得的优势

    • 实现了十倍扩展,可以向全球数百万学生提供计算机科学教育
    • 能够在 Hour of Code 活动期间提供高可用性
    • 每年可以节省 130 万美元的运营成本
    • 能够确保学生数据的安全

在当今这样一个重视技术的创新驱动型经济环境中,每个学生都应该获得学习计算机科学概念和技能的机会。而 Code.org 可以提供这种机会。这家非营利性组织致力于扩大计算机科学教育的覆盖范围,而且可以提供免费的 K–12 计算机科学课程、一个在线学习平台和教师培训。

除了运营学习平台之外,Code.org 每年都会组织 Hour of Code 活动。其运营的学习平台为在全球各地数十万个教室中的 Code.org 课程提供支持。Hour of Code 是一项全球性的庆祝和学习活动,在计算机科学教育周 (CSEdWeek) 期间举办,吸引了来自 180 多个国家/地区的 1 亿名学生。

为了在 CSEdWeek 期间在全球各地成功举办超过 10 万场 Hour of Code 活动,Code.org 需要实现大规模的可扩展性和可用性。“在可扩展性方面,我们需要为 CSEdWeek 期间网站流量增加 10 倍做好准备,而我们只有一次机会做到这一点,”Code.org 首席技术官 Jeremy Stone 说。“如果我们没有足够的计算能力来满足流量需求,活动将无法开展。此外,可靠性也同样重要,因为如果我们的网站出现故障,学生将无法进行编码。” Code.org 还必须遵守严格的数据保护控制。“作为一家拥有大量学生数据的教育科技公司,我们必须遵守非常严苛的安全要求,”Stone 说。

为了应对向数百万学生提供在线编码环境的挑战,Code.org 选择在 Amazon Web Services (AWS) 云上运行其网站、学习平台和 Hour of Code 活动。“我们选择 AWS,是因为它可以提供我们需要的可扩展性、可靠性、灵活性和安全性,”Stone 说。

Code.org 在 Amazon Elastic Compute Cloud (Amazon EC2) 实例上运行其平台并开展所有 Hour of Code 活动,并且利用 AWS Auto Scaling 根据需求自动调整计算容量。Code.org 还使用 Amazon CloudFront 作为内容分发网络来实现全球范围内的可用性,使用 Amazon Simple Storage Service (Amazon S3) 存储非结构化数据,例如上传的学生自创应用程序和其他用户内容。

Code.org 依靠 AWS CloudTrailAWS Certificate ManagerAWS Identity and Access Management (IAM) 来保护学生数据的安全。此外,Code.org 还使用 Amazon Redshift 作为数据仓库来存储和分析学生指标。“我们会跟踪学生的表现在一年或几年中的提高情况,”Stone 说。“教师负责提供学生的基本信息,而我们会跟踪女性和少数族裔学生的参与情况和进步情况,确保实现我们的公平和多样性目标。”

借助 AWS,Code.org 可以在 Hour of Code 活动期间扩展其网站,满足大量涌入并想要第一次尝试编码的学生的需求。“借助 AWS,我们可以轻松进行扩展,在 Hour of Code 期间满足来自 180 多个国家/地区的数百万学生的需求,”Stone 说。借助 AWS,Code.org 可以在使用高峰期内快速从 250 个核心扩展到 2200 个核心。“最近,我们借助 Auto Scaling 从 8 台虚拟服务器自动扩展到 150 台,这远远超出了我们的需要,”Stone 说。

Code.org 使用 AWS 为其全球各地的用户提供最佳体验。例如,它依靠 Amazon CloudFront 提供高可用性。“我们可以确保我们的应用程序在 Hour of Code 活动期间一直处于运行状态,还可以确保我们的网站全年都可以访问,这都得益于 Amazon CloudFront 等服务的全球可用性,”Stone 说。Code.org 还可以根据自己的需要使用不同类型的 Amazon EC2 实例,例如内存密集型实例或者计算密集型实例。“学生希望我们的网站加载速度快,而借助 AWS,我们可以实现快速的页面加载,从而为他们提供响应,”Stone 说。

通过在云中运行网站和开展 Hour of Code 活动,Code.org 每年可以节省 130 万美元的运营成本。“通过在云中运行,我们不需要使用我们自己的数据中心,这显然可以节省成本,”Stone 说。“更具体地说,在举办 Hour of Code 活动的一周里,我们基本上都是租用虚拟服务器,所以不需要在除了活动周之外的其他时间付费使用相应资源。如果不使用 AWS Auto Scaling 等服务,要应对流量突增 10 倍的情况,我们需要花费巨额资金。”

通过使用 AWS 服务,Code.org 可以满足严苛的安全要求。“AWS 服务中集成了强大的安全功能,所以除了我们自己的安全实践之外,我们还获得了许多内置的联网安全功能,”Stone 说。“我们使用 AWS 服务提供安全功能,包括借助 AWS Relational Database Service [RDS] 和 Key Management Service [KMS] 实现静态加密,借助 AWS Certificate Manager 实现动态加密,借助 AWS Virtual Private Cloud 提供网络安全性,以及借助 AWS CloudTrail 进行运营审计。因此,我们有信心能够保护数据并遵守所有安全要求。”

Code.org 越来越多地使用 AWS Educate 来达成自己的使命:让更多学校开设计算机科学课程,并且提高女性和少数族裔学生的参与度。Code.org 目前在使用 AWS Educate 计划,该计划旨在为学生提供各种学习资源,让他们可以通过各种内容、培训、AWS 技术和就业机会来培养云技术方面的技能。最近,AWS Educate 帮助开发了一款新的代码构建游戏,在 Hour of Code 活动期间免费提供。“我们喜欢使用 AWS,也喜欢 AWS 的创新速度,”Stone 说。“未来,我们期待以新的方式进行合作,为学生提供计算机科学方面的教育。”

了解有关适用于教育组织的 AWS 产品的更多信息。