亮网络解锁器,解锁网络数据的无限可能 了解详情
写点什么

英孚教育全面上云与 Serverless 构建之路

  • 2018-04-25
  • 本文字数:3152 字

    阅读完需:约 10 分钟

从传统的纸质时代,到个人电脑及互联网桌面时代,再到如今的移动终端时代,教育与教学的触达模式在改变,由大数据、人工智能所支撑的平台技术及教育体验也在革新。

从 2016 年 8 月伊始,英孚教育就开始了全面向云上迁移的战略布局。其上云之路总体可分为四大阶段:

  • 第一阶段:截至 2017 年 3 月,将 70% 的数据中心(波士顿自建数据中心)工作负荷迁移至 AWS 新加坡区域进行云端处理;

  • 第二阶段:截至 2017 年 6 月,原波士顿数据中心全部工作负载全面上云;

  • 第三阶段:截至 2017 年 8 月,完成 MPLS 网络搭建,实现跨区域云服务网络互连,确保核心业务应用数据能顺利实现异地灾备;

  • 第四阶段:截至 2017 年 10 月,中国(上海)数据中心全部工作负荷全部迁移至 AWS 北京云服务。

在英孚教育的云迁移之路中,许多值得借鉴的架构设计经验和部署战略的发展理念可以作为典型案例用来分析。因而,InfoQ 也借此机会对英孚青少儿 CTO Andrew Tsui 进行了专访,与他探讨应用、数据迁移上云以及在 Serverless 架构实践中的相关思考。

全面云化带来的改变

大批跨国企业在走向本土化之初,往往将服务和数据部署在本地。但随着用户增长和用户数据量的几何级膨胀,以及企业对资源整合、个性解决方案的需求,云部署逐渐显露出在产品灵活性、数据安全、AI 等工具的应用和长期成本方面的优势。

全面上云之前,英孚教育并没有将 100% 的业务都在 AWS 云上对应用进行开发测试构建部署。

Andrew Tsui 解释说,“英孚的第一步是将所有新的应用系统放在云上开发,而原本在数据中心完成的开发维持不变。基于三到六个月左右实践,完成团队在云端开发的所必须积累的经验和技术之后才开始逐步制定 Migration Panel。”

此后,英孚教育也是分阶段式地完成对国外和国内数据中心的迁移。2016 年,其开始着手将自建数据中心中部署的客户关系管理系统、学校运营与管理系统、商业智能平台、媒体应用、销售管理及数字化内容管理等核心业务应用逐步迁移至 AWS 云平台之上。

英孚教育迁移上云路线图

而无论是对于已存在的需要上云的业务,还是新的应用系统,都要从硬件支撑改造、API 重构、模块化或标准化改造等维度对整个业务系统进行云化分析。此外,为了实现对异构存储设备的管理,存储虚拟化和分布式改造也至关重要。

在将应用迁移到公有云时,多数IT 组织会选择“直接迁移”(Lift-and-shift)方式,或对应用进行重构。前者主要选取内部应用复制到云中,并不对架构或设计进行修改;后者则设计到修改源代码、重写API 接口、解耦或耦合数据等。

Andrew Tsui 认为,如果企业从技术层面只做到了 Lift-and-shift,则意味着没有充分应用好云的功能和特性。他举例说,“现在的云服务已经有许多不同的数据库功能,集成了大数据、AI 等解决方案,你可以很快地利用这些功能予以创新开发。又比如 Serverless 架构的演进,让你不再需要考虑基础设施、配置或管理服务器就可以运行代码”。而这些,都可能需要 IT 组织对原有软件架构乃至底层架构做许多颠覆式的变革。

英孚教育基于AWS 云平台的系统架构示意图

英孚教育基于AWS 云平台的系统架构如上图所示,迁移上云之前,其更多是采用传统的技术构建应用,现在则可以直接使用Amazon DynamoDB、Amazon Elastic Compute Cloud (Amazon EC2)、Amazon EC2 Container Service (Amazon ECS)、Lambda 等丰富的服务和技术特性更加快速地构建系统并提供更创新的用户体验。

站在英孚教育自身的角度,全面云化带来的不仅是计算资源的弹性扩增,从稳定性、业务创新和技术更新等多个维度来说,可以最大程度使任何规模的部署应用变得更容易。在采访中,Andrew Tsui 举例了一项他们的实践——在目前英孚做的部分大数据和机器学习项目中,其对比使用了Cloudera 和AWS 的EMR(Elastic MapReduce)。传统的大数据Cloudera 集群,计算和存储功能都在一个Note 里,例如要加多少存储就要加多少Note。而EMR 可以高度优化成与S3 中的数据一起工作,所以使用EMR 则可以将计算和存储分开,这种方式可以实现大数据架构较高的弹性,并且能节省大笔开支。

英孚教育Serverless 架构实践

随着容器技术、IoT、区块链等技术落地开花,技术上对去中心化、轻量虚拟化、细粒度计算等需求会更加多样,此外,云计算从IaaS/PaaS 等发展到BaaS/FaaS,Serverless(去服务器化)将扮演越来越重要的角色。

大则如同云、小则如同微服务。Andrew Tsui 认为,Serverless 本身就是云计算进化中的一个重要阶段,也将会是技术的未来趋势。就如数据中心会经历向虚拟化、云计算的演进一般。为什么英孚教育要做Serverless,这和Andrew Tsui 领导技术团队的理念有着重要的关系。

Andrew Tsui 在采访中提到,要想做 Leader 的话就要去创新,或许收获和付出是相等的,但你想要收获更多,就要有更多的付出。对于“创新”一词,他的目标就是推动工程师团队永远走在技术的最前沿,Serverless 架构实践就是一项证明。

在传统的应用部署过程中,往往需要经历这样一套繁复的流程:安装操作系统 -> 安装应用程序 -> 配置环境并部署代码,而且往往还需要不定时地为操作系统和应用程序打补丁和进行维护。在给系统重要软件的更新和为系统打安全补丁等等这种情况下,偶尔也会产生重启服务器或者实例的需求,尤其是当 Web 服务要运行千上万项批处理计算任务时,因此,人为的监控及运维就会非常重要。Andrew Tsui 用了一个真实场景来佐证,“那时候我跟我的团队开会,速度要很快,时间也被压缩得很紧,不然系统随时会有风险。”

而 Serverless 架构的出现会极大简化其中的部分环节,例如执行时间受限、不需重启系统,安全补丁就被简化了。对于向 Serverless 架构的演进,AWS 目前提供的服务越来越丰富,从 AWS Lambda、Amazon API Gateway 到 Amazon Kinesis 等,多达十余种。而 AWS Lambda 作为 Serverless 最早的框架,被认为是 Serverless 的里程碑。下图简要地标注了几种 Lambda 事件驱动模式。从无需维护、高可用、自动扩展、按调用付费、安全等维度来说,都是英孚教育使用 Lambda 所获得的直接优势。

Lambda 事件驱动模式

但同样,Andrew Tsui 也谈到,Serverless 的采用一定不能“冒进”,在某些特殊的业务场景下依然需要从安全性、适用性等方面进行评估。例如,遇到不运行并行计算或需易于调试的场景时,Serverless 则不一定是最佳选择,所以不同场景需要从不同的角度重审。

另外,Serverless 应用程序是高度分布式、低耦合的,这就意味着延迟将始终是一个问题。英孚教育的实践中也同样遇到了此类状况,所以 Andrew Tsui 在问题中提到,单纯使用 Serverless 的应用程序是不太现实的。

不过每个公司在不同程度的使用中会遇到各种各样的问题,没有实践和摸索,更适宜自身软件云化的工具、架构或平台是什么,谁也不知道。所以 Andrew Tsui 很鼓励团队创新和试错,从弹性、高可用性、创新性到技术支持的完整性角度来说,AWS 可以很大程度上与 Andrew Tsui 团队的需求匹配,帮助其更好的实现向最先进的技术进行探索。这也是英孚教育在数字化转型中最高层次的一个目标。

未来的技术蓝图规划

当然,随着对 AWS 工具或平台使用的频次和范围扩增,势必会在一定程度上扩大对其的“依赖性”。对于如何更好实现自身的个性化创新,Andrew Tsui 谈到,基于云平台的开发不只是选择能提供硬件虚拟化的服务商,而是选择一位更强的战略性合作伙伴。在开发难度、兼容性等方面,英孚教育会有很多评估准则,确保系统可以从一个平台平滑迁移到另一个平台并不是易事,开发人员需要在两套系统中做权衡,去做更多的亲身试验和比对。

未来,英孚教育还将利用 DynamoDB 托管的 NoSQL 数据库服务、Amazon Redshift 数据仓库构建自己的大数据平台,并借助 AWS 机器学习进行深度分析。而所有的技术创新背后,都是为了向用户提供新一代个性化英语教育体验,提升学员的学习效率。

2018-04-25 20:061194
用户头像
Cherry倩芸 InfoQ高级策划编辑

发布了 51 篇内容, 共 20.4 次阅读, 收获喜欢 34 次。

关注

评论

发布
暂无评论
发现更多内容

在小公司“混”了两年,我只认真做了五件事,如今顺利拿到天猫Offer,迈上人生的新台阶!

Java架构追梦

Java 面试 天猫Offer 成长路线图

U比生活平台

飞亚科技

Java-GC概述

架构实战营模块1学习总结

林子钧

学习 架构实战营 模块一

智慧党建平台搭建,党建系统开发

MySQL-技术专题-MVCC机制介绍

洛神灬殇

MySQL 事务隔离级别 Isolation ReadView

Java面试题全部196题合集:涵盖大厂必考的9大技术点

钟奕礼

Java 编程 程序员 架构 面试

【架构实战营】模块1作业

毛国庆

架构实战营

浅谈网络性能管理智能化方案和实践

鲸品堂

AI 技术 AIOPS

架构实战营-模块1-微信业务架构&学生管理系统方案

Lane

python实现AES/DES/RSA/MD5/SM2/SM4/3DES加密算法模板汇总

小小咸鱼ywy

Python 加密 rsa AES

线程池 图解

线程池

都1202年了,阿里五岳版的《Java开发手册》你还没拜读过?

Java架构师迁哥

爬虫知识点汇总

小小咸鱼ywy

大数据 爬虫 破解 抓包 逆向

【业务架构训练营】模块一作业

U2R2otkit

YouTube视频转MP3音频 (批量、高效、快捷)

科技猫

分享 教程 视频处理 youtube youtube转mp3

常垒资本石矛:寻找ToB投资中的「非共识」

ToB行业头条

SaaS tob

别再面向 for 循环编程了,Spring 自带的观察者模式就很香!

Java架构师迁哥

11

三年过后

架构实战营

MemVerge使得大内存应用在 Ice Lake CPU上如虎添翼

Steven Xu

redis 内存 高性能 持久化存储 kvm

【业务架构训练营】模块一作业

汪大侠

模块一:课后作业

冷酷小绵羊

MemVerge 和百奥智汇用大内存技术加速癌症和新冠病毒的研究

Steven Xu

内存 高性能 持久化存储 I/O

爽爆了!凭借阿里这份笔记,仅仅两星期就拿到了8个大厂offer!

Java架构师迁哥

Redis 学习资料

escray

redis 学习 极客时间 Redis 核心技术与实战 4月日更

架构师训练营-模块1课程作业

歲月鎏金😈

ElasticSearch架构及核心概念

五分钟学大数据

ES 4月日更

带你全面认识CMMI V2.0(五)——改进

IPD产品研发管理

项目管理 管理 软件 CMMI

Bee币蜜蜂网链是什么?

飞亚科技

1TB每日仅需6元!USnap磁盘快照服务全新上线,精确到秒级恢复

UCloud技术

快照 备份

阿里P9力荐Spring Boot学习笔记,一步一步学习Spring Boot,学到的不单单是基础

Java架构师迁哥

英孚教育全面上云与Serverless构建之路_亚马逊云科技_Cherry倩芸_InfoQ精选文章