乘风破浪的云原生

本文涉及的产品
Serverless 应用引擎免费试用套餐包,4320000 CU,有效期3个月
函数计算FC,每月15万CU 3个月
简介: 一项新技术或者一套新的技术理念,之所以能被广泛接受和快速发展,是因为有愿意相信并真正去落地实践的公司,是他们在为整个时代探索着云计算更大的技术价值!正是因为这些创新者们愿意接纳一些新的改变,并以此去撬动更大的想象空间,我们才经历了一个如此蓬勃和充满可能的时代。他们才是真的乘风破浪!


作者:禾易


1、在线教育将成为常态化应用


“还要扩容吗?”
“先扩容 10 倍再说”


这已经不是李诺(洋葱学院联合创始人兼 CTO)第一次提到扩容了。受到疫情影响,今年全国学校普遍延期开学。“停课不停学”,线下教育停摆,教育行业转战线上。流量突然暴涨,扩容成了“常态”,而且每次的流量还是远远超过预期。


李诺去找杨临风(洋葱学院联合创始人兼 CEO)讨论工作的时候,碰巧杨临风正在写一封给用户的公开信。这次疫情让洋葱学院受到了极大的关注,但比起流量价值,杨临风更想以自己的亲身经历告诉用户:“在家自主地学习,是每个学生都要面对的战斗。”


李诺心里清楚,在超高流量的冲击下要保持服务器平稳、用户体验不受影响,这何尝不是一场属于洋葱学院的战斗。


2013 年 12 月,杨临风、朱若辰和李诺共同创立了洋葱数学(现已更名为洋葱学院),这家K12在线教育公司从初中数学课程切入,逐步发展到全学科,主攻人机交互学习的在线教育平台开发。他们从国家课标和教材着手,开始系统地构建在线课程体系,对课本上每一个知识点进行更加精细的教研和设计,并逐个制作成5-8分钟的动画视频课程,围绕这些核心课程为学生打造个性化的学习体验。


人机交互学习的教育模式不要说在当年,即便是现在也很前卫。不仅如此,洋葱的创始团队在公司成立之初还做出了一个意识超前的决定:整套业务系统均基于阿里云搭建。


洋葱学院的发展速度在互联网教育公司里并不算快,李诺说,团队把大部分的精力都花在了课程的研发和学习体验的优化上,以初中数学为例,足足花了4年才完成课程的打磨。当然,洋葱学院对教育的这份坚持,也让其在业界立下了一席之地。疫情影响下,短时间剧烈增长的市场需求把在线教育推到了“快车道”。以前是在线教育企业自己努力,现在是全社会一起推进他们“质量在线”。


今年 1 月 28 日,洋葱学院对外公布了针对疫情期间的课程捐赠方案,把过去六年积累制作的 2650 节核心课程全部免费开放,但流量的威力还是超过了他们的想象。据易观千帆的公开数据显示,洋葱学院 2020 年 2 月的活跃用户规模达到了 795.92 万,同比增幅 151%。


面对大流量、高并发访问需求,洋葱学院为了确保业务稳定性,在阿里云技术专家的建议下,采用了阿里云容器服务。容器服务可以根据不同模块的配置所需,资源分配更加合理,按照定义规则自动弹性伸缩避免了复杂的调度维护。


阿里云容器服务可以在几分钟内扩充底层资源,满足快速部署数千个应用实例的需求。为了更加从容地应对十倍扩容,洋葱学院还进一步优化了整体的 ECS 服务器配置,将大量的小规格 ECS 服务器更换成 30 至 50 核大规格 ECS,改造后运维管控也更加便捷。使用云容器之后,系统在资源利用率上提升了约60%,出现问题后可快速隔离,当面对急剧增长的业务量,也可以在短


时间内扩容进行业务支撑。为了及早发现故障并快速做出响应,洋葱学院也采用了阿里云原生监控系列产品,可以覆盖到各类监控报警问题,极大地缩短问题发现时间。


从2013年决定全面上云,到现在拥抱云原生新趋势,洋葱学院以一贯的超前意识,表达着这个时代互联网公司该有的态度。


2、全面使用开源技术、云服务构建软件服务的时代已经到来


云原生在近几年的发展用“乘风破浪”来形容一点也不为过。


应用上云已经是不可逆转的趋势。回顾近年来商业世界的发展趋势,数字化转型的出现使得企业中越来越多的业务演变成数字化业务,数字化对于业务渠道、竞争格局、用户体验等诸多方面都提出更加严苛的要求,这就要求技术具备更快的迭代速度。


为了实现这样的速度,就需要充分利用云的强大能力,从云技术中获得更高的可用性与可扩展能力,利用云来提升发布和运维的效率。而要做到这些,不仅仅是基础设施和平台的变化,应用也需要做出改变,摈弃传统的土方法,在架构设计、开发方式、部署维护等各个阶段和方面都基于云的特点来重新设计,从而建设全新的云化应用,即云原生应用。


image.png


2019 年,Gartner 曾经发布报告表示云原生时代已经到来,在未来三年中将有 75%的全球化企业将在生产中使用容器化的应用。云原生相关技术不仅仅能用于云计算,即便是和云计算既对立又协同的边缘计算,微服务、容器、Kubernetes 依然是事实上的杀手应用和标准。


2019 年,Gartner 曾经发布报告表示云原生时代已经到来,在未来三年中将有 75%的全球化企业将在生产中使用容器化的应用。云原生相关技术不仅仅能用于云计算,即便是和云计算既对立又协同的边缘计算,微服务、容器、Kubernetes 依然是事实上的杀手应用和标准。


以前一家企业想使用云原生的技术或产品,需要花费大量的精力研究一些开源项目,自己做运维和管理,还需要考虑集成、稳定性保障等问题,这样才能建立一个云原生平台。今天,为了方便企业和开发者更容易地使用云原生的技术和产品,更好地接受云原生的理念,并解决企业担忧的可靠性、性能、连续性等问题,阿里云为大家提供了一整套云原生产品家族,提供了非常强的 SLA 保障。


阿里云在帮助国内企业了解云原生、使用云原生上做了很多工作。一方面是在内部尝试去使用这些技术,阿里巴巴内部有非常丰富的、大规模的使用场景,通过这些场景可以充分打磨云原生技术。在技术成熟以后,将这些技术回馈到社区,帮助云原生社区提高技术质量和发展水平。


3、因为相信,所以看见


着云计算的普及与云原生的广泛应用,越来越多的从业者、决策者清晰地认识到「云原生化将成为企业技术创新的关键要素,也是完成企业数字化转型的最短路径」。因此,具有前瞻思维的互联网企业从应用诞生之初就扎根于云端,谨慎的新零售、政府、金融、医疗等领域的企业与机构也逐渐将业务应用迁移上云,深度使用云原生技术与云原生架构。


畅捷通是中国领先的小型微型企业管理云服务与软件提供商,为400多万小微企业提供智能云管理服务。随着业务的快速发展,为了适应互联网大型应用快速迭代以及频繁发布的需求,畅捷通IT团队对原有的IT系统进行了大量的微服务化改造,这是畅捷通进行云原生实践迈出的第一步。


紧接着,畅捷通开始迎接下一步挑战:SaaS化企业管理云服务,具有用户量大、业务复杂、调用链路长、与第三方应用系统深度集成等特点,给微服务化改造工作带来了非常大的挑战。特别是在新版本的发布过程中,如果不能保证整个流程平滑、可控,就很容易因为单个应用的更新而造成整个系统的崩溃。


为了快速解决这个痛点,畅捷通IT团队找到阿里云技术专家,选择阿里,不仅因为阿里的业务场景复杂度和对技术打磨的细致,还有阿里一直以来在云原生领域的深耕。最终,畅捷通决定将整个微服务架构逐步部署到阿里云提供的企业级分布式应用服务(EDAS)上。通过Spring Cloud技术体系建立的微服务应用,可以在不涉及任何代码改动情况下,直接部署在EDAS上,整个迁移的过程也非常平滑,对于畅捷通的用户而言没有任何感知。部署之后,在面对复杂业务下的频繁迭代时,畅捷通成功经受住了考验。


在进一步适应云原生的技术和产品以后,畅捷通的IT团队也通过方案背后融入的方法论,掌握了一套适合自己的微服务治理机制,并开始实践全链路灰度等全新的微服务治理思路。


4、还能再极致一点吗?能!


和大部分计算模式不同,Serverless 将“部署”这个动作从运维中“收走”,使开发者不用关心应用在哪里运行,更不用关心装什么 OS、怎么配置网络、需要多少 CPU …… 从架构抽象上看,当业务流量到来 / 业务事件发生时,云会启动或调度一个已启动的业务进程进行处理,处理完成后云自动会关闭/ 调度业务进程,等待下一次触发,也就是把应用的整个运行时都委托给云。


Serverless 非常适合于事件驱动的数据计算任务、计算时间短的请求 / 响应应用、没有复杂相互调用的长周期任务。


百富旅行是全球领先的在线旅游同业交易平台,基于云计算和大数据决策为全球旅游从业者提供一站式智能整体解决方案。截至目前,百富旅行已经与600多家航空公司、国内所有火车线路、2500个汽车站,以及60多家邮轮集团进行了业务整合,网络覆盖全球100多个国家和地区。


随着业务的飞速发展,百富旅行技术团队通过Spring Cloud 等开源框架搭建了完善的微服务技术架构,将微服务应用上云之后,不需要再考虑硬件资源购买以及服务器架设等运维步骤,这样技术团队可以将更多的精力投入到业务需求实现中。但是随着系统迭代次数的增加,问题出现了:


从系统架构的角度,将微服务应用直接部署在云虚拟机上,跟部署在物理机房相比,并没有本质的区别,团队依然需要从底层维护每一个应用实例,包括操作系统调整、磁盘容量规划、JDK等组件安装等工作,这些工作都每一台云虚拟机投入使用的过程中,都是必不可少的。


在系统频繁的迭代过程中,不同的开发小组甚至不同的开发人员都需要单独的一套测试环境,久而久之,整个技术团队创建了多套测试环境,其中一些测试环境包含了所有的微服务应用,整体资源利用率特别低,造成了大量的资源浪费。而且旅游业务本身也存在非常明显的波峰波谷,微服务架构可以很方便地为每一个应用进行水平扩容,但如果用于扩容的虚拟机资源需要预先购买的话,同样会造成大量的资源闲置。


摆在百富技术团队面前的核心难题就是怎么解决资源的闲置与浪费问题。而这恰恰是Serverless最擅长的事情。由于不需要为Serverlesss应用购买底层服务器资源,直接按需申请,可以免去容量规划、操作系统调优等复杂的运维工作,Serverless架构的弹性伸缩机制正好切断了资源浪费问题的源头。


但是Serverless架构要怎么选,百富旅行技术团队开始对市场上常见的实现方式和产品做调研:


Serverless架构有两种常见的实现方式:第一种是把每个微服务应用进行容器化改造后,统一使用Kubernetes进行编排,并利用云厂商提供的弹性容器实例实现容器层的按需调用。这种方式的门槛很高,需要有精通Kubernetes技术的运维小组加入,并且需要团队投入比较大的精力对应用进行容器化改造,暂时不适用于百富旅行这样小规模高效率的技术团队。


另一种方式是使用类似于AWS Lambda或阿里云FC函数计算引擎,将所有业务逻辑进行函数化重构。这种方式基本上需要将之前写的代码推倒重来,而且在一些拥有复杂调用链路的业余环节并不能发挥Serverless的优势,最终排除在考虑范围内。


经过多轮技术调研以及与阿里云技术专家深入交流后,百富旅行技术团队选择了阿里云Serverless应用引擎(SAE)方案。区别于其它 Serverless 产品,SAE 直接支持 Spring Cloud、Dubbo 等开发框架,实现了全面的Serverless化。开发者可以通过WAR、JAR、镜像三种方式部署Serverless应用,不需要学习Kubernetes以及容器技术。部署在SAE上的微服务应用,可以按需申请资源,根据实际使用资源量按分钟计费,避免业务不活跃时段的费用支出。特别是对于测试环境,SAE可以做到一键启停,避免了资源闲置问题。选择SAE为百富旅行节省了大量云资源的成本投入,并且减少一半以上的运维工作,为后续创新业务的发展打下了基础。


5、云原生是一个时代下践行者们“前赴后继”的故事


一项新技术或者一套新的技术理念,之所以能被广泛接受和快速发展,是因为有愿意相信并真正去落地实践的公司,是他们在为整个时代探索着云计算更大的技术价值。当五年、十年以后我们再来看洋葱学院、畅捷通、百富旅行等企业的实践历程,正是因为这些创新者们愿意接纳一些新的改变,并以此去撬动更大的想象空间,我们才经历了一个如此蓬勃和充满可能的时代。


他们才是真的乘风破浪!


相关实践学习
通过Ingress进行灰度发布
本场景您将运行一个简单的应用,部署一个新的应用用于新的发布,并通过Ingress能力实现灰度发布。
容器应用与集群管理
欢迎来到《容器应用与集群管理》课程,本课程是“云原生容器Clouder认证“系列中的第二阶段。课程将向您介绍与容器集群相关的概念和技术,这些概念和技术可以帮助您了解阿里云容器服务ACK/ACK Serverless的使用。同时,本课程也会向您介绍可以采取的工具、方法和可操作步骤,以帮助您了解如何基于容器服务ACK Serverless构建和管理企业级应用。 学习完本课程后,您将能够: 掌握容器集群、容器编排的基本概念 掌握Kubernetes的基础概念及核心思想 掌握阿里云容器服务ACK/ACK Serverless概念及使用方法 基于容器服务ACK Serverless搭建和管理企业级网站应用
目录
相关文章
|
4月前
|
容器 Kubernetes Docker
云原生JSF:在Kubernetes的星辰大海中,让JSF应用乘风破浪!
【8月更文挑战第31天】在本指南中,您将学会如何在Kubernetes上部署JavaServer Faces (JSF)应用,享受容器化带来的灵活性与可扩展性。文章详细介绍了从构建Docker镜像到配置Kubernetes部署全流程,涵盖Dockerfile编写、Kubernetes资源配置及应用验证。通过这些步骤,您的JSF应用将充分利用Kubernetes的优势,实现自动化管理和高效运行,开启Java Web开发的新篇章。
55 0
|
5月前
|
运维 Cloud Native 云计算
云原生技术浪潮下,企业如何乘风破浪
在数字化转型的大潮中,云原生技术如同一艘承载着企业梦想的航船,引领着企业驶向更高效、灵活的未来。本文将深入探讨云原生技术的核心价值,揭示其在现代IT架构中的重要地位,并分享一系列成功应用云原生技术的企业案例,为企业提供实践指南和启示。
32 0
|
消息中间件 运维 Kubernetes
云原生年度技术盘点出炉!乘风破浪正当时
2021年,数字产业蓬勃发展,传统云计算产业走向成熟,大数据、物联网、人工智能、区块链各种新兴技术百花齐放。 云原生已经成为势不可挡的技术趋势。Gartner 预测到 2025 年,95%数字化运维将通过云原生平台进行支撑。为了让更多的开发者、架构师获取云原生技术红利与实践经验,阿里巴巴云原生推出了年度技术盘点,方便大家更好地学习和思考。
云原生年度技术盘点出炉!乘风破浪正当时
|
6天前
|
Kubernetes Cloud Native 微服务
探索云原生技术:容器化与微服务架构的融合之旅
本文将带领读者深入了解云原生技术的核心概念,特别是容器化和微服务架构如何相辅相成,共同构建现代软件系统。我们将通过实际代码示例,探讨如何在云平台上部署和管理微服务,以及如何使用容器编排工具来自动化这一过程。文章旨在为开发者和技术决策者提供实用的指导,帮助他们在云原生时代中更好地设计、部署和维护应用。
|
24天前
|
Cloud Native 安全 数据安全/隐私保护
云原生架构下的微服务治理与挑战####
随着云计算技术的飞速发展,云原生架构以其高效、灵活、可扩展的特性成为现代企业IT架构的首选。本文聚焦于云原生环境下的微服务治理问题,探讨其在促进业务敏捷性的同时所面临的挑战及应对策略。通过分析微服务拆分、服务间通信、故障隔离与恢复等关键环节,本文旨在为读者提供一个关于如何在云原生环境中有效实施微服务治理的全面视角,助力企业在数字化转型的道路上稳健前行。 ####
|
25天前
|
运维 Kubernetes Cloud Native
云原生技术:容器化与微服务架构的完美结合
【10月更文挑战第37天】在数字化转型的浪潮中,云原生技术以其灵活性和高效性成为企业的新宠。本文将深入探讨云原生的核心概念,包括容器化技术和微服务架构,以及它们如何共同推动现代应用的发展。我们将通过实际代码示例,展示如何在Kubernetes集群上部署一个简单的微服务,揭示云原生技术的强大能力和未来潜力。
|
27天前
|
消息中间件 存储 Cloud Native
云原生架构下的数据一致性挑战与应对策略####
本文探讨了在云原生环境中,面对微服务架构的广泛应用,数据一致性问题成为系统设计的核心挑战之一。通过分析云原生环境的特点,阐述了数据不一致性的常见场景及其对业务的影响,并深入讨论了解决这些问题的策略,包括采用分布式事务、事件驱动架构、补偿机制以及利用云平台提供的托管服务等。文章旨在为开发者提供一套系统性的解决方案框架,以应对在动态、分布式的云原生应用中保持数据一致性的复杂性。 ####
|
8天前
|
弹性计算 运维 Cloud Native
云原生架构的崛起与未来展望
在数字化转型的浪潮中,云原生架构凭借其高效、灵活和可扩展的特性,正逐渐成为企业IT战略的核心。本文旨在探讨云原生架构的定义、关键特性、实施优势以及面临的挑战,同时展望未来的发展趋势。通过深入分析,我们期望为读者提供一个关于云原生架构全面而深入的视角,助力企业在云计算时代做出更明智的决策。
22 3
|
20天前
|
Cloud Native 云计算 Docker
云原生技术的崛起:从容器化到微服务架构
云原生技术的崛起:从容器化到微服务架构
|
23天前
|
Cloud Native 安全 API
云原生架构下的微服务治理策略与实践####
—透过云原生的棱镜,探索微服务架构下的挑战与应对之道 本文旨在探讨云原生环境下,微服务架构所面临的关键挑战及有效的治理策略。随着云计算技术的深入发展,越来越多的企业选择采用云原生架构来构建和部署其应用程序,以期获得更高的灵活性、可扩展性和效率。然而,微服务架构的复杂性也带来了服务发现、负载均衡、故障恢复等一系列治理难题。本文将深入分析这些问题,并提出一套基于云原生技术栈的微服务治理框架,包括服务网格的应用、API网关的集成、以及动态配置管理等关键方面,旨在为企业实现高效、稳定的微服务架构提供参考路径。 ####
43 5