【云栖号案例 | 教育&科研机构】百家云借助“容器+神龙”三天内实现数十倍扩容

本文涉及的产品
容器镜像服务 ACR,镜像仓库100个 不限时长
简介: 受疫情影响百家云的业务量短时间内增长了数十倍,急需扩容。上云后提供弹性计算的空间与敏捷安全的扩容能力、稳定的服务与优异性能。

云栖号案例库:【点击查看更多上云案例】
不知道怎么上云?看云栖号案例库,了解不同行业不同发展阶段的上云方案,助力你上云决策!

案例背景

疫情的肆虐,原本该回归各大校园的师生们涌入线上,突如其来的流量洪峰给在线教育行业带来了极大挑战。长期服务教育企业的百家云也不例外。作为一家致力于为教育机构提供一站式云课堂解决方案的企业,疫情期间,百家云接到来自多家教育机构搭建在线云课堂的需求。同时,原来以线下为主的教育机构,流量瞬间转到了线上。为了响应教育部门停课不停学的号召,帮助学生老师们开学,百家云全体员工缩短了假期,从大年初二开始在家办公,初七开始全员办公。

短时间内爆发式的需求,对于每一家教育企业而都是始料未及的。据百家云CEO李钢江透露,百家云的业务量短时间内增长了数十倍。如此迅速的扩容需要,还要在客户无感知的情况下完成,比交付一个新系统难度更大。不幸中的万幸是,百家云团队对敏捷架构的探索让他们在如此高并发场景上早有准备。这场战役之前,百家云已在阿里云团队的帮助下,优化自身容器集群架构与规划,通过以阿里云容器服务ACK、弹性裸金属(神龙)实例的核心方案,从容实现动态扩容与高效管控。

百家云容器化改造历程

百家云非常幸运,在这轮爆发之前完成了容器化改造。其他没有使用容器的在线教育企业,面对暴涨的用户,只能成倍堆积机器,导致部署时间拉长,业务成本剧烈升高。

百家云容器化改造历程:

  • 视频直播阶段

百家云从2017年诞生之初就是在做直播大班课产品,是行业内拥有最纯正的教育基因的云视频公司。在2018年已经实现了过亿营收,服务了超过1000多家教育企业。

  • 小班课产品推动容器化改造

业务高速增长也在促使百家云技术团队探索自身技术架构的优化。到了2019年,百家云逐步推出小班课产品,该产品的处理方式与大班课不同,需要通过音视频抓屏的方式,将课程录制下来回放。此过程中,还需要将音频与视频进行隔离。用虚拟机级别的隔离成本太高;若跑在统一虚拟机里,各个进程则会互相干扰。百家云团队于是关注到了容器这种更为轻量级的虚拟化技术。
在2019年上半年,百家云内部就开始尝试小规模对业务进行容器化改造,完成了基本流程的跑通。

  • 开始注重容器调度与管理

随着百家云容器规模的扩大,调度与管理成为了新的问题。阿里云的容器管理平台(ACK, Alibaba Cloud Container Service for Kubernetes),大大减少百家云的工作。百家的技术团队表示,容器减少了运维和测试的工作量;方便了对应用运行环境实现版本控制;且相比虚拟机有着更小计算开销,降低了IT成本。彼时基于容器的云原生大潮已然席卷,基于容器技术的云原生架构,为百家云可能出现的业务峰值做了敏捷弹性的技术储备。

随着容器规模的扩大,百家云的业务稳定性也在逐渐增长,但是疫情期间瞬间来临的洪峰,还是给百家云带来了考验。

弹性扩容升级方案

潮水袭来,百家云的问题很直接:扩容。借助阿里云“容器+神龙”,三天内实现了数十倍扩容。

疫情是全国共同的敌人。业务持续稳定增长的百家云,未曾料想到新禧之年将面临这样一场“战役”,原来容器集群的许多配置没有按大规模集群去规划,导致单个集群可容纳的节点受限,原来使用的小规格实例也限制了单个节点的容量。针对百家云的扩容问题,阿里云团队建议百家云选用大规格的弹性裸金属服务器(神龙)。根据百家云的应用负载特点,结合容器服务管控合适规格的弹性裸金属实例来优化成本、避免浪费,提升弹性供给保障。

  • 阿里云弹性裸金属服务器(神龙)服务器的规格较高,可以帮助百家云显著提升单个节点的容量

更重要的是,百家云的K8S集群对性能要求极高。神龙服务器的性能优势明显, “容器+弹性裸金属(神龙)”的解决方案非常契合百家云大流量、高并发的场景。基于容器化构建方式,可以满足业务快速发放和弹性的要求。神龙服务器完全消除了虚拟化损耗,提升了8%的计算性能,其类物理机特性,可进行二次虚拟化。

  • 神龙的性能,加上容器的弹性,形成了天作之合

数据显示,容器运行在云上神龙反而比非云物理机的性能要好10%-15%。主要是因为虚拟化开销已经offload到MOC卡上,神龙的CPU/Mem是无虚拟化开销的,而上云后运行在神龙上的每个容器都独享ENI弹性网卡,能提升13%的网络吞吐量。

  • 神龙服务器的存储带宽和计算带宽分离,能满足百家云业务场景的大量读写需求

使用神龙服务器之后,计算能力大增,但是同时也遇到了存储I/O性能瓶颈的问题。百家云通过使用阿里云的高性能NAS服务,并通过水平扩展为4个集群,解决了I/O的瓶颈。

基于以上方案,借助自身的大规模集群管理能力,在短短几天之内,阿里云团队帮助百家云团队有效升级了原有的架构方案,实现了数十倍的扩容,大幅提升了其性能与稳定性,并拥有了应对爆发性规模的能力。

业务架构升级与集群规划方案

面对突增流量压力,如何迅速动态弹性扩容以及高效管控运维成为迫切问题。针对这些问题,百家云优化后的架构如下:

  • 弹性扩容:

1.改变原来虚拟化嵌套的形式,百家云利用神龙实现了容器的高密度部署。配合容器的敏捷管理能力,起码节省了25%的成本,降低了80%的运维工作量。
2.合理规划K8S集群,优化整体架构如网络、存储方案、扩容原则,确保后续运维的稳定性并降低使用成本。

  • 运维管理:

百家云还使用了阿里云高效运维管理的工具,显著降低了运维工作量。

1.运维监控:

由于百家云业务上容器的时间非常紧迫,根本没有多少时间可以花在运维监控上。通过使用ARMS Prometheus,仅仅半小时百家云就实现了容器节点环境的监控。相比开源 Prometheus 监控,ARMS Prometheus的数据量无上限且与阿里云容器服务ACK无缝对接,让百家云在容器里高效快速定位问题,了解如何改善自己的产品。

2.异常信息告警:

阿里云容器平台的日志服务(SLS)里中小应用事件中心,详细展示了集群的状态变更和组件异常等事件,帮助百家云把节点里面日志的异常信息汇总到控制面板,及时告警。

上云价值

百家云CEO李钢江总结,阿里云带给百家云的价值主要是以下三点:

  • 提供了弹性计算的空间与敏捷安全的扩容能力

阿里云对应用镜像进行了镜像预热等手段,在扩容时可第一时间拉起容器。基于容器镜像服务ACR 安全托管大规模容器镜像资产,通过细粒度的镜像授权管控,安全快速地对应用镜像进行全生命周期管理。

  • 提供了相对稳定的服务与优异性能

基于阿里云自研的神龙软硬一体架构,弹性裸金属服务器(神龙)有着物理机的性能和虚拟机的使用体验。通过利用神龙,百家云实现更好地调度K8S集群,加上高性能NAS服务,解决了I/O瓶颈问题。

- 技术支持团队响应及时,帮助百家云优化架构

百家云之所以后来面临扩容问题,部分源于其原来业务架构规划未做好管理大规模集群的准备,阿里云帮助了百家云在短时间内优化了业务架构,优化集群的管理能力。阿里云作为全国第一、世界顶尖的云服务商,在IaaS和PaaS层能力强大;百家云在教育SaaS层的积累,可以与阿里云互补,一同以完整的在线教育方案去覆盖市场。双方正在逐步深化合作,百家云将很快上线阿里云云市场——阿里云SaaS加速器的商业平台,即“软件天猫”,后续用户可直接在云市场选购百家云的服务。

相关产品

  • 容器服务 ACK

容器服务 Kubernetes 版(简称 ACK)提供高性能可伸缩的容器应用管理能力,支持企业级容器化应用的全生命周期管理。整合阿里云虚拟化、存储、网络和安全能力,打造云端最佳容器化应用运行环境。
更多关于容器服务 ACK的介绍,参见容器服务 ACK产品详情页

  • 弹性裸金属服务器(神龙)

弹性裸金属服务器(ECS Bare Metal Instance)是一种可弹性伸缩的高性能计算服务,计算性能与传统物理机无差别,具有安全物理隔离的特点,分钟级的交付周期将提供给您实时的业务响应能力,助力您的核心业务飞速成长。
更挂关于弹性裸金属服务器的介绍,参见弹性裸金属服务器详情页

  • 应用实时监控服务 ARMS

应用实时监控服务 (Application Real-Time Monitoring Service,简称ARMS)是一款应用性能管理产品,包含前端监控,应用监控和Prometheus监控三大子产品,涵盖了浏览器、小程序、APP、分布式应用和容器环境等性能管理,能帮助您实现全栈式的性能监控和端到端的全链路追踪诊断, 让应用运维从未如此轻松高效。
更多关于应用实时监控服务 ARMS的介绍,参见应用实时监控服务 ARMS产品详情页

  • 日志服务 SLS

行业领先的日志大数据解决方案,一站式提供数据收集、清洗、分析、可视化和告警功能。全面提升海量日志处理能力,实时挖掘数据价值,智能助力研发/运维/运营/安全等场景。
更多关于日志服务的介绍,参见日志服务产品详情页

【云栖号在线课堂】每天都有产品技术专家分享!
在线课堂地址:https://yqh.aliyun.com/zhibo

立即加入社群,与专家面对面,及时了解课程最新动态!
【云栖号在线课堂 社群】https://c.tb.cn/F3.Z8gvnK

相关实践学习
Docker镜像管理快速入门
本教程将介绍如何使用Docker构建镜像,并通过阿里云镜像服务分发到ECS服务器,运行该镜像。
容器应用与集群管理
欢迎来到《容器应用与集群管理》课程,本课程是“云原生容器Clouder认证“系列中的第二阶段。课程将向您介绍与容器集群相关的概念和技术,这些概念和技术可以帮助您了解阿里云容器服务ACK/ACK Serverless的使用。同时,本课程也会向您介绍可以采取的工具、方法和可操作步骤,以帮助您了解如何基于容器服务ACK Serverless构建和管理企业级应用。 学习完本课程后,您将能够: 掌握容器集群、容器编排的基本概念 掌握Kubernetes的基础概念及核心思想 掌握阿里云容器服务ACK/ACK Serverless概念及使用方法 基于容器服务ACK Serverless搭建和管理企业级网站应用
相关文章
|
5月前
|
存储 Kubernetes 调度
基于容器和 Kubernetes 的应用无限扩容
基于容器和 Kubernetes 的应用无限扩容
82 0
|
30天前
|
安全 算法 调度
C++队列探秘:队列容器的使用技巧与实战案例解析
C++队列探秘:队列容器的使用技巧与实战案例解析
125 0
|
1月前
|
Kubernetes Go 开发者
Go语言与Docker容器结合的实践应用与案例分析
【2月更文挑战第23天】本文通过分析实际案例,探讨了Go语言与Docker容器技术结合的实践应用。通过详细阐述Go语言在容器化环境中的开发优势,以及Docker容器技术在Go应用部署中的重要作用,本文旨在为读者提供Go语言与Docker容器结合的具体实现方法和实际应用场景。
|
1月前
|
搜索推荐 算法 C++
list容器-排序案例讲解
list容器-排序案例讲解
9 0
|
6月前
|
Kubernetes 负载均衡 Docker
从容器到k8s,演变过程和具体案例分享
从容器到k8s,演变过程和具体案例分享
|
8月前
|
存储 Java 容器
Java中集合容器详解:简单使用与案例分析3
Java中集合容器详解:简单使用与案例分析
57 0
|
4月前
|
Java 容器 Spring
Spring-IoC容器入门案例
Spring-IoC容器入门案例
24 0
|
7月前
|
弹性计算 Kubernetes Serverless
课时1:Serverless容器入门和实践案例
课时1:Serverless容器入门和实践案例
640 0
|
8月前
|
存储 安全 Java
Java中集合容器详解:简单使用与案例分析2
Java中集合容器详解:简单使用与案例分析
49 0
|
8月前
|
存储 设计模式 安全
Java中集合容器详解:简单使用与案例分析1
Java中集合容器详解:简单使用与案例分析
56 0