.com快译】近几年,Serverless架构作为一个新的技术概念兴起。由于Serverless解决方案可以帮助企业轻松构建轻量级、高弹性、无状态的应用,受到了很多企业的青睐,很多企业开始将Serverless产品融入到自己的解决方案中。使用此架构,开发人员可以为各个行业创建各种应用程序。在本文中,我们将借助阿里云函数计算服务器,通过四个实际的应用场景,探索应用在Serverless架构上的实际运行。 在开始之前,让我们先熟悉一下无服务器架构的历史和主要优势。 无服务器技术的演进 每一个新的技术概念都是随着生产力的提高而引入的,无服务器技术也不例外。开发者一直在寻找更高效的方式来维护软件开发生命周期,而Serverless架构可以帮助企业专注于应用开发,而无需再为服务器等基础设施的部署、建设和运维管理操心。有利于降低开发成本,缩短开发周期。 serverless架构的发展建立在以前从虚拟化(云计算)开始的成就之上,虽然这个过程相当连续,但它有几个值得注意的里程碑: 1。引入虚拟化技术,将大型物理服务器虚拟化为独立的虚拟机资源。 2。虚拟化集群迁移至简易O.M云计算平台。 3。基于最小化运行空间的原则,将每个VM细分为Docker容器。 4。基于Docker容器构建的应用不需要任何运行时环境管理,只需要核心代码的serverless架构。 5.引入服务器是为了帮助开发人员专注于应用程序逻辑而不是服务器基础设施。 serverless架构具有以下特点: 1、粒度计算资源; 2、无需提前分配资源; 3、高度可扩展和灵活的架构; 4、用户您只需为您使用的资源付费。 具体而言,阿里云函数计算为用户提供以下优势: 1.没有基础设施管理。函数计算使用户能够专注于开发主要业务逻辑,运维成本低。 2。与阿里云服务无缝集成。函数计算有助于快速构建应用程序。例如,用户可以将一个功能与OSS连接起来,处理图像和视频数据。当新的数据上传到OSS时,会自动触发一个函数来处理上传的数据。 3。实现毫秒级弹性伸缩。 4。现收现付。只对实际使用的计算资源收费,大大降低了成本,尤其是对于业务模型不可预测的场景。 应用场景一:事件触发计算 Serverless可应用于多设备访问各种文件类型的场景,如手机、PC上传图片、视频、文本文件等。 通过使用函数计算和对象存储服务(OSS),用户可以使用无服务器架构来实现阿里云上多设备访问各种文件类型的场景应用。用户将视频文件上传到OSS后,触发函数计算获取对象元数据,传递给核心算法库。基于该算法,核心算法库将相关视频文件推送到CDN源站,并热加载指定视频。另一种场景,视频文件上传到OSS后,触发函数计算同步多个转码率,将处理后的视频文件存储到OSS中,从而提供轻量级的数据处理方案。 在多媒体处理场景中,通常会有大量的文件上传到OSS进行处理,比如加水印、转码、获取文件属性数据等。函数计算可以通过以下特性帮助用户快速解决事件触发计算场景中的技术难点: 1。函数计算可以设置OSS触发器接收事件通知。在函数计算中,用户可以编写代码处理文件,并通过内网将文件传输到OSS。整个过程很简单,也很容易扩展。 2。用户可以将核心代码构建为函数计算,并使用代码并发处理事件通知。 3。函数计算目前提供与其他产品的内部交互支持。 应用场景二:实时视频直播灵活调整 Serverless架构是实时视频直播应用场景的理想选择。下图中,演播室客户端采集主播和观众的音视频流,发送给函数计算进行复用。函数计算器将采集到的数据发送给多路复用服务进行合成,并将合成后的视频流推送到CDN。观众可以实时观看直播流,观看多路复用和合成视频。 在一些视频直播应用场景中,多个观众成员可以进行互动,因此主持人可以同时连接多个麦克风。主持人可以将多个观众或朋友连接到屏幕上,将画面合成为一个场景,然后提供给现场观众。 Serverless架构解决了此类应用场景中可能出现的困难。作为主机和连接麦克风的实时音视频转发集群,函数计算会根据并发量自动调整用于处理实时数据流的多个执行环境的大小。流量高峰过后,函数计算可以适当减少资源量。由于代码管理功能部署在云端,允许用户随时修改和维护代码迭代,无需管理多个软件运行环境。 应用场景三:物联网数据处理 Serverless架构可以应用于物联网场景,如下图所示。 应用架构分为两部分: 1。Web应用:模拟社交媒体内容更新和数据处理过程。Web用户请求从API网关转发到函数计算进行处理。函数计算完成后,更新数据库中的处理内容,更新索引。函数计算的另一个实例是将索引更新推送到搜索引擎,新内容由外部客户端检索,形成一个闭环的数据处理过程。 2。智能设备:物联网网关将智能设备的状态推送给处理计算机。函数计算通过API向MobilePush发送消息,MobilePush将消息推送到移动终端进行状态确认和管理。 智能设备状态处理也带来了几个关键的技术难点,用户必须设计一个高效的非轮询技术框架来处理从大量设备到物联网平台的状态数据。那么,需要一种方法将处理后的数据高效、透明地传输到其他产品中,例如写入数据库或将数据推送到移动终端。 应用场景四:共享配送调度系统 用户可以通过调度平台选择各个商家提供的服务,例如订餐或购买商品。然后,调度平台通知就近的配送人员到最近的卖家处自取相关产品,并将产品配送给客户。如下图所示: 工作流程分为以下5个步骤: 1.客户通知发货平台订购商品; 2。派送平台通知就近派送人员; 3。发货平台同时通知卖家售出商品; 4。送货人员到指定卖家自提产品; 5.送货人员将产品送至客户所在地。 这样的过程可以很容易地在无服务器架构中实现。下图中,阿里云函数计算与其他产品一起开发配送调度系统。 操作过程包括以下三个步骤: 1。客户应用通过API网关将订单请求透传给函数计算; 2。函数计算将处理后的数据发送到表存储区; 3。表存储存储路由数据、卖家信息和位置信息。 在该方案中,函数计算可以提供动态调整大小的能力,而API网关则进行认证并确保安全访问。函数计算可以与多种产品通信,无缝使用其他资源和内容。所有处理后的数据都存储在表存储数据库中,所有日志直接加载到日志服务中,用于后续的数据上报。 总结: 通过前面的四个应用场景可以看出serverless架构能够给开发者和企业带来很多好处。阿里云函数计算可以帮助用户开发无服务器架构,同时解决成本、效率和连接性问题。 尽管函数计算适用于很多场景,但它并不是一个放之四海而皆准的解决方案。例如,对于没有显着请求波动的企业来说,它可能不是最具成本效益的解决方案。另外,函数计算的执行环境不记录状态,所以serverless框架不适合紧耦合的应用。 到目前为止,作为一种新兴技术,Serverless架构还没有充分发挥其对开发者和企业的潜力。【翻译稿件,合作网站转载请注明原译者和出处.com】
