我们现在具有的控制和标准化水平,是以往在本地数据中心无法实现的。
Chad Marino 技术服务执行总监

Kaplan, Inc. 向个人、机构和企业提供一系列高等教育、考试准备、职业教育、英语培训、大学预科和中小学课程,每年为全球 120 多万名学生提供服务。75 年来,Kaplan 从最初的考试准备服务先行者,发展到早期的 在线教育 领导者,最后发展成为全球教育服务提供商。Kaplan 致力于拓展教育资源访问途经,并利用技术 以及学习科学 方面的创新来持续提升其学生和合作伙伴的学习成果,并因此而备受赞誉。Kaplan 的业务遍及 30 多个国家/地区,拥有 22000 多名专业人员,并且与 1000 多个学区、学院和大学以及 2600 多家公司和企业保持着合作伙伴关系。Kaplan 是 Graham Holdings Company 旗下最大的子公司。

今天,Kaplan 具有多个业务部门,每个部门对 IT 基础设施的需求均不相同,且使用模式不断变化。例如,Kaplan 的考试准备部 (KTP) 旨在帮助学生准备入学考试 (如 SAT、ACT、GRE、GMAT、LSAT、MCAT) 和专业执照考试。为了向 KTP 提供支持,Kaplan 在纽约市的一个 1 级 托管 数据中心 运行其开发和测试环境。飓风“桑迪” (2012 年大西洋飓风季节最致命、最具破坏性的飓风之一) 袭击纽约时,该托管中心停运约两周。

“幸运的是,我们的生产环境仍能运行,但我们总是担心会出现什么状况。”Kaplan 技术服务执行总监 Chad Marino 说道。Kaplan 的手动备份和恢复资源也位于纽约市。“我们的备份环境与生产环境位于同一个城市,这也是需要解决的一个重大问题。”Marino 解释说。

此外,随着业务规模的扩大和 IT 架构复杂性的增加,Kaplan 逐渐难以满足支付卡行业数据安全标准 (PCI DDS) 和服务组织控制 (SOC) 合规性的要求。Kaplan 需要找到一种灵活的 IT 基础设施,以便在提高整体弹性、安全性和敏捷性的同时实现业务增长。

Kaplan 在整个公司运行了 12 个不同的数据中心,并开始将其应用程序迁移到 Amazon Web Services (AWS),以便整合其基础设施。Marino 表示:“我们需要处理即将报废的硬件,而且我们的数据中心没有多余的空间了,这是促使我们采用云的其中一个原因。”

Kaplan 也被 AWS 产品的成熟度所吸引。“利用 Amazon Relational Database Service (Amazon RDS),我们的 DBA 团队用在日常维护上的时间减少了,他们可以将更多的时间投入到增强系统功能上。此外,借助 Elastic Load Balancing,我们无需购买昂贵、复杂的负载均衡器,但却可以使用我们需要的的功能。”Marino 说。

飓风“桑迪”促使 Kaplan 将 KTP 和其他共享服务 (Kaplan 高等教育部和 Kaplan 国际部的部分服务) 迁移到 AWS,迁移的总数据量多达 900GB。“我们从 2013 年 5 月开始迁移,首先将开发、质量保证和准备环境迁移到 AWS。”项目经理 Ravi Munjuluri 说,“我们在 10 月份完成了开发、质量保证和准备环境的迁移,然后开始规划生产环境的迁移。2014 年 1 月,我们开始逐个迁移生产环境中的应用程序堆栈的各个单元,尽量减少迁移对业务的影响。我们在 8 月进行了最后一次迁移,只用了一个周末的时间,从周五开始,周日早上就可以运行了。”

在迁移过程中,Kaplan 将其堆栈中约 50 个应用程序和 50 个嵌套子应用程序迁移到云中。在托管数据中心,KTP 部门使用一个存储区域网络 (SAN) 将 x86 服务器、Sun Sparc 处理器和 Solaris 操作系统连接到 6 个 Oracle Database 10g 和 Windows SQL 数据库。

Kaplan 将其应用程序堆栈迁移到 Amazon Virtual Private Cloud (Amazon VPC),并使用 Amazon Linux 系统映像和 Amazon Relational Database Service (Amazon RDS) for Oracle 将数据库托管在多个 Amazon Elastic Compute Cloud (Amazon EC2) 实例上。Marino 说:“我们的目标是将所有数据库完全迁移到 RDS,以便轻松进行管理并调整功能。”

为监控其资源,Kaplan 使用 Amazon CloudWatch,这是一项可以收集和追踪使用量指标并管理警报的服务。借助 CloudWatch,Kaplan 还可以优化其资源,比如在使用率下降时调整实例的大小。

Kaplan 团队根据 Oracle 的内置工具设计了数据迁移。“我们使用 AWS PERL 脚本来迁移数据,效果非常好。”系统架构和工程总监 Avi Hack 说。通过结合使用脚本和 AWS Elastic Beanstalk,Kaplan 可以自动执行耗时的流程并预先准备迁移环境,从而更快速、更轻松地完成整个流程。

在迁移过程中,Kaplan 决定利用多个 AWS 区域和可用区,包括美国、亚太地区和欧洲的部分区域和可用区。Kaplan 使用 Amazon Route 53 作为其 DNS 解决方案,将用户流量路由到最近的可用区, 从而 提升整体用户体验并降低延迟。“使用多个区域,我们可以将数据存储在距离客户更近的位置,从而提供更好的最终用户体验。”Marino 说。

Kaplan 的准备工作非常充分,因此大部分 AWS 迁移工作都顺利完成。在整个迁移过程中,Kaplan 还依靠 AWS Support 商业支持来确认相关事项并寻求最佳实践。“在我们遇到问题时,AWS Support 发挥了重要的作用,帮助我们解决了这些问题。”Marino 说道。

向 AWS 迁移时,共有来自开发、运营、架构和数据库团队的 250 多名人员参与了这项工作。“为了规划这种规模的迁移,必须与各个 IT 团队合作才能圆满完成,包括从开发到基础设施运营的各个团队。”Marino 说。

将 KTP 部门的数据迁移到 AWS 之后,Kaplan 卖掉了旧设备并关闭了数据中心。随着不断向 AWS 迁移,Kaplan 继续为不同部门重新构建应用程序。如今,Kaplan 已经将其设施从 12 个减少到 4 个,减少了数据中心占用的空间。

Kaplan 不仅拥有了更可靠的基础设施,降低了延迟,还可以更好地了解其应用程序和系统的成本。“现在,通过标记 AWS 中的各个实例,我们可以查看从应用程序层到与某个应用程序相关的各项资源的具体成本。因此,我们可以发现运行应用程序的隐藏成本。”Marino 说。

Kaplan 希望使用 AWS 进一步改进开发流程。Hack 说:“使用 AWS CloudFormationAWS 命令行界面 (CLI),我们可以实现新的控制和标准化水平,而这种水平是在本地数据中心无法实现的。现在,我们可以轻松地启动环境并在完成操作后将其删除。”Marino 解释说:“这样一来,我们既能利用 AWS 的优势,又能保持本地数据中心的优势,并且我们的开发人员将有时间改造应用程序,以便在 AWS 上运行。”Kaplan 团队表示,他们将继续寻找合理的时机,将系统和应用程序从传统数据中心迁移到云中。

要详细了解 AWS 如何帮助您运行业务应用程序,请访问我们的企业云计算详细信息页面