在本次测评中,我将对Serverless应用引擎SAE产品进行全面评估。首先,我将结合部署游戏"Cannon Man",进行一些功能测试,以评估该产品的功能和易用性。然后,我再次体验它的极致部署。再然后,我将对其版本管理与流量分配能力进行分析。最后,我将对Serverless应用引擎SAE进行简要总结,希望能够为用户提供有用的参考信息。通过本次测评,我希望能够全面了解Serverless应用引擎SAE的特点,并为用户提供更好的决策支持。
1、部署游戏“Cannon Man”体验
1.1、部署过程
这次测评提供的游戏部署操作手册,步骤已经非常清晰完善了,按照这个操作基本上可以在10分钟内完成游戏的部署。
首先,在部署之前,我们需要先开通容器镜像服务ACR个人版。开通入口》》》
然后我们可以进入SAE工作台 快速进入》》》。进入这个我们发现有一个小惊喜。那就是SAE开通了2.0版本的公测版本,为了快速体验,这次我们选择使用2.0公测版。进入后,我们按照要求创建一个新的应用。在创建过程中比较容易,我们只需要简单配置几个参数即可。需要注意的就是代码的拉取,这里我们只需要按照操作手册仔细操作基本问题不大。
在这个部署过程中,我想说下SAE的自动构建和部署,用户无需关心基础设施的问题。在构建和部署完成后,应用会自动进行测试,确保其正常运行。
完成以上操作之后,我们可以在应用列表找到我们刚才部署的业务应用。点击应用后,在基础信息页面的HTTP流量全托管区域,单击公网访问地址,即可跳转至游戏页面。
1.2、部署感受
这次部署应用过程比较顺利,但仍有一些可以改进的地方。在操作源代码库时,用户可能会因为没有创建源账号或授权不完整而出现错误提示。建议设计一个更友好的界面,简化操作流程,让用户更容易完成任务。例如,当用户选择不同的源代码库时,系统可以自动检测是否已经登录或授权,避免出现尴尬的提示信息。
通过这次Serverless应用引擎SAE部署“Cannon Man”游戏,我主要有两点感受,其一是Serverless架构,对这个高深的东西,有了认识及一定的了解。让我理解了什么是免服务器的架构。其二是云原生,这种开发部署方式确实可以带来较高的开发效率及运营成本。这次实践让我得到了宝贵的技术经验,也拓展了我的视野和技能范围。
2、再次体验
为了更好的了解Serverless架构(SAE),以及更好地了解这种应用程序的运作方式,我又一次进行了低代码的Serverless应用的部署。这一次,我将环境选定为1个Core 2GB,网络配置选择了系统自动配置,镜像包则采用了第三方开源的资源。
完成以上配置之后,接下来我们需要配置SLB(请注意SLB是按量收费的,如果你是新人可以去领取免费额度以免产生计费(免费领取》》》)),完成这个配置之后,我们可以通过外网访问到我们的应用。这次整个过程下来,我用了不到5分钟。通过这种部署方式,我深刻地感受到了SAE架构的独特之处,其中包括其轻量化的设计、灵活性和可扩展性。
3、升级体验
在前几次的部署体验中,我体验的是SAE带来的极致部署。这次我将对SAE版本管理及流量分配功能。
3.1、版本管理
SAE提供了版本管理功能,允许开发者对应用的不同版本进行管理和切换。SAE支持多版本管理,可以让您轻松回滚至任意版本,保证业务的稳定性。同时,它提供了详细的版本控制台,使得您可以清晰地了解每个版本的详细信息,如创建时间、部署记录等。
3.2、流量分配
SAE的流量分配功能允许您根据业务需求和性能指标,灵活地分配请求资源。这意味着您可以实现流量高峰期的自动扩缩容,确保应用的稳定性。此外,该功能还支持自定义路由规则,按需分配流量,使得您可以更好地控制应用在不同版本或组件之间的流量占比。这种灵活性为多种应用场景提供了可能。
流量配置功能适用于以下场景:
- 回滚至老版本
- 新版本灰度上线 ( 滚动发布 & 金丝雀发布 & 蓝绿发布)
- 多版本线上并存。
3.3、体验效果
这次部署的是一个demo程序,主要是测试的是SAE的版本管理及流量管理功能。
同时SAE提供了丰富的监控管理控件,这些控件可以帮助我们实时了解、监控和诊断部署在SAE上的业务运行情况。这些监控管理控件包括但不限于基础监控、性能监控、日志管理等,它们可以全方位地保障业务的稳定性和可靠性。通过这些控件,我们可以快速发现和解决潜在的问题,优化应用性能,以满足不断变化的业务需求。
3.3、小结
阿里云Serverless应用引擎SAE在版本管理和流量分配方面表现出色。版本管理功能可以帮助开发者实现并行开发、协同工作,提高开发效率;流量分配功能可以帮助开发者合理控制访问流量、实现负载均衡和灰度发布。结合其他Serverless产品的优势,如无需管理服务器、按需付费等,SAE无疑是一款强大且值得信赖的开发工具。
4、体验过程的碰到的一些问题
在这几次的体验中,我也碰到过一些小的问题,但是通过对应的错误信息及日志,可以快速的排查及解决,这点必须给SAE团队一个赞。
另外,这次使用SAE2.0公测版本发现有几个不理解的地方,我把它罗列处理,希望SAE团队能够给我解惑。
a、应用列表没有状态属性,无法快速知道实例的运行状态
b、新版的应用列表展示字段要比旧版本少很多,而且缺失可自定义配置的功能。(不太理解SAE团队为啥要取消)
c、2.0版本创建的应用实例,在旧版本无法找到。(难道是因为公测的原因,两边的实例是分开的?)
d、2.0公测提供的区域目前只有深圳与张家口,希望后期能够快速开通全区域。
5、SAE与其他Serverless应用托管平台比较
Serverless应用托管平台的主要区别在于平台提供商、服务范围和功能。由于个人水平有限,我目前了解的有SAE、函数计算FC、AWS Lambda这几个,从官方信息我们可以了解到。
- SAE是一种轻量化的Serverless应用托管平台,支持多种编程语言和框架,如Java、Python、Node.js、Spring Cloud等。其优势在于提供的应用托管能力,包括自动弹性伸缩、自动容错、自动日志处理等,用户无需关心服务器的配置和管理。SAE适用于Web应用、移动后端、微服务应用等场景。
- 阿里云函数计算是阿里云提供的Serverless计算服务,支持多种编程语言和框架,如Java、Python、Node.js等。其优势在于提供的应用托管能力,包括自动弹性伸缩、自动容错、自动日志处理等,用户无需关心服务器的配置和管理。阿里云函数计算适用于多种场景,包括Web应用、移动后端、微服务应用等。
- AWS Lambda是AWS提供的Serverless计算服务,支持多种编程语言和框架,如Java、Python、Node.js等。其优势在于提供的事件驱动模型,可以根据不同的触发器触发函数执行,例如文件上传、数据库事件等。AWS Lambda适用于需要事件驱动的场景,如物联网应用、实时数据处理等。
这几个产品我了解比较多的是前两者。SAE(Serverless Application Engine)和函数计算都是基于云的原生计算平台,它们都可以让开发者专注于业务逻辑的开发,而无需关心底层基础设施的配置和管理。但是,它们之间还是存在一些差异,主要在运行模型、编程语言支持、弹性伸缩、成本效益方面。SAE和函数计算各自具有不同的优势,选择哪种平台主要取决于具体的业务需求和开发习惯。在部署业务应用时,企业应该根据业务需求、开发效率和成本效益等多个方面进行综合考虑,选择最适合自己的Serverless应用托管平台。
6、小结
阿里云Serverless应用引擎SAE为我提供了一种轻松构建和部署无服务器应用的体验。通过这几次的部署体验,我非常看重其版本管理和流量分配功能,我能有效地管理应用版本,并根据业务需求灵活分配流量。结合其丰富的监控管理控件,我能实时了解业务运行情况,快速定位和解决问题。感谢阿里云提供的免费试用活动,使我能充分体验到SAE的优秀功能。总的来说,SAE是一款值得信赖的Serverless应用引擎,帮助我聚焦于业务逻辑,提升开发效率,我会推荐它给任何需要构建无服务器应用的朋友。