图片-稻子网
图片-稻子网
图片-稻子网
图片-稻子网

如何发布网站到服务器-快速开始使用无服务器 | 开始第一课

一、 从云计算到

自从世界上第一台通用计算机ENIAC(左图)诞生以来,计算机科学技术的发展就从未停止过前进。2003年到2006年,谷歌发表了这三篇非常经典的论文(右图),说明了HDFS(分布式文件系统)、(并行计算)和HBase(分布式数据库)的技术基础和未来机会。为云计算的发展方向奠定基础。

图片[1]-如何发布网站到服务器-快速开始使用无服务器 | 开始第一课-稻子网

所以说从。从ENIAC到的三篇经典论文,计算机科学技术的发展在不断推进。在云计算时代,可以说计算机科学技术的发展突飞猛进。

云计算概念

对于云计算的定义,学术界和产业界有不同的理解。回顾云计算的发展历程:

1、2006年,谷歌CEO在搜索引擎大会上首次提出云计算的概念;同年,亚马逊将其弹性计算能力作为云服务器出售,标志着这种新兴的云计算商业模式正式诞生;

2、2008年,微软发布云计算平台Azure,试图托管和在线技术和服务;

3、 2009年发布的《伯克利云计算白皮书》明确指出云计算的定义:云计算包括互联网上的应用服务以及数据中提供这些服务的软硬件设施中央。

在明确定义之后,伯克利提出了对云计算的展望,并指出了云计算面临的10个问题如何发布网站到服务器,例如服务可用性、数据丢失,或者数据安全性和可审计性。

图片[2]-如何发布网站到服务器-快速开始使用无服务器 | 开始第一课-稻子网

二、 概念

定义

翻译成中文是无服务器的。所谓无服务器并不是说不需要依赖服务器等资源,而是开发者不再需要过多考虑服务器。他们可以更专注于产品代码,同时,计算资源也开始被使用。服务的出现,而不是服务器概念的出现,是一个完整的构建和管理基于微服务架构的过程,允许用户在服务部署层面而不是在服务器部署层面管理用户应用部署。与传统架构不同的是,它完全由第三方管理,由事件触发,存在于()中,临时存储(可能只存在于一次调用的过程中)在计算容器中,

建筑学

图片[3]-如何发布网站到服务器-快速开始使用无服务器 | 开始第一课-稻子网

左边是一个传统意义上比较常见的Web应用的架构。它由客户端、服务器、数据库等元素组成。

以往做这样的项目,开发者需要在服务器端做很多操作,比如购买服务器,考虑购买的数量、宽带、操作系统、部署在哪个区、环境、软件等等。 . 之后,人类需要实时监控这台服务器的健康状况,并不断感知。

在该架构下,开发者只需要关心我们的业务代码。在项目的整个开发、上线和维护过程中,用户无需关注服务器级维护,也无需为流量的高峰和低谷进行运维资源。这部分投资将由云厂商负责;同时,在该架构下,用户无需为闲置资源额外支出。

优势

图片[4]-如何发布网站到服务器-快速开始使用无服务器 | 开始第一课-稻子网

该架构具有服务器零运维、空闲时无计算成本等特点;它的交付思维可以体现在将复杂性留给云供应商,并为更多开发人员带来便利。综上所述,上述优点可以体现在以下几个方面:

1) 降本增效

云厂商为用户提供服务器管理和运维工作,为用户提供数据库、对象存储等Baas服务,让用户更专注于自己的业务逻辑,提高研发效率,减少项目创新的同时,用户不用再担心自己的服务器运维、基础设施运维,更不用说这部分的额外费用,也不需要承担更多的运维成本等;架构提供了更完整、更全面的即用即付模式,用户只需按照实际使用的资源量付费;该架构在这个层面上具有明显的优势。

2)安全、方便、可靠

让更专业的人做更专业的事,架构将更多的服务器运营和安全相关的事情留给云厂商去做,大规模提升项目的整体安全性。同时,该架构明显优于其他架构。简单,因为云厂商提供的Baas服务越多,用户管理的组件就越少,这意味着用户可以更轻松、方便地管理项目;同时,架构具有灵活性,即自动伸缩能力,可以使项目在流量增加时自动扩容,在流量减少时自动伸缩,从而保证整个业务的安全稳定。专业的团队为用户保证安全和性能,

一般来说,托管到云厂商后,不仅可以大规模提升项目的整体安全性和稳定性,架构也明显比其他架构简单。

挑战

虽然架构已经存在多年,但真正进入“元年”并实现快速发展的时间其实很短;因此,该架构虽然具有诸多优势,但也面临着一些困难和挑战,包括但不限于严重的冷启动问题和开发工具差。完善、厂商锁定等现象。然而,近年来,该建筑的人气不断攀升,人们对它寄予厚望。各厂商也加大了投入。我相信目前的问题都是暂时的,架构会继续朝着更好用、更易用的方向演进。

在架构为用户提供了全新的编程范式的同时,当用户享受到第一波技术红利时,软件的短板也逐渐暴露出来。比如功能冷启动的问题,现在已经很严重了,有备而来。关注的问题。由于架构具有弹性伸缩的能力,服务提供商会根据用户服务流量的波动来增加或减少实例。示意图如图所示。

图片[5]-如何发布网站到服务器-快速开始使用无服务器 | 开始第一课-稻子网

以阿里云函数计算为例。当系统收到第一个触发函数的事件时,它会启动一个容器来运行代码。如果此时接收到新事件,而第一个容器仍在处理前一个事件如何发布网站到服务器,则平台将启动第二个代码实例来处理第二个事件。这种架构的自动零管理级别扩展将继续,直到有足够的代码示例来处理到目前为止的所有工作负载。当然,更容易触发函数的冷启动,不仅在并发条件下,而且在函数前后两次触发的时间间隔超过实例释放时间的阈值时,如下图所示。

图片[6]-如何发布网站到服务器-快速开始使用无服务器 | 开始第一课-稻子网

但是,这里涉及到一个问题。当一个新的请求或事件到来时,广义上可能会出现以下两种情况:

有一个实例是空闲的,可以直接复用:热启动。没有空闲实例可以直接复用:冷启动。

在本地执行一个函数,通常是准备好环境,每次执行只需要执行该函数对应的方法,但不在架构下。本地和FaaS函数调用的区别如图所示。

图片[7]-如何发布网站到服务器-快速开始使用无服务器 | 开始第一课-稻子网

三、典型应用场景

该架构自提出以来已经发展了好几年,在很多领域都有很多最佳实践。CNCF 总结了一些架构适用的场景。

图片[8]-如何发布网站到服务器-快速开始使用无服务器 | 开始第一课-稻子网

实时文件处理

在视频应用、社交应用等场景中,用户上传的图片、音频、视频总量往往较大且频率较高,对处理系统的实时性和并发能力要求较高。例如,对于用户上传的图片,可以使用多种功能分别进行处理,包括图片压缩、格式转换等,以满足不同场景的需求。

图片[9]-如何发布网站到服务器-快速开始使用无服务器 | 开始第一课-稻子网

数据ETL处理

一般来说,处理大数据,需要搭建相关大数据的框架,比如Spark或者集群来处理数据。通过技术,你只需要将获取到的数据不断地存储在对象存储中,通过对象存储相关的触发器触发数据拆分函数来拆分相关的数据或任务,然后调用相关的处理函数。处理完成后,存储到云数据库中。

函数计算几乎无限扩展的能力,让用户可以轻松进行大容量数据计算。使用该架构,可以在源数据上并发执行多个求和函数,可以在短时间内完成工作。整个过程可以简化如下图所示;与传统的工作方式相比,使用该架构可以避免资源的闲置浪费,从而节省成本。

图片[10]-如何发布网站到服务器-快速开始使用无服务器 | 开始第一课-稻子网

实时数据处理

通过架构支持的丰富事件源和事件触发机制,只需几行代码,简单配置即可实时处理数据,例如:解压对象存储压缩包,清理日志或数据库中的数据,自定义消费MNS 消息等

机器学习(人工智能推理预测)

AI模型完成训练后,对外提供推理服务时,可以使用该框架。通过将数据模型包装在调用函数中,可以在实际用户请求到达时运行代码。与传统的推理预测相比,这样做的好处是无论是功能模块还是后端GPU服务器,以及其他相关的机器学习服务,都可以按量付费,自动扩容,保证性能的同时保证服务的稳定性。

图片[11]-如何发布网站到服务器-快速开始使用无服务器 | 开始第一课-稻子网

Web 应用程序/移动应用程序后端

该架构与云厂商提供的其他云产品相结合。开发人员可以构建可弹性扩展的移动或 Web 应用程序,轻松创建丰富的无服务器后端,并且这些程序可以在多个数据中心以高可用性运行,而无需在可扩展性和备份冗余方面执行任何管理工作。

图片[12]-如何发布网站到服务器-快速开始使用无服务器 | 开始第一课-稻子网

音视频转码

在视频应用、社交应用等场景中,用户会上传一些视频,通常上传的视频会经过一些转码,包括转换成不同的定义。技术和对象存储相关产品结合后,可以使用对象存储相关触发器,即上传者将视频上传到对象存储,触发架构的计算平台(FaaS平台)进行处理,然后处理后还原为对象 存储期间,其他用户此时可以选择已编码的视频进行播放,也可以选择不同的定义,如图。

图片[13]-如何发布网站到服务器-快速开始使用无服务器 | 开始第一课-稻子网

综上所述,架构的典型应用场景更多是由架构的特性决定的。当然,随着时间的推移,架构也在不断演进,特色会更加突出,劣势也会得到弥补。

四、 产品介绍

公有云产品

自从提出这个概念以来,几年来它已经从不为人知到引人注目。该架构也在快速发展。在体系结构中,计算机服务通常由 Faas 平台提供。AWS、Cloud、阿里云函数计算等都是具有代表性的产业化产品。

图片[14]-如何发布网站到服务器-快速开始使用无服务器 | 开始第一课-稻子网

CNCF上市的Faas平台

阿里云

架构对底层技术基础要求很高,从图中可以看出,阿里云的架构整体形态非常完备,在自建自研的道路上不断完善。阿里云产品已经在阿里经济体中落地,在淘宝、支付宝、闲鱼、飞猪、钉钉、鱼雀等都有很好的体现。

图片[15]-如何发布网站到服务器-快速开始使用无服务器 | 开始第一课-稻子网

函数计算是目前国内功能最全面、功能最丰富的产品。开发人员将能够一步移动到云端,一键式将成为现实。上图是阿里云从产品维度的一些分析,下图表达了从功能或架构、底层基础设施、计算层面展示的典型业务能力。比如弹性伸缩、负载均衡、流量控制、高可用部署、版本灰度故障恢复等。像运行时的​​容器镜像服务,去年阿里云推出,之后AWS、腾讯等也推出了容器一个接一个地镜像。上图说明了阿里云是如何从底层到上层逐步构建的,

图片[16]-如何发布网站到服务器-快速开始使用无服务器 | 开始第一课-稻子网

开源产品

不仅业界有很多厂商在架构上不断的发力,在开源领域也有很多优秀的项目。很多优秀的开源FaaS平台,包括、、等都得到了CNCF的认可。

图片[17]-如何发布网站到服务器-快速开始使用无服务器 | 开始第一课-稻子网

原文链接:

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片