中小企业如何有效应对计算资源的弹性变化需求?

本文涉及的产品
服务治理 MSE Sentinel/OpenSergo,Agent数量 不受限
Serverless 应用引擎免费试用套餐包,4320000 CU,有效期3个月
注册配置 MSE Nacos/ZooKeeper,182元/月
简介: 经过本文的讲述可以发现,Serverless 函数计算作为一种新形式的计算方式,可以更好的应对计算资源弹性变化的场景。

作者:程序员大阳


本文选自 Serverless 函数计算评测活动征文


计算舞台的发展史


上古时代

long long ago,很久很久以前,计算机是一种极其稀缺的资源。我曾跟某大学教授沟通,他说最开始的时候,一个大学的计算机系可能只有一台计算机。计算机是如此稀缺,那时候的计算资源可以说就算你有钱,也未必能轻易得到。


这个时代,我愿称之为计算资源的上古时代,其特点就是稀缺!


中古时代

我刚毕业那会,进入一家国有大型商业银行从事信息科技工作。第一次走进机房,就被那一排排的服务器电脑震撼了。看着那些服务器时不时闪烁的灯光,我能想象到,它们支撑的是数百亿、千亿、万亿的资金流动。


它们体格巨大、性能强悍、运行稳定,但是——额——非常昂贵。不光购买贵,要想让这些大型服务器正常运行,配套的机房、运维人员成本也不低。大型企业能承受,中小公司就有心无力了。


这个时代,我愿称之为计算资源的中古时代,其特点就是昂贵!


近现代

2018 年,我进入一家民企企业,我发现企业使用的基本都是云服务器。使用云服务器的好处是,如果部署的程序访问量大、并发量高、数据量大,那就买配置高的、贵一点的。如果部署的程序比较简单,访问人数也不多,那就买配置低的、便宜一点的。


而且随着时间的发展,访问量大增时,也可以花钱升级配置。同时采用云服务器的话,不用单独建设机房,也不用买硬件路由器、防火墙啥的,从成本上讲也不高。简直是太香了,所以中小企业开始积极拥抱云服务器。我记得在公司工作的时候,管理的云服务器有几十台,而且每年都稳定新增若干台。


这个时代,我愿称之为计算资源的近现代,其特点嘛,就是性价比高。


当代

其实我在工作中,老早就发现了一些问题,就是我们对计算资源的需求,具有时空的不均衡性。


比如我们开发一套学校的缴费系统,这个系统平时无人问津,到了学校发缴费通知那几天,系统访问人数爆棚。但是我们购买服务器的时候,总得按照支撑最大访问量的情形去购买,那平时剩余的计算能力不就大大的浪费了吗?


如果能有一种方式,可以根据需要,弹性的拓展或收缩计算能力,用户只需要按实际计算量付费,那会是一个相当大的进步吧。


另外从社会发展、从人类命运共同体的角度去看,这也是极大节约了社会资源、提高了生产效率啊。哎,恕我孤陋寡闻,虽然我一直有这样的想法,却不知这在云计算领域是早就实现了的技术。而 Serverless 就是其中一种代表性的计算技术,它早已经来到我们身边了。


这个时代,我愿称之为计算资源的当代,其特点嘛,就是精细、和谐。


Serverless 的概念

先从字面意思理解,Server 是服务器,less 是缺少,合起来就是无服务器。无服务器的运算,就是咱们的程序不用部署到各类服务器,而是直接交给云(例如阿里云),云帮我们来协调计算资源、进行弹性的计算。


接下来我们就使用阿里云 Serverless 函数计算,来真正体验一下吧。

快速体验


产品入口


阿里云产品众多,先给大家说下函数计算 FC 的位置。


1.png


创建应用


进入函数计算产品后,我们首先要创建一个应用。应用可以理解为一个后台服务、后台项目之类的东西。


阿里云内置了很多应用模板,例如常见的 SpringBoot、Django、Flask 等等,很好很强大,此处我选择了比较熟悉的 SpringBoot。


2.png


应用部署设置


如下图,设置为通过 Gitgee 代码仓库部署应用代码。这个很好理解,我们的应用直接关联一个 Gitee 的代码仓库,如果我们想部署应用,就先将代码提交到 Gitee。


3.png


注意,点击上图中红线处的链接,然后登陆 Gitee,即可完成 Gitee 代码对阿里云 Serveless 的绑定授权。


4.png


点击创建后,会弹出如下窗口,等待创建完成即可。


5.png


编写代码


在上面创建项目时,我们指定了 Gitee 代码仓库名为【start-springboot-jc】,我们将该仓库克隆到本地,查看项目代码结构如下:


6.png


打开 pom.xml 配置文件,熟悉的感觉,这是一个纯正的 SpringBoot 项目,版本为 2.1.8。阿里云开发人员既然选择了该版本,它应该是非常稳定优秀的吧。


7.png


接下来看下启动类,我们可以轻易的猜出,welcome 就是我们应用默认的入口。


8.png


来吧,不修改一番,怎能见证我这一代 Java 全栈程序员的风采!


9.png


代码部署


将代码提交到仓库,然后点击红线处进入应用详情:


10.png


在部署历史中惊奇的发现已经自动部署了,要问我咋发现的,看下时间就是了。此处说明阿里云做的挺好啊,自动发现代码更新然后自动触发部署,此处一个值得点赞!


11.png


访问测试


在应用详情页面的上方,点击访问域名:


12.png


弹出网页界面如下,大功告成。


13.png

常见使用问题解析


如何开发自己的业务逻辑

如果对 SpringBoot 很熟悉的话,这个问题应该是很简单的。


可以在 pom.xml 中配置依赖项,然后编写服务类,最后在 welcome 方法中调用封装的服务类即可。运行结果可以通过网页显示,当然一些后台计算也可以不用网页显示。


如何配置正式域名


项目正式上线时,我们往往希望使用正式域名。可以进入函数计算首页,点击【域名管理菜单】,然后点击【添加自定义域名】:


14.png


如下图,就可以将我们的域名和应用里面的函数关联起来了。


15.png


实例规格及环境配置


在【服务管理】-【函数管理】中点击红圈中的【配置】按钮。


16.png


如下图,可以对实例规格、环境信息进行配置,例如内存、并发度、实例类型。


注意内存指的是函数执行的最大内存、并发度指的是函数可以同时处理多少个请求。


17.png


如何选择实例类型


实例类型分为三大类,下面是阿里云官方说明,我感觉写得挺好,就不再过多解释了。


  • 弹性实例:函数计算基本实例,主要适用于突发流量场景,例如活动、大型促销和红包等。 


  • 性能实例:大规格实例,资源上限更高,主要适用于计算密集型场景,例如音视频处理、AI 建模和企业级 Java 应用等场景。当您选择性能实例时,您的函数将运行在计算能力更高的实例中。 


  • GPU 实例(公测中):基于 Turing 架构的 GPU 实例,主要适用于音视频、AI 人工智能和图像处理等场景。在不同的场景中,将不同的业务负载下沉至 GPU 硬件加速,从而极大地提升了业务处理的效率。


如何进行监控和日志查看


注意在应用详情里面,会显示应用相关的底层服务和函数,如下图:


18.png


点击函数,可以看到很多信息,如下图可以很轻松的看到监控指标。


19.png


下图是日志信息:


20.png


如何进行弹性管理


在函数详情页面,点击【弹性管理】-【创建规则】,可以通过设定规则,对函数进行弹性管理。


21.png


如下图,可以按时间、或者按指标,动态的调整实例数。


22.png

小结


经过上面的讲述可以发现,Serverless 函数计算作为一种新形式的计算方式,可以更好的应对计算资源弹性变化的场景。


从宏观上看,不同企业、不同服务对计算资源的需求存在时空不均衡的特点。云计算厂商可以通过动态的调度资源,实现计算能力的合理调配,节省大量的闲置资源,从而降低成本。


再宏观一点,当人类命运共同体的思想发展到一定程度,全球各个云计算厂商之间可以共享基础计算能力。当某个国家、地区计算资源在某个突然事件下不够用时,就可以临时调用其他国家、地区云厂商的计算资源——当然需要合理付费。


Serverless 这种产品的研发,利国利民。前途是光明的,对于现今的技术,我们总会满怀希冀——愿云端起舞翩翩,伴人间璀璨华年。




Serverless Developer Meetup


23.jpeg


2022 阿里云 Serverless Developer Meetup 杭州站火热报名中!


本次沙龙特别邀请到阿里云、高德地图的 Serverless 一线技术专家,分享当前 Serverless 架构 CICD 的最新探索研究;带来 Serverless 在高德业务体系中的降本增效实践;全视角解析 Serverless 原子化能力是如何提升研发效能,增强开发幸福感。更有 Serverless Workshop 等你来玩,手把手带你体验 1 分钟极速部署的乐趣,感受 Severless 算力之美。免费报名即可参加活动,我们准备了超多周边礼品,等你一起来 Serverless!


  • 时间:9月17日(周六)13:00
  • 地点:阿里巴巴西溪园区B区访客中心


点击此处,立即报名!

相关文章
|
4月前
|
消息中间件 人工智能 Serverless
喜报!阿里云首批通过 Serverless 云服务能力要求 - 消息队列评估
2025可信云大会发布Serverless云服务能力评估结果,阿里云作为首批入选单位,凭借ApsaraMQ for RocketMQ和Kafka展现出卓越能力。ApsaraMQ全系产品已完成Serverless化升级,具备全场景覆盖、低成本、高稳定、高效率及生态集成优势,广泛应用于电商、游戏、出行、旅游等多个行业,助力企业实现降本增效。未来将持续推动高弹性、智能化、免运维的消息服务创新。
|
11月前
|
机器学习/深度学习 人工智能 物联网
AI赋能大学计划·大模型技术与应用实战学生训练营——湖南大学站圆满结营
12月14日,由中国软件行业校园招聘与实习公共服务平台携手魔搭社区共同举办的AI赋能大学计划·大模型技术与产业趋势高校行AIGC项目实战营·湖南大学站圆满结营。
432 58
AI赋能大学计划·大模型技术与应用实战学生训练营——湖南大学站圆满结营
|
10月前
|
人工智能 自然语言处理 算法
《DevEco CodeGenie——人工智能开发者的得力助手》
华为推出的DevEco CodeGenie为AI开发者提供了全方位的支持,涵盖智能知识问答、代码补全与生成、万能卡片生成等功能。它基于生成式搜索能力,快速解决开发难题,显著提升开发效率,缩短项目周期。尤其对新手友好,降低入门门槛,助力其快速上手鸿蒙原生应用开发。通过解放开发者于繁琐任务中,激发创新思维,专注于业务逻辑实现与技术创新,推动AI技术在鸿蒙生态中的深度融合与发展。
405 21
|
SQL 负载均衡 监控
【分布式任务调度平台 XXL-JOB 急速入门】从零开始将 XXL-JOB 接入到自己的项目(上)
【分布式任务调度平台 XXL-JOB 急速入门】从零开始将 XXL-JOB 接入到自己的项目
2281 0
|
定位技术 开发工具 芯片
HackRF实现ADS-B飞机信号跟踪定位
硬件平台:HackRF One软件平台:MAC运行环境搭建系统平台:OS X 10.11 EI Capitan文章特点:捕捉程序支持HackRF One且基于MAC平台验证通过有效。 1. 原理概述 之所以能够很容易的跟踪飞机,是因为航空CNS(通信导航监视)系统里大量采用非常古老的无线标准.
2797 0
|
搜索推荐 Java Android开发
打造个性化安卓启动器:从入门到精通
【8月更文挑战第31天】在这个数字时代,智能手机几乎成了我们生活的延伸。而作为最流行的操作系统之一,安卓的可定制性让它在众多用户中独树一帜。本文将带你了解如何从零开始构建你自己的安卓启动器,这不仅是一项挑战技能的项目,更是一次让你的设备与众不同的机会。我们将一步步探索创建启动器的过程,包括设计思路、关键代码实现以及最终的测试与优化。无论你是编程新手还是有一定基础的开发者,都能通过这个项目提升技术水平,并给你的日常使用带来便利。准备好了吗?让我们一起潜入安卓开发的海洋,打造专属于你的个性化世界!
|
前端开发 数据可视化 JavaScript
如何在React中监听鼠标事件
如何在React中监听鼠标事件
482 0
|
ARouter 安全 API
XRouter 一个轻量级的Android路由框架,基于ARouter上进行改良,优化Fragment的使用,可结合XPage使用
XRouter 一个轻量级的Android路由框架,基于ARouter上进行改良,优化Fragment的使用,可结合XPage使用
966 0
XRouter 一个轻量级的Android路由框架,基于ARouter上进行改良,优化Fragment的使用,可结合XPage使用
|
监控 算法 安全
美团点评智能支付核心交易系统的可用性实践(下)
背景 每个系统都有它最核心的指标。比如在收单领域:进件系统第一重要的是保证入件准确,第二重要的是保证上单效率。清结算系统第一重要的是保证准确打款,第二重要的是保证及时打款。我们负责的系统是美团点评智能支付的核心链路,承担着智能支付100%的流量,内部习惯称为核心交易。因为涉及美团点评所有线下交易商家、用户之间的资金流转,对于核心交易来说:第一重要的是稳定性,第二重要的还是稳定性。
美团点评智能支付核心交易系统的可用性实践(下)
|
监控 NoSQL Redis
Redis哨兵集群工作原理及架构部署(八)
Redis哨兵集群工作原理及架构部署 文章目录 Redis哨兵集群工作原理及架构部署 1.redis哨兵模式原理 2.搭建redis哨兵集群 2.1.环境准备 2.2.在所有机器上部署redis 2.3.三台redis部署完成 2.4.配置redis主从 2.5.部署哨兵进程sentinel 2.6.启动哨兵观察配置文件的变化 2.7.模拟主库故障验证应用是否可用 2.8.主库挂掉其他节点配置文件的变化
716 0
Redis哨兵集群工作原理及架构部署(八)

热门文章

最新文章