云原生时代业务架构的变革:从单体迈向Serverless

如今,各行各业都在谈数字化转型,尤其是新零售、传媒、交通等行业。数字化的商业形态已经成为主流,逐渐替代了传统的商业形态。在另外一些行业里(如工业制造),虽然企业的商业形态并非以数字化的形式表现,但是在数字孪生理念下,充分利用数据科技进行生产运营优化也正在成为研究热点和行业共识。

企业进行数字化转型,从生产资料、生产关系、战略规划、增长曲线四个层面来看:

  • 生产资料:数据成为最重要的生产资料,需求/风险随时变化,企业面临巨大的不确定性。
  • 生产关系:数据为中心,非基于流程和规则的固定生产关系。网络效应令生产关系跨越时空限制,多连接方式催生新的业务和物种。
  • 战略规划:基于数据决策,快速应对不确定的商业环境。
  • 增长曲线:数字化技术带来触达海量用户的能力,可带来突破性的增长。

从云服务商的角度来看云的演进趋势,在Cloud 1.0时代,基础设施的云化是其主题,采用云托管模式,云上云下的应用保持兼容,传统的应用可以直接迁移到云上,这种方式的核心价值在于资源的弹性和成本的低廉;在基础设施提供了海量算力之后,怎么帮助用户更好地利用算力,加速企业创新的速度,就成为云的核心能力。

如果仍在服务器上构建基础应用,那么研发成本就会很高,管理难度也很大,因此有了Cloud 2.0,也就是云原生时代。在云原生时代,云服务商提供了丰富的托管服务,助力企业数字化转型和创新,用户可以像搭积木一样基于各种云服务来构建应用,大大降低了研发成本。

云原生应用要素

云原生应用有三个非常关键的要素:微服务架构,应用容器化和Serverless化,敏捷的软件交付流程。

1. 微服务架构

单体架构和微服务架构各有各的特点,其主要特点对比如下图所示。总的来说,单体架构上手快,但是维护难,微服务架构部署较难,但是独立性和敏捷性更好,更适合云原生应用。image.png

2. 应用容器化和Serverless化

容器是当前最流行的代码封装方式,借助K8s及其生态的能力,大大降低了整个基础设施的管理难度,而且容器在程序的支撑性方面提供非常出色的灵活性和可移植性,越来越多的用户开始使用容器来封装整个应用。

Serverless计算是另外一种形态,做了大量的端到端整合和云服务的集成,大大提高了研发效率,但是对传统应用的兼容性没有容器那么灵活,但是也带来了很大的整洁性,用户只需要专注于业务逻辑的编码,聚焦于业务逻辑的创新即可。

3. 敏捷的应用交付流程

敏捷的应用交付流程是非常重要的一个要素,主要包括流程自动化,专注于功能开发,快速发现问题,快速发布上线。

Serverless 计算

1. 阿里云函数计算

Serverless是一个新的概念,但是其内涵早就已经存在。阿里云或者AWS的第一个云服务都是对象存储,对象储存实际上就是一个存储领域的Serverless服务;另外,Serverless指的是一个产品体系,而不是单个产品。当前业界云服务商推出的新功能或者新产品绝大多数都是Serverless形态的。阿里云Serverless产品体系包括计算、存储、API、分析和中间件等,目前云的产品体系正在Serverless化。

阿里云Serverless计算平台函数计算,有4个特点:

  • 和云端无缝集成:通过事件驱动的方式将云端的各种服务与函数计算无缝集成,用户只需要关注函数的开发,事件的触发等均由服务商来完成。
  • 实时弹性伸缩:由系统自动完成函数计算的弹性伸缩,且速度非常快,用户可以将这种能力用在在线应用上。
  • 次秒级计量:次秒级的计量方式提供了一种完全的按需计量方式,资源利用率能达到百分之百。
  • 高可用:函数计算平台做了大量工作帮助用户构建高可用的应用。

那么,阿里云函数计算是如何做到以上4点呢?阿里云函数计算的产品能力大图如下图所示,首先函数计算产品是建立在阿里巴巴的基础设施服务之上的产品,对在其之上的计算层进行了大量优化。接着在应用层开发了大量能力和工具,基于以上产品能力,为用户提供多种场景下完整的解决方案,才有了整个优秀的函数计算产品。函数计算是阿里云的一个非常基础的云产品,阿里云的许多产品和功能均是建立在函数计算的基础上。目前阿里云函数计算已经在全球19个区域提供服务。image.png

2. Serverless帮助用户简化云原生应用高可用设计、实施的复杂度

云原生应用的高可用是一个系统的工程,包括众多方面,完整的高可用体系构建需要很多时间和精力。那么Serverless计算是如何帮助用户简化云原生应用高可用设计、实施的复杂度呢?

如下图所示,高可用体系建设要考虑的点包括基础设施层、运行时层、数据层以及应用层,且每一层都有大量的工作要做才可以实现高可用。函数计算主要是从容错、弹性、流控、监控四方面做了大量工作来实现高可用,下图中蓝色虚线框所对应的功能均由平台来实现,用户是不需要考虑的。蓝色实线框虽然平台做了一些工作来简化用户的工作难度,但是仍需要用户来进行关注,而橘红色的实线框代表需要用户去负责的部分功能。结合平台提供的功能和用户的部分精力投入,可以极大地减轻用户进行高可用体系建设的难度。image.png
函数计算在很多方面做了优化来帮助用户建设高可用体系。下图展示了函数计算在可用区容灾方面的能力。从图中可知,函数计算做了相应的负载均衡,使得容灾能力大大提升。

image.png

函数计算多可用区容灾


下图展示的是函数计算对事件的异步处理,其处理流水线主要包括事件队列、事件分发、事件消费三个环节,在每一个环节上都可以进行水平伸缩,其中一个比较关键的点是事件的分发需要匹配下游的消费能力。另外,通过为不同函数指定不同数量的计算资源,用户能方便地动态调整不同类型事件的消费速度。此外,还可以自定义错误重试逻辑,并且有背压反馈和流控,不会在短时间内产生大量请求时压垮下一个服务。

image.png

函数计算事件异步处理


在函数计算的可观测性上面,提供了日志收集和查询功能,除了默认的简单日志查询功能外,还提供了高级日志查询,用户可以更方便地进行日志分析。在指标收集和可视化方面,函数计算提供了丰富的指标收集能力,并且提供了标准指标、概览信息等视图,可以更方便用户进行运维工作。

下图是应用交付的一个示意图,在整个应用的交付过程中,只有每个环节都做好,才能够建设一个敏捷的应用交付流程,其核心是自动化,只有做到了自动化,才能提升整个流水线的效率和敏捷度。image.png

敏捷的应用交付流程


下图展示了自动化应用交付流水线在每个环节的具体任务。其中需要注意的是做到基础设施即代码,才能进行模板定义和自动化设置应用运行环境,进而实现自动化的持续集成等。

image.png

自动化应用交付流水线

做到了应用的自动化交付之后,对整个研发效率的帮助是非常大的。在Serverless应用上,阿里云提供了多种工具来帮助用户实现基础设施即代码。Serverless的模型有一个很好的能力,就是同一份模板可以传入不同的参数,进而生成不同环境的定义,然后通过自动化地管理这些环境。

对于应用本身不同服务版本的交付和灰度发布,函数计算提供了服务版本和服务别名来提供相应的服务,整个应用的灰度发布流程可以简化成一些API的操作,大大提升业务的效率。通过Serverless计算平台提供的这些能力,整个软件应用的交付流水线自动化程度得到了大幅度的提高。

函数计算还有一个很有用的功能——对存量应用的兼容性。通过Custom runtime,能够适配很多的流行框架,兼容传统应用,使其能够很容易地适配到Serverless平台上面,由控制台提供应用的创建、部署、关联资源管理、监控等一系列服务。

除了函数计算,还可以用Serverless工作流对不同的应用环节、不同的函数进行编排,通过描述性的语言去定义工作流,由其可靠地执行每一个步骤,这就大幅度降低用户对于复杂任务的编排难度。

应用场景案例

函数计算有几个典型的应用场景,一个就是Web/API后端服务,阿里云已经有包括石墨文档、微博、世纪华联在内的多个成功应用案例。

函数计算的另外一个应用场景就是大规模的数据并行处理,比如往OSS上面上传大量的图片、音频、文本等数据,可以触发函数做自定义的处理,比如转码、截帧等。这方面的成功案例包括虎扑、分众传媒、百家互联等。

函数计算还有一个应用场景就是数据实时流式处理,比如不同的设备产生的消息、日志发送到消息队列等管道类似的服务中,就可以触发函数来进行流式处理。

最后一个应用场景就是运维的自动化,通过定时触发、云监控事件触发、流程编排等方式调用函数完成运维任务,大大降低运维成本和难度,典型的成功案例有图森未来等。

图森未来是一家专注于L4级别无人驾驶卡车技术研发与应用的人工智能企业,面向全球提供可大规模商业化运营的无人驾驶卡车技术,为全球物流运输行业赋能。在路测过程中会有大量数据产生,而对这些数据的处理流程复杂多变,即使对于同一批数据,不同的业务小组也会有不同的使用及处理方式。如何有效管理不同的数据处理流程、降低人为介入频率能够大幅的提高生产效率。

路测不定时运行的特点使得流程编排任务运行时间点、运行时长具有极大的不确定性,本地机房独自建立流程管理系统难以最大优化机器利用率,造成资源浪费。而图森未来本地已有许多单元化业务处理脚本及应用程序,但因为各种限制而无法全量的迁移上云,这也对如何合理化使用云上服务带来了挑战。

针对上述情况,图森未来开始探索数据处理平台的自动化。阿里云 Serverless 工作流按执行调度的次数计费,具有易用易集成、运维简单等诸多优点,能够很好的解决上述场景中所遇到的问题,非常适合这类不定时运行的离线任务场景。

Serverless 工作流还支持编排本地或自建机房的任务,图森未来通过使用Serverless 工作流原生支持的消息服务MNS解决了云上云下的数据打通问题,使得本地的原有任务得到很好的编排及管理。

除了调度外,Serverless 工作流也支持对任务的状态及执行过程中所产生的数据进行维护。图森未来通过使用任务的输入输出映射及状态汇报机制,高效的管理了流程中各任务的生命周期及相互间的数据传递。

在未来,随着业务规模的扩大,图森未来将持续优化离线大数据处理流程的运行效率及自动化水平。通过各种探索,图森未来将进一步提升工程团队的效率,将更多的精力和资金投入到业务创新中去。

总结

Serverless 工作流是阿里云 Serverless 产品体系中的关键一环。通过 Serverless 工作流,用户能够将函数计算、视觉智能平台等多个阿里云服务,或者自建的服务,以简单直观的方式编排为工作流,迅速构建弹性高可用的云原生应用。

自2017年推出函数计算起, 该服务根据应用负载变化实时智能地弹性扩缩容,1分钟完成上万实例的伸缩并保证稳定的延时。目前已经支撑微博、芒果TV、华大基因、图森未来、石墨科技等用户的关键应用,轻松应对业务洪峰。

原文链接
本文为云栖社区原创内容,未经允许不得转载。

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

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

相关文章

冯诺依曼架构的 IO 鸿沟,谁能来填补?

作者 | 宋慧头图 | 下载于视觉中国随着AI技术、数据分析等领域兴起,数据变得越来越重要了,数据处理往往需要用到大量的内存,数据量爆发式增长让各种内存密集型应用层出不穷,如Redis数据库、SAP HANA企业核心系统。在CSDN 2019、20…

使用Git后10件你可能需要“反悔”的事

云栖号资讯:【点击查看更多行业资讯】 在这里您可以找到不同行业的第一手的上云资讯,还在等什么,快来! Git是目前世界上最优秀最流行的分布式版本控制系统,也是程序员们日常使用最频繁的工具之一(几乎每天都…

SpringBoot 整合MongoDB

文章目录1. 引入依赖2. 在yml中添加配置3. 在启动类中开启mongodb在model中添加依赖&#xff0c;为什么在model中添加&#xff1f;因为会有映射的实体类MongoObject对应mongodb中的数据表对象&#xff1a;1. 引入依赖 <dependency><groupId>org.springframework.b…

浏览器从输入URL到页面渲染过程 ——页面渲染流程

之前我有总结过一篇经典面试题&#xff1a;浏览器从输入URL到页面渲染过程 &#xff0c;接下里我将对某些知识点进行更细致的解析。 浏览器从输入URL到页面渲染过程 系列文章&#xff1a; &#xff08;一&#xff09;&#xff1a;浏览器从输入URL到页面渲染过程 —— 浏览器的…

阿里发布2020农产品电商报告数字农业将成风口

完美日记创立于2017年&#xff0c;这家公司上线不到两年即成为天猫彩妆销冠&#xff0c;2019年成为11年来第一个登上天猫双十一彩妆榜首的国货品牌&#xff0c;包揽天猫2019全年彩妆销冠&#xff1b;2020年4月成为首个亮相天猫超级品牌日的国货彩妆品牌&#xff0c;同时勇破彩妆…

【干货】和你谈谈数据分析报告

前言&#xff1a; -更多关于数智化转型、数据中台内容请加入阿里云数据中台交流群—数智俱乐部 &#xff08;文末扫描二维码或点此加入&#xff09; -阿里云数据中台官网 https://dp.alibaba.com/index &#xff08;作者&#xff1a;数智从业者&#xff09; 在当今企业纷纷推动…

Vue3 安装axios使用报错:Uncaught TypeError: Cannot read property ‘use‘ of undefined

最近在学习Vue3&#xff0c;使用vue cli4搭建了一个demo项目&#xff0c;安装axios后&#xff0c;控制台报错&#xff1a; Uncaught TypeError: Cannot read property use of undefinedat eval (axios.js?be3b:59)at Module../src/plugins/axios.js (app.js:1229)at __webpac…

云原生五大趋势预测,K8s安卓化位列其一

作者 | 李响、张磊 Kubernetes 本身并不直接产生商业价值&#xff0c;你不会花钱去购买 Kubernetes 。这就跟安卓一样&#xff0c;你不会直接掏钱去买一个安卓系统。Kubernetes 真正产生价值的地方也在于它的上层应用生态。 “未来的软件一定是生长于云上的”&#xff0c;这是…

centos7 linux 安装 keeplived

文章目录一、简介部署总览1. 简介2. 部署总览二、安装实战2.1. 安装环境2.2. 下载软件包2.3. 同步软件包2.4. 解压、编译、安装三、系统服务3.1. 配置复制3.2. 脚本复制3.3. 服务开机启动四、配置修改4.1. 编辑配置4.2. 140 服务器配置4.3. 141 服务器配置4.4. 启动keepalived4…

阿里人脸识别安全技术获专利可防范3D人脸面具攻击

云栖号资讯&#xff1a;【点击查看更多行业资讯】 在这里您可以找到不同行业的第一手的上云资讯&#xff0c;还在等什么&#xff0c;快来&#xff01; 当人脸识别遇上3D技术&#xff0c;谁将是最后的胜利者?长期困扰人脸识别行业的安全问题有了最新的解法。日前&#xff0c;阿…

vue3中 使用 swiper 插件,自定义切换按钮, 将 前进后退 、左右切换 按钮放到容器外部

今天在使用 swiper 时&#xff0c;遇到一个 坑爹的 问题。 swiper 组件的本来样式长这样&#xff1a; 左右切换的按钮在滑动容器内部&#xff0c;但是我们想要它跑到容器外面去。 网上找了一堆方法都不好使 也不知道是不是因为 我使用的是 高版本原因 最终实验结果&#x…

一眼看尽5G江湖,Gartner发布5G网络基础设施魔力象限报告

作者 | 白告天来源 | 边缘计算社区头图 | 下载于视觉中国近日&#xff0c;国际权威分析机构Gartner发布了首份《通信运营商5G网络基础设施魔力象限》报告。以最直观的方式展示了这一领域内各家头部企业的力量对比情况。Gartner通信运营商5G网络基础设施魔力象限该魔力象限帮助通…

一篇小文带你走进RabbitMQ的世界

云栖号资讯&#xff1a;【点击查看更多行业资讯】 在这里您可以找到不同行业的第一手的上云资讯&#xff0c;还在等什么&#xff0c;快来&#xff01; 说到消息中间件&#xff0c;大部分人的第一印象可能是Kafka。毕竟Kafka自问世以来&#xff0c;就顶着高并发&#xff0c;大流…

nginx高可用方案:keepalived+nginx vip 动态位移

文章目录一、部署总览常用命令1. 部署总览2. 常用命令二、软件安装配置2.1. 安装keepalived2.2. 安装nginx2.3. 配置静态文件三、测试3.1. 启动nginx3.2. 验证四、vip动态位移测试4.1. 140验证4.2. 141验证4.3. 140停止kp服务4.4. 141 验证4.5. 140 重新启动kp服务一、部署总览…

多角度分析平台即服务?PaaS的类型和用例

云栖号资讯&#xff1a;【点击查看更多行业资讯】 在这里您可以找到不同行业的第一手的上云资讯&#xff0c;还在等什么&#xff0c;快来&#xff01; 没有适合所有人的单一PaaS。即使云计算已经发展了10多年&#xff0c;但对云计算服务模型的定义仍然相当模糊。通常&#xff0…

未来,边缘计算的功能支柱是 Kubernetes

来源 | SDNLAB责编 | 寇雪芹头图 | 下载于视觉中国编者按在数字化转型时代&#xff0c;5G网络是一个飞跃。5G正在推动边缘计算的发展&#xff0c;而Kubernetes则是5G与边缘计算之间的粘合剂。云计算的十年云计算之于信息技术(IT)产业&#xff0c;就像石油之于汽车工业一样。云让…

如何在工作中快速成长?致工程师的10个技巧

云栖号资讯&#xff1a;【点击查看更多行业资讯】 在这里您可以找到不同行业的第一手的上云资讯&#xff0c;还在等什么&#xff0c;快来&#xff01; 作者 | 江建明 阿里巴巴高级无线开发专家 导读&#xff1a;精英人数的增长速度持续加快后&#xff0c;很多人开始焦虑&#…

在新项目中使用 Vue3 使用总结

一、使用背景 最近公司需要搭建一个新项目&#xff0c;用于做官网。因为作为官网&#xff0c;首先项目不算大&#xff0c;一共只有十来个页面&#xff0c;并且想要用户体验感很好&#xff0c;所以最终选定以 Vue 作为技术栈。 虽然 Vue3 &#xff08;中文官网&#xff09;刚问…

2020年从架构谈起到Mesh结束

作者 | 张羽辰&#xff08;同昭&#xff09;阿里云交付专家 导读&#xff1a;如今&#xff0c;几乎所有的事情都离不开软件&#xff0c;当你开车时&#xff0c;脚踩上油门&#xff0c;实际上是车载计算机通过力度感应等计算输出功率&#xff0c;最终来控制油门&#xff0c;你从…