乘风破浪的云原生

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


作者:禾易


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搭建和管理企业级网站应用
目录
相关文章
|
2月前
|
容器 Kubernetes Docker
云原生JSF:在Kubernetes的星辰大海中,让JSF应用乘风破浪!
【8月更文挑战第31天】在本指南中,您将学会如何在Kubernetes上部署JavaServer Faces (JSF)应用,享受容器化带来的灵活性与可扩展性。文章详细介绍了从构建Docker镜像到配置Kubernetes部署全流程,涵盖Dockerfile编写、Kubernetes资源配置及应用验证。通过这些步骤,您的JSF应用将充分利用Kubernetes的优势,实现自动化管理和高效运行,开启Java Web开发的新篇章。
46 0
|
3月前
|
运维 Cloud Native 云计算
云原生技术浪潮下,企业如何乘风破浪
在数字化转型的大潮中,云原生技术如同一艘承载着企业梦想的航船,引领着企业驶向更高效、灵活的未来。本文将深入探讨云原生技术的核心价值,揭示其在现代IT架构中的重要地位,并分享一系列成功应用云原生技术的企业案例,为企业提供实践指南和启示。
20 0
|
消息中间件 运维 Kubernetes
云原生年度技术盘点出炉!乘风破浪正当时
2021年,数字产业蓬勃发展,传统云计算产业走向成熟,大数据、物联网、人工智能、区块链各种新兴技术百花齐放。 云原生已经成为势不可挡的技术趋势。Gartner 预测到 2025 年,95%数字化运维将通过云原生平台进行支撑。为了让更多的开发者、架构师获取云原生技术红利与实践经验,阿里巴巴云原生推出了年度技术盘点,方便大家更好地学习和思考。
云原生年度技术盘点出炉!乘风破浪正当时
|
4天前
|
Cloud Native 云计算 Docker
云原生之旅:从容器化到微服务架构
【9月更文挑战第27天】本文将引领读者进入云原生的世界,探索如何通过容器化技术实现应用的快速部署与扩展,并深入理解微服务架构的设计哲学。我们将一起见证代码如何转化为可在云端无缝运行的服务,同时讨论云原生生态中的最佳实践和面临的挑战。
|
2天前
|
Kubernetes Cloud Native 持续交付
探索云原生架构:打造弹性可扩展的应用
【9月更文挑战第29天】在云计算的浪潮中,云原生架构成为企业追求高效、灵活和可靠服务的关键。本文将深入解析云原生的概念,探讨如何利用容器化、微服务和持续集成/持续部署(CI/CD)等技术构建现代化应用。我们将通过一个简易的代码示例,展示如何在Kubernetes集群上部署一个基于Node.js的应用,从而揭示云原生技术的强大能力和潜在价值。
12 6
|
3天前
|
监控 Cloud Native 持续交付
云原生架构:构建弹性与高效的现代应用##
随着云计算技术的不断成熟,云原生架构逐渐成为企业技术转型的重要方向。本文将深入探讨云原生的核心概念、主要技术和典型应用场景,以及如何通过云原生架构实现高可用性、弹性扩展和快速迭代,助力企业在数字化转型中保持竞争优势。 ##
20 6
|
1天前
|
Cloud Native 持续交付 微服务
云原生时代的微服务架构实践
【9月更文挑战第30天】随着云计算技术的不断进步,云原生已经成为现代软件开发的重要趋势。本文将通过深入浅出的方式,介绍如何在云原生环境下设计并实施微服务架构,以及如何利用容器化技术和自动化工具来提升服务的可维护性和可扩展性。我们将一起探讨微服务架构的核心原则、优势,以及在云平台中部署和管理微服务的最佳实践。无论你是初学者还是有经验的开发者,这篇文章都将成为你探索云原生和微服务世界的一盏明灯。
|
4天前
|
运维 Cloud Native 持续交付
云原生架构:构建未来应用的基石
本文将深入探讨云原生架构的核心概念、主要优势以及实际应用案例,揭示其在现代IT领域的重要性。通过详细解析云原生技术的各个方面,帮助读者更好地理解和应用这一前沿技术。
|
4天前
|
监控 Cloud Native 持续交付
云原生时代的微服务架构设计原则与实践
【9月更文挑战第27天】本文深入探讨了在云原生环境下,如何高效地实施微服务架构。通过分析微服务的基本概念、设计原则和关键技术,结合实际案例,指导读者理解并应用微服务架构于云计算项目之中。文章旨在为软件开发者和架构师提供一条清晰的路径,以实现更加灵活、可扩展且易于维护的系统。
|
9天前
|
监控 Cloud Native Devops
云原生时代的微服务架构:挑战与机遇
在云计算迅速发展的背景下,云原生技术日益受到关注,而微服务架构作为其核心组件之一,正逐步成为构建现代应用的首选方案。本文探讨了微服务架构在云原生时代所面临的挑战与机遇,分析了其灵活性、可扩展性和容错性的优势,以及服务间复杂交互、数据一致性、监控管理和安全性等挑战,并指出了与DevOps文化结合、容器化技术、云服务集成及业务敏捷性等方面的机遇,强调了其在软件开发中的重要角色。

热门文章

最新文章