云厂商下一块必争之地就是它了!

简介: 继容器编排、AI 工程化之后,全球顶级云厂商都瞄准了这块无人区。

头图.jpg

作者 | 太浪

继容器编排、AI 工程化之后,全球顶级云厂商都瞄准了这块无人区。

1

回顾云计算十几年的历史,或者也可以视其为一部“为开发者服务简史”。

没有应用程序的计算机,就像一台大型计算器。

自世界上第一台计算机诞生,它就离不开程序的驱动。

随着人类科技的不断发展,PC 和 Internet 陆续问世,进入全民拥抱信息化的时代。人们用计算机来办公和娱乐。于是,计算机程序开始变成了一门生意。程序还逐步演进为“软件”,变成了最赚钱的产品之一。

开发一款软件,需要购买和维护应用(application)、数据(data)、运行库(runtime)、中间件(middleware)、操作系统(OS)、虚拟化技术(virtualization)、服务器(servers)、存储(storage)、网络(networking)共计 9 种设备/技术。这要求开发人员既要懂软件开发,又要懂软件测试,还要懂软件运维。

而随着用户对软件功能要求的增多,要求开发人员不断对软件进行改动,使得软件变得越来越复杂,计算越来越繁琐,存储和处理的信息越来越多,以至于开发组织越来越难,最终引发“软件危机”,包括很多软件项目开发时间大大超期,软件开发难度越来越大。

人们开始研究、改变软件开发的技术手段和管理方法。

1968 年,北大西洋公约组织提出“软件工程”的概念。从 1970 年代起,软件产生进入了软件工程时代。每隔 5-10 年,软件工程就会获得一次突破性发展。

从最初的机器指令开始,发展到面向对象,再到云计算,目的都是让软件开发变得越来越简单,越来越能迎合用户的要求。

云计算厂商出现后,将其中某些层次整合起来(比如存储、服务器、操作系统)打包成一种服务对外出售。企业/开发者只需直接租用这些服务,像缴水电费一样即可。

在云计算发展的初期,云计算以满足企业增量 IT 需求为主。但随着云计算的逐步渗透,企业逐步实现全面上云,从基础设施上云、到平台系统上云、再到业务应用上云。相对应的,云计算厂商推出了 IaaS(基础设施即服务)、 CaaS(容器即服务)、PaaS(平台即服务)、SaaS(软件即服务)等服务形式。

1.png

十几年前,云计算技术诞生,掀起了物理主机托管的基础设施变革风潮。云计算实现了计算资源与物理硬件的解耦,虚拟化技术的发展运用,使得云主机 ECS 成为企业的基础设施。

随着容器技术普及,PaaS 平台逐渐兴起。PaaS 是构建在 IaaS 之上的一种平台服务,操作系统安装、监控和服务发现等功能。

云厂商提供了应用所依赖的服务、运行环境和底层所需的计算资源后,企业/用户只需部署自己的应用即可,使得应用的开发、部署和运维的整体效率再度提升。

但尽管 PaaS 平台已经广泛应用,但仍有优化空间,是否能有一种全新的架构,将业务与基础设施完全剥离?无服务器架构(Serverless )应运而生。

Serverless 的概念最早要追溯到 2012 年。Ken Fromm 在《软件和应用的未来是 Serverless》中率先提出了 Serverless 的概念,但却并未引起广泛关注。

所谓“无服务器”,并不是不需要服务器,而是把这摊子高技术含量的事儿“外包”给了更专业的人。企业/开发者自己担心的东西变少了,云厂商操心的事情增多了。

一般情况下,一个应用程序要上线,除了写出代码,还要关心应用部署服务器,以及对服务器进行维护操作,比如资源申请、环境搭建、负载均衡、扩缩容、监控、日志、告警、容灾、安全、权限等。

Serverless 架构的出现,把计算资源和系统环境与应用程序解耦,让开发者在构建应用的过程中,无需关注计算资源的获取和运维,只需专注于应用逻辑的开发。

这就好像专业相机与傻瓜相机/全自动相机的区别。使用专业相机,需要手动调节景深、光圈、快门速度、ISO 感光度、焦距、曝光度等各种参数,容易让人不知如何下手。而使用全自动相机/傻瓜相机,只要找好角度、将镜头对准被摄物,按下快门键,相机就会自动完成所有的步骤,操作十分简单。

在 Serverless 架构中,计算资源是作为服务而不是服务器的概念出现的。公有云厂商按照计算次数收费,业务代码仅在调用时才激活运行,当响应结束占用资源便会释放,真正做到了弹性伸缩与按使用付费。开发者只需要将代码包装成函数,上传到公有云平台,即可以弹性、可靠的方式运行代码,根据时间驱动执行计算。

既缩短了应用上线时间,也降低了运营成本,Serverless 架构因此受到广泛关注,并被认为是云计算未来的趋势。

即便如此,Serverless 依然没有统一的定义,各云厂商都在推广布道、抢占地盘。

广义的 Serverless 包含 FaaS(Functions as a Service,函数即服务)和 BaaS(Backend as a Service,后端即服务)两个方面。

FaaS 是 Compute as a Service(计算即服务)的一种形式,是一项基于事件驱动的函数托管计算服务。于 FaaS 而言,写出一个函数,就是一个功能。开发者要做的,只是写下函数,然后再用配置文件告诉服务器如何让它运行。

BaaS 可让开发人员访问各种各样的第三方服务和应用。常见的 BaaS 服务包括数据库管理、云存储、用户认证、推送通知、远程更新、消息队列,大多由云服务商提供,用户无需关心和运维底层基础资源。在 BaaS 中,Serverless 功能通常通过应用编程接口(API)调用。

因此,只有实现了 FaaS+BaaS,才能说真正实现了 Serverless。

2.png

2014 年,AWS 推出了首款函数计算产品 Lambda。Lambda 就是一款 FaaS,它彻底改变了对软件交付方式的看法。

Lambda 的设计理念很简单,因为云计算最终是面向应用提供服务,而应用由函数(functions,即业务逻辑的载体)+ 数据(data,即跟业务相关的输入与输出),以及这两者之间的交互——即事件(events,常见的事件如增加、变更、删除等)组成。

换言之,对于一个应用来说,除了 functions、data、events 这三个东西是根本之外,其他无论什么代码和框架,无非都是胶水或者UI罢了。

既然如此,理想的情况是用最少的时间写胶水,将更多的时间投入到应用的核心逻辑当中。

在 Lambda 上,用户无需预置或管理服务器即可运行代码,pay as you go。只要上传代码,Lambda 会处理运行和扩展高可用性代码所需的一切工作。

在亚马逊对 Serverless 探索了两年后,云计算巨头谷歌、微软等也陆续推出 Serverless 架构的函数服务。2017 年,国内的阿里云也推出首款 Serverless 产品——函数计算 Function Compute(简称 FC)。

在阿里云看来,Serverless 是一种面向未来的云计算技术,是一种“来了就用,功能齐全,用完即走”的全新计算提供方式。Serverless 只为实际产生的资源消耗付费,而无需为闲置的资源买单。省时省心省力省钱,帮助客户实现“用云自由”。

3

国内云厂商在创新上也不遗余力,阿里云函数计算可做到单实例启动仅需 200 毫秒,1 分钟可弹出 20000 实例,并针对客户需求,率先提供单实例多并发模式,和业界首个支持预留按量实例混合伸缩、NAS 文件系统挂载功能。

目前,阿里云函数计算日调用次数超过 120 亿次,不仅支撑了 双11 百万 QPS 洪峰,也是国内服务规模最大的 Serverless 厂商,国内市场份额第一,业务规模年同比增速超过 300%。

经过三年多时间的追赶,阿里云已经成从“跟随者”变为“领导者”,与 AWS 并驾齐驱。

权威咨询机构 Forrester 近期公布的 2021 年第一季度 FaaS 平台评测报告显示,在 19 个评估项目中,阿里云 Serverless 产品拿到了 8 项满分和 12 项最高分,综合产品能力位列全球第一、战略愿景全球第二。与亚马逊 AWS、微软 Azure 并列 Serverless“领导者象限”。这也是首次有国内科技公司进入 FaaS 领导者象限。

目前,阿里云 Serverless 产品已经大规模使用,可能在你不知道的时候,你已经用上了它。比如,抢优惠券、大促秒杀、微博吃瓜、网课直播。

在抢优惠券这个场景中,假设晚上 8 点钟下发优惠券,预估会有 5 万人来抢,但实际情况突然来了 8 万人,之前预备的资源没法承担 8 万人,导致另外 3 万人看到界面是 404,或者页面显示“等一等”。阿里云函数计算能做到毫秒级的扩容、伸缩。不用提前预估,来多少个人,都能兜住。企业只要接入阿里云提供的 API 接口,每个用户都能加载出抢券页面。

目前,已经有数万家企业客户成功运用阿里云 Serverless 实现降本增效,全面覆盖前端全栈,小程序、新零售、游戏互娱、在线教育等场景行业。

阿里云在 Serverless 上取得的成绩并非一蹴而就。

阿里云是国内最早布局 Serverless 的云厂商 ,但当时国内对 Serverless 的认知还是不足。

阿里云 Serverless 团队卯足了劲儿,要打造国内最好的 Serverless 产品。可当产品面向市场,已经过了新鲜期,结果不甚理想,“你发现做出来的东西不完全适用中国客户的要求,如果要改就是很大的改动,我们相当于从头重新来了一遍。”这让 Serverless 技术一号位杨皓然(花名:不瞋)不得不开始重新思考。

最困难的时候是 2019 年。那会儿,市场对 Serverless 接受度不高,研发人员也开始干销售的活儿,找工单、给客户打电话、写文档。到 2019 年 6 月份,所有研发人员都出去找市场机会,拜访客户,做布道,但转化效果都不高。

在将函数计算在阿里集团内推广,并与集团原有的 FaaS 产品进行整合后,事情迎来转机。这一步很关键,不瞋团队根据反馈对技术和产品进行了大幅改进,而来自兄弟团队的诉求也是很多企业客户的诉求。

2020 年 双11,阿里巴巴在淘宝、支付宝、钉钉、高德、飞猪等核心业务上实现 Serverless 规模化落地,成为国内 Serverless 首次大规模实践的里程碑。

使用函数计算 FC,实现了 双11 会场弹窗秒弹,也接住了 双12 的流量,助力飞猪火车票基础服务升级,保障了高德十一出行节。Serverless 不再仅仅是小程序的“专属名词”,还有更广泛的应用空间,如电商大促、音视频转码、AI 算法服务、游戏应用包分发、文件实时处理、物联网数据处理、微服务等场景。

这给还在观望的大企业们吃了颗定心丸。

如今,汽车厂商的车载系统、车联网应用也在用函数计算 FC 提供计算支持。

新冠疫情让远程办公、在线教育、在线游戏的应用需求短期内增加。业务规模的爆发式增长,对每一个需求的响应需要更加及时,这对应用架构的弹性,对底层计算的速度,对研发效率的提升等提出了更高的要求,驱动业务加速向新技术架构演进。

2020 年,阿里云神龙计算平台的性能升级为 FC 的产品能力带来了大幅提升。阿里云 Serverless 从原来的虚拟机架构演进到“神龙裸金属服务器+袋鼠安全容器架构”。新冠疫情期间,函数计算 FC 应用在数字抗疫中,助力 20 万+ 企业远程复工。

比如,教育场景中,老师对开课这件事是有时效性要求的,这就要求后台能够短时间内启动可能数千个实例进行响应,这也恰恰是函数计算 FC 的用武之地。

3.png

如今,阿里云 Serverless 的背后,是四大核心技术——神龙计算平台、袋鼠沙箱容器、盘古存储平台和洛神网络平台在提供支撑。为了良好的用户体验,阿里云 Serverless 团队还将按量计费的颗粒度缩小到毫秒。现在, Serverless 正在继续和容器、微服务等生态融合,降低开发者使用 Serverless 技术的门槛。

阿里云 Serverless 的目标是,帮助更广泛的客户实现向新技术架构的平滑迁移,让 Serverless 渗透到所有的云应用中。

为了这片星辰大海,不瞋和他的团队一直在路上。

参考:
1、《无服务器架构白皮书(2019年)》,云计算开源产业联盟OSCAR
2、《AWS Lambda》,孔令贤
3、《云计算对传统软件工程的影响》

原文链接

本文为阿里云原创内容,未经允许不得转载。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/513579.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

shell 如何调用多个脚本

简介 这篇文章主要描述如何通过主脚本去调用其他脚本中的方法,调用的过程中可能出现哪些坑,如何避免。 目录 1. 主脚本调用其他脚本的方法 1.1. bash方法 1.2. source方法 2. 避坑技巧 2.1. 路径配置无效 2.2. source变量冲突 3. 总结 1. 主脚本调…

es对已有的索引给主键_ES中对索引的相关操作

写在前面:本文ES版本为:6.4.2(单机),并安装了head插件,运用postman进行操作。也可以使用head插件在前端浏览器中进行傻瓜式操作,后续会介绍这种方式!如果没有安装es和head插件的话,请先安装&…

“华为云-东吴杯”圆满成功,顶尖参赛者推动“智造”场景结构升级

2021年10月9日,“华为云-东吴杯”2021数字化转型创新应用大赛(以下简称“华为云-东吴杯”)的最终决赛如期上演,给来自创客赛道和企业赛道的顶尖开发者及团队搭建了一个绝佳的舞台,令其充分展示投身数字化转型领域所获得…

云原生下的灰度体系建设

简介: 本篇文章,我们将继续为大家介绍 ASI SRE(ASI,Alibaba Serverless infrastructure,阿里巴巴针对云原生应用设计的统一基础设施) 是如何探索在 Kubernetes 体系下,建设 ASI 自身基础设施在大…

引用和指针的区别都有什么_C++指针与引用的区别

指针与引用是C中两个很重要的概念,它们功能看过去很相似,就是都是间接引用某个对象,那么我们应该在什么时候使用指针,什么时候使用引用呢,下面请允许我慢慢道来:1.永远不要使用一个指向空值的引用。一个引用…

混合云K8s容器化应用弹性伸缩实战

简介: 混合云K8s容器化应用弹性伸缩实战1. 前提条件 本最佳实践的软件环境要求如下: 应用环境: ①容器服务ACK基于专有云V3.10.0版本。 ②公共云云企业网服务CEN。 ③公共云弹性伸缩组服务ESS。 配置条件: 1)使用专有云…

lodop打印不显示页码_Excel|13个Excel打印技巧汇总,打印技巧大全

打印技巧是工作必备,无需理由!很多时候大家得不到想要的打印效果,偶尔打印一两张表格,会出现各种状况:标题行不见了?打印范围错了?页眉页脚不对?打印一个内容,总得弄出一…

关于写好文章的3个心法和5点技巧

简介: 技术类文章最需要的是扎实的经验累积、深度思考和精益求精的精神,这些技巧,希望能够锦上添花。 作者 | 双宏 来源 | 阿里技术公众号 我是双宏,负责阿里巴巴内部技术人社区的内容运营,包括每天头条热文专题推荐、…

工商银行分布式服务 C10K 场景解决方案

简介: Dubbo 是一款轻量级的开源 Java 服务框架,是众多企业在建设分布式服务架构时的首选。中国工商银行自 2014 年开始探索分布式架构转型工作,基于开源 Dubbo 自主研发了分布式服务平台。 作者 | 颜高飞 来源 | 阿里巴巴云原生公众号 Dubb…

matlab cell转数组_MATLAB批量修改文件名

评论区旁友建议使用narsort排序而不是直接修改文件名。我觉得相关条件下也可以,所以原文末尾加上了narsot排序法。以下是原文2019-05-09最近实验室小可爱帮忙做实验和记录实验数据,不过新手总有些错误操作,比方说因为忘记修改存储路径导致图片…

Spring Cloud Bus 消息总线介绍

简介: 本文配套可交互教程已登录阿里云知行动手实验室,PC 端登录 start.aliyun.com 在浏览器中立即体验。 作者 | 洛夜 来源 | 阿里巴巴云原生公众号 本文配套可交互教程已登录阿里云知行动手实验室,PC 端登录 start.aliyun.com 在浏览器中立…

更灵活的边缘云原生运维:OpenYurt 单元化部署新增 Patch 特性

简介: 在正文开始之前,我们先回顾一下单元化部署的概念和设计理念。在边缘计算场景下,计算节点具有很明显的地域分布属性,相同的应用可能需要部署在不同地域下的计算节点上。 作者 | 张杰(冰羽) 来源 | 阿里…

Gartner:2022年全球IT支出将超4万亿美元,软件增速最高

编辑 | 宋慧 供稿 | Gartner 根据Gartner的最新预测,2022年全球IT支出预计将达到4.5万亿美元,相比2021年增长5.5%。 Gartner杰出研究副总裁John-David Lovelock表示:“越来越多的企业将构建新技术和软件,而不是购买和部署它们&am…

Flink 实时计算在微博的应用

简介: 微博通过将 Flink 实时流计算框架跟业务场景相结合,在平台化、服务化方面做了很大的工作,在开发效率、稳定性方面也做了很多优化。我们通过模块化设计和平台化开发,提高开发效率。 微博机器学习研发中心数据计算负责人&…

移动云帮我养出了一片致富鱼塘

“通过U鱼智慧管理平台,水产养殖由‘人治’转变为‘智治’,养得舒心、卖得放心、吃得安心。”广东省渔业种质保护中心相关负责人表示。准确研究,提升科学养殖水平广东省渔业种质保护中心坐落于广州市南沙区东涌镇,占地580亩&#…

sketch里的ios控件_使用Sketch建立Design System

一、 有关Design System之前的文章《使用Adobe XD建立Design System》中介绍了什么是Design System,它有什么用,在设计的哪个阶段使用以及如何用Adobe XD来搭建。这篇文章主要侧重在UI风格已确定的设计后期,用Sketch工具来搭建一个Design Sys…

论好文章和烂文章

简介: 我们为何写作?对于许多技术同学来说,写作是一件比写代码困难许多的事情,和电脑相顾无言数小时,发现自己写不出什么像样的东西来,着实不是一种很好的体验。 作者 | 许晓斌 来源 | 阿里巴巴云原生公众号…

好代码实践:基于Redis的轻量级分布式均衡消费队列

简介: 好代码,给人第一个印象的感觉,就像一篇好文章一样,读起来朗朗上口。不同的文章有不同的风格体裁,不同的代码也有不同的编程风格要求。Python有严格的缩进,像诗歌一样工整对仗;C语言面向过…

浅析低功耗广域网及在智慧城市中的应用

作者 | 沈建华、冷咏雪根据知名物联网分析机构IoT Analytics预测,到2025年,物联网连接数将达到非物联网连接数的3倍。低功耗广域网(LPWAN)作为物联网连接的核心基础设施,其业务特点是发送数据极小,并且为了维持电池供电设备的长时…

rocketmq怎么保证数据不会重复_RocketMQ保证信息有序性和防止重复

分布式开放消息系统(RocketMQ)的原理与实践分布式消息系统做为实现分布式系统可扩展、可伸缩性的关键组件,须要具备高吞吐量、高可用等特色。而谈到消息系统的设计,就回避不了两个问题:java消息的顺序问题消息的重复问题RocketMQ做为阿里开源…