NVIDIA 初创加速计划,免费加速您的创业启动 了解详情
写点什么

英孚教育全面上云与 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:061189
用户头像
Cherry倩芸 InfoQ高级策划编辑

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

关注

评论

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

云电脑知识科普

青椒云云电脑

云电脑

btc链上的铭文到底是什么、有什么样的玩法?

西安链酷科技

铭文币

颜水成挂帅,昆仑万维2050全球研究院联合NUS、NTU发布Vitron,奠定通用视觉多模态大模型终极形态

新消费日报

云电脑知识科普

青椒云云电脑

云电脑

关于数据动态脱敏,业务部与安全部终于不用battle了!

极盾科技

数据安全

dapp技术开发:探索数字金融的新篇章

西安链酷科技

DAPP系统开发 dapp去中心化系统开发

前端之Web Components 的潜力与挑战

高端章鱼哥

前端 Web Components

7个开源的 Spring Boot 前后端分离低代码开发框架

这我可不懂

Spring Boot 前端 低代码 前端框架

三十分钟入门基础Go(Java小子版)

京东科技开发者

上海 西安 深圳 各地区块链软件技术开发现状

西安链酷科技

区块链软件开发

揭秘DApp与DeFi开发:智能合约引领金融革命

西安链酷科技

dapp开发 链游开发dapp开发

苹果开源高效语言模型 OpenELM;全球首个 AI 基因编辑器开源丨RTE 开发者日报 Vol.192

声网

C++ 构造函数实战指南:默认构造、带参数构造、拷贝构造与移动构造

快乐非自愿限量之名

Java c++ 函数 开发语言

服务于金融新核心系统 XSKY星辰天合与中电金信完成产品兼容认证

XSKY星辰天合

XSKY 星辰天合 金融新核心

深度解析阿里巴巴1688商品详情API返回值:商品信息一手掌握

技术冰糖葫芦

万物生长,数智融合,又拍云荣登「2024杭州准独角兽企业榜单」

Geek_2d6073

去中心化应用软件开发:数据中心的未来与影响

西安链酷科技

dapp开发

AIGC硬件成本太高?试试云电脑

青椒云云电脑

云电脑 AIGC

软件测试学习笔记丨业务架构分析工具 plantuml

测试人

软件测试

DDD领域驱动设计总结和C#代码示例

EquatorCoco

C# 软件开发 DDD

安全测试之探索windows游戏扫雷

京东科技开发者

dapp开发、defi开发:智能金融的未来之旅

西安链酷科技

dapp开发

DApp技术深度开发:构建未来金融生态的新基石

西安链酷科技

dapp合约开发

Sentinel如何持久化数据到Nacos?

王磊

Java

马蹄链项目开发、dapp智能合约软件系统开发

西安链酷科技

DAPP系统开发

易点天下入选虎嗅智库大鲸榜AIGC数字营销技术商TOP15

新消费日报

卫星地面站监测系统仿真

DevOps和数字孪生

卫星 协同仿真

期权秒合约、永续合约区块链交易所开发

西安链酷科技

区块链交易所开发

DAPP智能合约质押借贷挖矿理财系统开发案例:系统成品模板与功能详解

西安链酷科技

dapp合约开发

这10款VS Code神仙插件,嵌入式程序员必备

不在线第一只蜗牛

京东广告研发——效率为王:广告统一检索平台实践

京东科技开发者

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