网站设计公司模板下载,浙江大经建设集团网站,seo排名赚app官网,农村创业说起当前最火的技术#xff0c;除了最新的区块链#xff0c;AI#xff0c;还有一个不得不提的概念是Serverless。Serverless作为一种新型的互联网架构直接或间接推动了云计算的发展#xff0c;从AWS Lambda到阿里云函数计算#xff0c;Serverless一路高歌#xff0c;同时… 说起当前最火的技术除了最新的区块链AI还有一个不得不提的概念是Serverless。Serverless作为一种新型的互联网架构直接或间接推动了云计算的发展从AWS Lambda到阿里云函数计算Serverless一路高歌同时基于Serverless的轻量计算开始登录云计算的舞台本文将从两个部分展开 介绍 Serverless的概念历史及其现状与未来的思考。 Serverless Container的概念及现状。 一、聊聊Serverless 前文讲到serverless是一种新型的互联网架构目前尚没有官方权威的定义可以认为 Serverless无服务器架构是基于互联网的系统其中应用开发不使用常规的服务进程。相反它们仅依赖于第三方服务例如AWS Lambda服务客户端逻辑和服务托管远程过程调用的组合。 AWS Lambda 作为Serverless最早的框架产品由亚马逊在2014年推出但最早Serverless概念的并不是由亚马逊提出下面我们简单来聊聊Serverless的历史。 Serverless 历史 发轫之始 2012年云基础设施服务提供商Iron.io的副总裁Ken 提出软件的未来 首次提出来Serverless概念 以下是原文的一段摘录 Even with the rise of cloud computing, the world still revolves around servers. That won’t last, though. Cloud apps are moving into a serverless world, and that will bring big implications for the creation and distribution of software and applications. 初出茅庐 AWS Lambda产品的发布可以认为是Serverless的里程碑再此之前Serverless几乎是停留在概念期直到14年Lambda发布让“Serverless”这一范式提高到一个全新的层面为云中运行的应用程序提供了一种全新的系统体系架构Serverless开始正式走向云计算的舞台。 崭露头角 在AWS发布Lambda之后众多IaaS及Pass厂商争相入市Google Cloud Functions, Azure Funcions, IBM OpenWhisk阿里云函数计算短短数年时间Serverless产品已遍地开花。 未来已来 随着容器技术IoT5G区块链等技术的快速发展 技术上对去中心化轻量虚拟化细粒度计算等技术需求愈发强烈而Serverless必将借势迅速发展未来Serverless将在云计算的舞台上大放异彩 云计算发展看Serverless 首先抛一个总结性观点云计算的发展从IaaSPaaSSaaS到最新的BaaSFasS在这个趋势中serverless(去服务器化越来越明显而Serveless的完善带给云计算将会是一次完美进化 总所周知云计算经历了从IDC - IaaS - PaaS - Serverless/FaaS 的发展历程下面对这些概念做一些基本介绍。 IaaS __IaaS(Infrastructure as a Service) 基础设施即服务__服务商提供底层/物理层基础设施资源服务器数据中心环境控制电源服务器机房用户需要通过IaaS提供的服务平台购买虚拟资源选择操作系统安装软件部署程序监控应用。 目前知名的IaaS平台有AWSAzureGoogle Cloud Plantform阿里云以及开源的OpenStack等。 PaaS PaaS(Platform as a Service) 平台即服务服务商提供基础设施底层服务提供操作系统WindowsLinux、数据库服务器、Web服务器、负载均衡器和其他中间件相对于IaaS客户仅仅需要自己控制上层的应用程序部署与应用托管的环境。 目前知名的PaaS平台有 Amazon Elastic BeanstalkAzureGoogle App EngineVMware Cloud Foundry等。 SaaS SaaS(Software as a Service) 软件即服务 服务商提供基于软件的解决方案如OA、CRM、MIS、ERP、HRM、CM、Office 365、iCloud等客户不需考虑任何形式的专业技术知识只需要通过服务商平台获取软件使用即可。 BaaS BaaS(Backend as a Service) 后端即服务服务商为客户(开发者)提供整合云后端的服务如提供文件存储、数据存储、推送服务、身份验证服务等功能以帮助开发者快速开发应用。 FaaS FaaS(Function as a Service) 函数即服务服务商提供一个平台允许客户开发、运行和管理应用程序功能而无需构建和维护基础架构。 按照此模型构建应用程序是实现“无服务器”体系结构的一种方式通常在构建微服务应用程序时使用。 IaaSPaaSFaaS 对比 举个例子比如小明想开一个水果店 IDC如果盖房子装修然后上架水果这些工作都是小明自己来做。 IaaS如果小明房子是租的装修上架水果是自己做。 PaaS: 如果小明房子是租的可是房子已经装修好了但是上架水果要自己来做。 FaaS如果有一个商家提供装修好的水果店小明只负责把水果送过来其余上架工作都由商家来做。 总结 从IDC → IaaS用户不用关注真实的物理资源。 从IaaS → PaaS用户不再关注操作系统数据库中间件等基础软件。 从PaaS → BaaS/FaaS, 用户可以很少甚至不用关注backendapp可以简化为一个单页面程序。 可以说Serverless是云计算发展到一定阶段的必然产物云计算作为普惠科技发展到最后一定是绿色科技最大程度利用资源减少空闲资源浪费大众科技成本低包括学习成本及使用成本的产品而Serverless将很好的诠释这些 Serverless/FaaS 模型 Serverless是基于事件驱动的编程范型其底层的计算平台一般为轻量计算比如容器计算Docker。 针对该模型本文不再赘述 下面以AWS Lambda及阿里云函数计算为例简单介绍该模型。 AWS Lambda 大致流程如下 UI驱动通过模拟鼠标点击触发事件 当触发事件增多时lambda实例自动扩容 当触发事件减少时lambda实例自动缩容 阿里云函数计算 流程大致如下 UI/Event/Message Driven触发事件 用户Function会package为一个docker镜像 事件调度系统配合Docker集群运行Docker容器来执行Function Serverless价值与影响 低成本 运营成本Serverless将用户的服务器数据库中间件委托于BaaS/FaaS用户将不再参与基础设施及软件的维护尤其在大规模的集群运营上成本大幅度降低。 开发成本对比IaaS或者PaaS平台的服务器或者操作系统Serverless的架构中用户操作的是服务化的组件比如存储服务授权服务等可以缩短开发周期降低开发难度。 真正的按需计费 Serverless/FaaS区别于IaaS/PaaS预先分配计算资源的计费方式其计费方式通常是按请求次数及运行时间一方面可以最大程度利用资源另一方面真正的按需计费可以降低用户的资源成本。 高扩展 Serverless架构一个显而易见的优点即“横向扩展是完全自动的、有弹性的、且由服务提供者所管理”。 “绿色”计算 据统计商业和企业数据中心的典型服务器仅提供5%15%的平均最大处理能力的输出本质上这是对社会资源的一种浪费。而在Serverless架构下提供商将提供更细力度的计算能力最大限度满足实时需求资源利用率将大幅度提升可以认为相对IaaS与PaaS Serverless/FaaS是一种 “绿色” 计算。 NoOps 运维的发展经历了人肉运维自动化运维DevOpsAiOps等而Serverless带来一种新的运维模式这种模式下用户需要管理的只有Code可以认为NoOps。 Serverless应用场景 事件驱动以及响应式架构 IoT物联网场景中低频请求 请求对及时响应需求不够 固定时间触发计算资源利用低的业务 流量突发场景 比如短时间大流量视频转码 短周期内的流量峰值 跨云与混合云场 边缘计算 其它 ... Serverless未来的一些思考 细粒度的计算资源 目前主流的Serverless/FaaS技术底层的计算环境通常是容器比如Docker容器技术是一种比硬件虚拟化更轻量的实现用户可以在虚拟机上运行大量的容器可以更大程度的利用计算资源。 而Serverless的需求可能是更细粒度的计算资源比如最近华为发布的CCI产品容器的规格已经支持千分之一核相信千分之一核只是开始未来Serverless在细粒度资源使用上将发挥无限可能。 统一的容器调度模型 从当前Serverless/FaaS及容器生态的发展来看容器基本都是运行在云主机之上比如aws的ec2阿里云的ecs。 由于云厂商实现方式及不同产品的差异性容器的调度框架选择不尽相同比如有的厂商其Serverless产品是基于kubernetes管理云主机集群进行容器编排及调度比如华为的CCI而有的产品比如阿里云的函数计算产品是基于自研的Agent进行容器调度。那么为什么没有一种产品可以为不同的Serverless服务提供通用的容器调度能力呢 生态圈多样化 Serverless的发展必然会带动其周边生态的完善比如BaaS及FaaS产品的形态将多样化输出举个例子 Serverless架构下用户的Code是没有服务端的而这些服务将由云厂商以BaaS的服务形态提供随着Serverless的发展必然会催生多样化的BaaS服务。 产品抽象输出 Serverless是云计算普惠科技的重磅技术Serverless出现将开发者从复杂的硬件及软件环境中解脱出来而未来可以想象Serverless的产品将会以更加简单的方式呈现给用户举个例子大家熟知的乐高积木不同的小零件按照不同的方式组装可以得到作品最终是多样化的。 而Serverless天生具备这种优势可以想象如果Function以服务化的方式抽象开发者开发一个Cloud App需要做的事情就是在无数的Function里面挑选自己需要的“积木“然后通过一种可视化的工具进行积木组合 二、Serverless Container 前文讲了一些Serverless生态的概念及现状从当前主流Serverless/FaaS 框架如AWS LambdaIBM OpenWhiskIron.io阿里云函数计算分析来看其底层的计算资源通常是Docker容器。可以认为Serverless构建于容器(Docker)之上 什么是Serverless Container Serverless Container无服务器容器用户不再需要关注容器集群和服务器只需关注Docker容器或者Docker Image即可。 通过分析业界主流的的Serverless Container产品如 AWS Fargate Azure ACI 华为CCI 可以看出 Serverless Container 提供了更为简单的体验用户不再需要理解容器编排技术如k8sswarm Serverless Container 提供了更细粒度的的能力比如微核粒度的CPU资源和MB粒度的内存资源 Serverless Container 提供了将容器作为基础计算单元的思路 Serverless Container VS kubernets kuberntes(k8s) 是谷歌开源的容器管理系统类似的产品还有Docker Swarm, Apache Mesos以及集团内的产品Sigma。无疑这些优秀的集群管理系统尤其是k8s已经在生成得到了充分验证从使用角度来说k8s需要用户具备容器及容器编排集群管理等多方面的专业知识而Serverless Container对用户屏蔽了容器集群管理用户使用起来将更简单 结论Serverless Container在容器产品形态上是高于kubernetes的事实上大部分的Serverless Container产品都基于或者兼容kubernetes。 Serverless Container VS Serverless/FaaS 根据上文的分析Serverless Container对用户提供的是一种容器计算资源用户不需要关心容器集群只需要定制vCpu,mem及Docker Image而Serverless/FaaS 提供的是一种服务化的计算能力用户同样不用关心计算集群只需指定vCpumem及Code。 结论FaaS及Serverless Container的底层计算资源都是Docker容器 作者阿里云云栖社区链接https://www.jianshu.com/p/c847bc77e027来源简书简书著作权归作者所有任何形式的转载都请联系作者获得授权并注明出处。转载于:https://www.cnblogs.com/Bkxk/p/11139928.html