计算巢服务:云资源与软件或应用的编排集合。一旦服务被发布和上线,终端用户就可以基于这些服务创建实例,以此来获取服务提供商的具体服务内容。
计算巢服务ID:唯一标识一个计算巢服务。
服务商:软件提供者,希望对软件进行商业化。
用户:希望使用服务商的软件的人群。
计算巢SaaS Boost:计算巢出品的一款开源框架。计算巢提供了该框架的一键部署方案,可帮助服务商快速将其软件实现商业化。
计算巢SaaS Boost实例:通过计算巢一键部署方案创建的模版应用,服务商可直接访问Web界面构建其软件商城,并分享该界面给用户,实现软件的售卖。计算巢SaaS Boost实例也是通过计算巢进行部署的。
SaaS Boost商品:服务商通过访问其Web界面,手动生成的一个商品,该商品具有一个唯一的商品码,用于关联服务商待售卖的软件(计算巢服务)。
SaaS Boost公网访问地址:该SaaS Boost实例绑定的公网IP或域名,用于服务商和用户进行公网访问。也用于与计算巢进行API交互。
SaaS Boost套餐:每一个商品可配置不同套餐,比如低配版,基础版,高配版,每个套餐具备不同的价格。
计算巢服务套餐:计算巢服务侧的套餐,可对不同套餐进行参数管理。
计算巢SaaS Boost是由阿里云推出的一款开源的支付和订阅管理框架,旨在帮助软件开发者基于计算巢快速构建、部署、扩展和售卖软件(同时支持私有化部署和全托管模式), 打通软件的商业化之路。它提供了一组开箱即用的功能和组件,使用户聚焦于业务逻辑的开发,而极大地降低软件上云应用的复杂性和成本。 计算巢SaaS Boost提供了许多功能,包括:
使用阿里云计算巢SaaS Boost服务实例,需要对部分阿里云资源进行访问和创建操作。因此您的账号需要包含如下资源的权限。 说明:当您的账号是RAM账号时,才需要添加此权限。
权限策略名称 | 备注 |
---|---|
AliyunECSFullAccess | 管理云服务器服务(ECS)的权限 |
AliyunVPCFullAccess | 管理专有网络(VPC)的权限 |
AliyunROSFullAccess | 管理资源编排服务(ROS)的权限 |
AliyunCloudMonitorFullAccess | 管理云监控(CMS)的权限 |
AliyunOSSFullAccess | 管理对象存储服务(OSS)的权限 |
AliyunOOSFullAccess | 管理运维编排服务(OOS)的权限 |
AliyunFCFullAccess | 管理函数计算(FC)服务的权限 |
AliyunOTSFullAccess | 管理表格存储服务(OTS)的权限 |
AliyunComputeNestSupplierFullAccess | 管理计算巢服务(ComputeNest)的商家侧权限 |
计算巢SaaS Boost部署涉及的费用主要涉及:
参数组 | 参数项 | 说明 |
---|---|---|
服务实例 | 服务实例名称 | 长度不超过64个字符,必须以英文字母开头,可包含数字、英文字母、短划线(-)和下划线(_) |
地域 | 服务实例部署的地域 | |
流水线配置 | 企业 | 选择/新建您的企业 |
GitHub服务连接 | 连接到GitHub的凭证。可通过账号密码方式创建 | |
GitRepoEndpoint | 仓库地址 | |
付费类型配置 | 付费类型 | 按量付费/包年包月 |
ECS实例配置 | 实例类型 | 部署的ECS实例类型 |
实例密码 | 服务器登录密码,长度8-30,必须包含三项(大写字母、小写字母、数字、 ()`~!@#$%^&*_-+=|{}[]:;'<>,.?/ 中的特殊符号) | |
可用区配置 | 交换机可用区 | 该实例类型可部署的可用区 |
网络配置 | 是否新建VPC | 选择是否在当前可用区新建VPC |
专有网络VPC实例Id | 选择当前可用区下的VPC实例 | |
交换机实例Id | 选择当前VPC支持的交换机 |
参数组 | 参数项 | 说明 |
---|---|---|
服务实例 | 服务实例名称 | 长度不超过64个字符,必须以英文字母开头,可包含数字、英文字母、短划线(-)和下划线(_) |
地域 | 服务实例部署的地域 | |
ACK集群配置 | 集群ID | 阿里云上购买的ACK集群 |
POD安全角色应用 | 用于给POD分配合适的RAM角色,避免越权 | |
镜像配置 | 服务端镜像 | 前后端一起打包的镜像。包含boost.server和bootst.front |
定时任务镜像 | boost.serverless |
ECS模式是主服务部署到一台ECS机器上,定时任务以函数计算的方式发布到阿里云FC处,该模式自带了云效流水线,服务商修改完代码后可直接实现CI/CD。 ACK模式通过Helm部署到对应的ACK集群中。不具备流水线,需要用户自己打包服务端镜像:即主服务,包含Boost.server和boost.front代码,打包Job镜像,即Boost.serverless并自己管理。
部署计算巢SaaS Boost的流程如下:
Fork当前仓库到您的个人仓库
指引图片中被红框框住的参数在创建服务实例中会被使用到。创建支付宝沙箱账号和创建计算巢服务实例步骤可颠倒顺序。
按照提示填写部署参数
选择要部署的服务。
在流水线配置中,创建您的企业。根据前文fork的仓库信息创建Git连接凭证,填入前文fork的仓库地址。
创建云效企业
进入流水线
点击【全局设置】并进入
选择右上角Github服务连接并新建
Github处授权
选择付费类型和想要部署的Ecs实例规格及部署可用区
选择/新建专有网络(VPC)和交换机(VSW) 为了减少参数的填写和理解,建议选择新建。
确认同意服务协议并点击立即创建 进入部署阶段。等待资源创建完成和流水线执行完成。
服务实例创建好后回填参数(可跳过)
2. 等待流水线执行完成,可按下图方式访问流水线,查看流水线执行进度 3. 流水线运行成功
点击部署好的服务实例详情页的Endpoint即可访问示例SaaS Boost界面。
一旦计算巢SaaS Boost部署完成(如为ECS部署方式还需等待流水线执行完成),您就可以开始使用它来开发、部署和销售您的软件应用程序。以下是一些关键的使用说明:
配置/修改服务的套餐(可选)
支付宝沙箱测试(必选):在正式售卖前,请利用支付宝沙箱APP测试售卖能力。
在精选服务界面选择想要购买的软件商品
使用沙箱应用中提供的账号密码进行支付测试。
查看已部署的服务实例详情
在通过沙箱测试后,务必再次使用正式的支付宝账号进行售卖测试。
本文档旨在指导如何在Saas Boost平台上适当地管理和定价商品,以及如何保持商品与计算巢(Calculating Nest)服务和套餐之间的一致性。
在Saas Boost平台上创建的每个商品应对应计算巢中的单个服务。商家可基于此服务为商品设定一个基础价格。
服务ID
字段中填写对应的计算巢服务ID。此处的套餐用于管理部署的软硬件参数。 通过套餐设置功能,服务商可以将服务中的部分或全部参数配置为套餐,以供用户选择,避免用户在一个服务中配置较多参数导致的用户学习成本太高或者选配出错。
服务商可以配置多个套餐,给用户提供不同场景的最佳配置实践。
在创建服务实例时,必须选择一个套餐,再配置套餐外的参数即可创建服务实例。 更详细的信息见计算巢官方文档:配置套餐
此处的套餐用于管理计算巢套餐的价格。 在Saas Boost中为商品设定的每个套餐应对应计算巢中的相应服务套餐。每个套餐的名称必须与计算巢中的套餐名称完全一致。在这个过程中,开发者应该先在计算巢中进行套餐配置,而后在SaaS Boost中对上述配置的套餐定制价格。
为保证用户体验的一致性,请确保计算巢中的套餐名称与Saas Boost上的套餐名称相匹配。
套餐名
字段中准确输入计算巢中对应套餐的名称。遵循这些指导原则,商家可以保证Saas Boost平台上的商品与计算巢中服务和套餐的适当整合和价格一致性。
如果您还没有为您即将售卖的软件创建计算巢服务。请基于以下文档快速创建计算巢服务。
2. 仿照下图配置,选择托管版服务和Spring Boot服务。
3. 填写配置参数
4. 点击"创建服务",等待服务创建成功。 5. 后续当您想对您软件部署物进行修改时,可对该服务进行编辑,重新选择部署物。
为了更好的售卖您的商品,您需要提前配置好个人信息管理与支付信息管理。个人信息包括服务商名称、官方链接、Logo链接和服务商简介,这些信息有助于您更好地 向用户展示您的相关情况。支付信息管理中未来会支持多种支付手段,但当前仅支持用支付宝完成收款。支付宝中您需要配置的参数包括应用ID、商户ID、官方公钥、 服务商私钥以及支付环境等五项信息。本节将详细介绍个人信息与支付信息中的参数需要填写的内容与需要遵循的规则。
个人信息中的Logo链接支持本地路径与http url两种方式。其他信息您可以按照您的需求进行填写。
下面是分别使用本地路径与http url的两个服务商个人信息填写示例:
示例一(本地路径):
示例二(http url):
在配置支付宝参数前,您需要确保您的应用已经在支付宝开放平台接入。若需注册您的应用,请访问支付宝开发者控制台。 若在注册过程中遇到困难,请参考支付宝开放平台的技术接入指南。
支付宝的配置项包括应用ID、商户ID、官方公钥、 服务商私钥以及支付环境。其中,应用ID、商户ID和支付环境为普通参数,官方公钥、 服务商私钥为加密参数, saas boost利用阿里云中的oos产品保障您私密信息的信息安全。
应用ID是支付宝为每个接入其支付服务的应用或网站分配的一个唯一标识符。它用来识别具体的商户应用,确保请求来源于已授权的商家。在发起支付请求时,必须包 含此ID,以便支付宝平台能够识别并路由到正确的商户账户。
商户ID是支付宝为商户分配的一个唯一编号,用于标识商户的身份。它与应用ID相辅相成,共同确定交易的收款方。商户ID在处理支付、退款等业务逻辑时是必不可少 的,确保资金流向正确的商户账户。
官方公钥是指支付宝提供的公钥,用于验证支付宝发给商户的消息或通知的真实性。在加密通信中,商户会使用支付宝的公钥对支付宝发送过来的数据进行解密,或者验 证支付宝签名,以此确认消息未被篡改,保证了交易的安全性。
服务商私钥是指支付宝与商户约定的私钥,是RSA非对称加密体系中的一部分,与支付宝提供的公钥配对使用。商户在发起支付请求前,会使用自己的私钥对交易信息进 行签名,支付宝收到请求后,利用公钥验证签名,以此确保请求的来源是可信的。这个过程对于防止数据被篡改和保证交易的完整性至关重要。
支付环境包括沙盒环境和正式环境。沙盒环境是一个模拟的真实支付环境,供开发者在不涉及真实资金交易的情况下测试支付功能。在沙盒环境中,可以安全地调试代 码、测试支付流程,确保一切正常无误后再切换到正式环境。一旦应用的支付功能在沙盒环境中测试无误,就可以将其部署到正式环境中。正式环境直接关联实际的财务 交易,用户在这里进行的支付操作将涉及真实的货币流动。
应用ID在您的应用注册成功后,在支付宝开放平台->控制台标签页的左上角查看。如下图红框中所示。
商户ID在支付宝开放平台->右上角头像->账户中心->账号管理->账户信息->账号ID中查看。如下图红框所示。
官方公钥与服务商私钥获取方式请参考支付宝开放平台的查看密钥/证书文档。
支付环境请您根据自身情况设置,在沙盒环境中安全地调试代码、测试支付流程,确保一切正常无误后再切换到正式环境。
SaaS Boost的定时任务包括超时订单关闭,订单的退款处理,已完成的订单的状态修改等 如果为ECS部署,则参照下图访问 如果为ACK部署方式,则请访问ACK的Job查看
流水线运行错误。 流水线包含npm build,Java build。在build完后,Fc的jar包会上传到OSS仓库。Server的jar包会上传到计算巢制品仓库。上传之后会进行实际的部署,其中FC的部署 为直接替换OSS中zip包的方式,Server的部署为执行当前项目下的deploy.sh脚本。在熟悉了整体流水线的运行步骤后,通过结合流水线给出的错误日志,即可定位到常见的开发问题。 如果觉得在云端难以解决,可将错误环境克隆到本地。 示例如下:
服务实例部署失败 该类情况多见于创建服务实例的用户的权限不够,或是选择部署的Ecs实例在当前可用区售罄了。 更详细的信息可在服务实例详情部署日志处查看。