近年来,随着信息技术的迅猛发展和应用需求的快速更迭,传统的多层企业应用系统架构面临越来越多的挑战,已经难以适应这种变化。在这一背景下,无服务器架构(Serverless Architecture)逐渐流行,它强调业务逻辑由事件触发,具有短暂的生命周期,运行于无状态的轻量级容器中,并且由第三方代为管理。采用无服务器架构,业务逻辑以功能即服务(Function As a Service,FAAS)的方式形成多个相互独立的功能组件,以标准接口的形式向外提供服务;同时,不同功能组件问的逻辑组织代码将存储在通用的基础设施管理平台中,业务代码仅在调用时才激活运行,当响应结束后占用的资源便会释放。
请围绕“无服务器架构及其应用”论题,依次从以下三个方面进行论述。
问答题 概要叙述你参与分析和设计的软件系统开发项目以及你所担任的主要工作。
【正确答案】叙述你参与分析和开发的软件系统开发项目,并明确指出在其中承担的主要任务和开展的主要工作。
【答案解析】
问答题 与传统的企业应用系统相比较,基于无服务器架构的应用系统具有哪些特点,请列举至少3个特点,并进行解释。
【正确答案】与传统的企业应用系统相比,基于无服务器架构的应用具有如下特点:
从功能角度看,基于无服务器架构的应用系统只需要关注业务逻辑实现代码,无须关心承载这些代码的应用服务器如何部署。代码的部署和运维由第三方基础设施管理平台完成。
从开发角度看,基于无服务器架构的应用系统不需要考虑特定框架或开发库,从编程语言和环境的角度看更像是一个普通应用。基础设施管理平台负责解释和运行各种语言编写的代码,提供各种异构的运行环境。
从部署的角度看,基于无服务器架构的应用系统无须考虑如何部署业务代码,仅需要上传业务代码至基础设施管理平台,由管理平台自动进行服务器选择与代码部署。
从运行和扩展的角度看,基于无服务器架构的应用系统业务逻辑运行在无状态的容器中,能够实现弹性、自动的水平扩展。系统开发者仅需要提供基本的并发业务处理功能,当系统面临大量应用请求时,会由基础设施管理平台识别并通过自动提供所需要的无状态、容器化计算环境,并在运行完成后自动释放。
从应用模式角度看,基于无服务器架构的应用系统通常采用基于消息机制的事件触发策略,并通过隐式调用模式完成事件响应。
【答案解析】
问答题 结合你具体参与分析和设计的软件开发项目,描述该软件的架构,说明该架构是如何采用无服务器架构模式的,并说明在采用无服务器架构后软件开发过程中遇到的实际问题和解决方案。
【正确答案】考生需结合自身参与软件开发项目的实际状况,描述该软件的架构,并明确说明软件架构为什么属于无服务器架构,具有无服务器架构的哪些特征。并结合项目开发实际,说明采用无服务器架构模式后对软件开发过程的影响以及遇到的问题,包括业务代码开发、业务功能部署、系统水平扩展、业务交互方式等。
【答案解析】