钉钉交流群
如有任何问题交流,请使用钉钉扫描加入
目录
- 视频讲解
- 介绍
- 概念解释
- SaaS Boost快速部署
- 前提条件
- 计费说明
- 参数说明
- 部署流程
- 使用
- 开发者指南
- 快速创建服务
- 商品和套餐管理
- 修改配置参数
视频讲解
SaaS Boost介绍
如何部署一个SaaS Boost实例
如何使用SaaS Boost售卖计算巢服务
概念解释
计算巢服务:云资源与软件或应用的编排集合。一旦服务被发布和上线,终端用户就可以基于这些服务创建实例,以此来获取服务提供商的具体服务内容。
计算巢服务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商品的双向绑定可快速实现软件软件售卖。支持国内支付宝支付。
计算巢能力:SaaS Boost底层为阿里云计算巢,可加速软件服务商在云上的部署、交付和管理服务, 实现一周上云。
多租户架构:SaaS Boost为多租户应用程序提供了强大的多租户数据隔离和管理功能,使得开发者可以轻松地构建和管理多个租户的数据。
持续集成和持续交付(CI/CD)能力:计算巢SaaS Boost提供了云效流水线,支持CI/CD能力,使开发者能够实现自动化的代码构建、测试和部署。可快速迭代和交付新功能,提高开发效率和产品质量。
商品和套餐管理:Saas Boost平台通过与计算巢服务的紧密整合,为商家提供一种灵活的商品和套餐管理机制,允许同步定价并保持套餐名称的一致性。
SaaS应用程序监控: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部署涉及的费用主要涉及:
- 云服务器服务(ECS)费用
- 表格存储(OTS)费用
- 函数计算(FC)费用
- 对象存储(OSS)费用
- 流量带宽费用
参数说明
ECS模版部署参数
参数组 |
参数项 |
说明 |
服务实例 |
服务实例名称 |
长度不超过64个字符,必须以英文字母开头,可包含数字、英文字母、短划线(-)和下划线(_) |
地域 |
服务实例部署的地域 |
|
流水线配置 |
企业 |
选择/新建您的企业 |
GitHub服务连接 |
连接到GitHub的凭证。可通过账号密码方式创建 |
|
GitRepoEndpoint |
仓库地址 |
|
是否同步执行流水线 |
是否同步执行流水线 |
|
付费类型配置 |
付费类型 |
按量付费/包年包月 |
ECS实例配置 |
实例类型 |
部署的ECS实例类型 |
实例密码 |
服务器登录密码,长度8-30,必须包含三项(大写字母、小写字母、数字、 ()`~!@#$%^&*_-+=|{}[]:;'<>,.?/ 中的特殊符号) |
|
可用区配置 |
交换机可用区 |
该实例类型可部署的可用区 |
网络配置 |
是否新建VPC |
选择是否在当前可用区新建VPC |
专有网络VPC实例Id |
选择当前可用区下的VPC实例 |
|
交换机实例Id |
选择当前VPC支持的交换机 |
ACK模版部署参数
参数组 |
参数项 |
说明 |
服务实例 |
服务实例名称 |
长度不超过64个字符,必须以英文字母开头,可包含数字、英文字母、短划线(-)和下划线(_) |
地域 |
服务实例部署的地域 |
|
ACK集群配置 |
集群ID |
阿里云上购买的ACK集群 |
POD安全角色应用 |
用于给POD分配合适的RAM角色,避免越权 |
|
镜像配置 |
服务端镜像 |
前后端一起打包的镜像。包含boost.server和bootst.front |
定时任务镜像 |
boost.serverless |
ECS和ACK模式部署区别说明
ECS模式是主服务部署到一台ECS机器上,定时任务以函数计算的方式发布到阿里云FC处,该模式自带了云效流水线,服务商修改完代码后可直接实现CI/CD。
ACK模式通过Helm部署到对应的ACK集群中。不具备流水线,需要用户自己打包服务端镜像:即主服务,包含Boost.server和boost.front代码,打包Job镜像,即Boost.serverless并自己管理。
部署流程
部署计算巢SaaS Boost的流程如下:
1. Fork当前仓库
Fork SaaS Boost仓库到您的个人仓库。
说明:
计算巢SaaS Boost作为一个开发工具和框架已经集成了诸多有助于SaaS应用程序快速构建、部署、扩展和售卖的功能,但以下几点理由可能要求开发者fork SaaS Boost源代码仓库到其个人仓库中:
- 用户私有参数配置: 开发者在部署SaaS应用时,常常涉及一些敏感或特定于个人环境的静态配置参数,如网络配置、支付密钥、数据库连接字符串等。由于这些参数通常具有保密性且因开发者环境各异,直接在公共的SaaS Boost源代码中硬编码或存储显然是不合适的,因此SaaS Boost服务会在部署过程中将用户提供的静态配置参数自动配置到开发者的个人仓库中。
- 定制化需求: 开发者在使用SaaS Boost的过程中,可能遇到特定的业务场景或客户需求,需要对框架进行个性化调整或扩展。Forking源代码仓库允许开发者在其个人仓库中直接修改或添加代码,以适应这些特殊需求,而不影响原始SaaS Boost项目的通用性。
- 贡献与反馈: 如果开发者在使用过程中发现了潜在的bug、性能瓶颈或者有改进框架功能的想法,他们可以fork源代码仓库,进行问题修复或功能增强的开发工作。完成后再通过Pull Request (PR)的方式将改动提交回SaaS Boost官方仓库,为项目社区做出贡献。这有助于提升整个SaaS Boost框架的稳定性和功能丰富度。
2. 创建计算巢服务实例
- 访问计算巢控制台选择SaaS Boost一键部署服务
- 按照提示填写部署参数
- 选择部署地域
- 在流水线配置中,创建您的企业。根据前文fork的仓库信息创建Git连接凭证,填入前文fork的仓库地址。
a. 创建云效企业
b. 进入 【流水线】
c. 点击【全局设置】并进入
d. 选择右上角Github服务连接并新建
e. Github处授权
5. 选择付费类型和想要部署的Ecs实例规格及部署可用区
6. 选择/新建专有网络(VPC)和交换机(VSW) 为了减少参数的填写和理解,建议选择新建。
- 确认同意服务协议并点击立即创建
进入部署阶段。
- 服务实例创建好后回填参数
- 在部署的实例信息中将 支付宝异步通知URL 和 支付宝同步通知URL 分别回填到支付宝沙箱应用配置中的应用网关地址和授权回调地址(
步骤2.1)
- 等待流水线执行完成,可按下图方式访问流水线,查看流水线执行进度
- 流水线运行成功
3. 访问计算巢SaaS Boost服务
点击部署好的服务实例详情页的Endpoint即可访问示例SaaS Boost界面。
4. 创建支付宝沙箱账号
指引图片中被框住的参数在创建服务实例中会被使用到。创建支付宝沙箱账号和创建计算巢服务实例步骤可颠倒顺序。
- 按照支付宝沙箱文档中的说明,创建支付宝沙箱账号。其中应用网关地址和授权回调地址待创建好服务实例后回填。
- 保留支付宝沙箱应用的私钥和支付宝的官方公钥
使用
一旦计算巢SaaS Boost部署完成(如为ECS部署方式还需等待流水线执行完成),您就可以开始使用它来开发、部署和销售您的软件应用程序。以下是一些关键的使用说明:
- 配置您的SaaS应用(计算巢Service):
- 商品和套餐管理:
在SaaS Boost中创建商品时,需将其链接至预先设定的计算巢服务,并对该服务定制价格体系;如服务有附加套餐,亦须在SaaS Boost为各套餐配上相应定价。有关详细操作,请参考随附的开发者指南图文教程。 - 链接SaaS Boost商品至计算巢服务:
创建完商品后,需要将第二步新建的商品码和该SaaS Boost公网访问地址链接至您售卖的服务中。如下图所示: - 支付宝沙箱测试:在正式售卖前,请利用支付宝沙箱APP测试售卖能力。
访问支付宝沙箱地址:
- 在支付宝沙箱工具中下载支付宝客户端沙箱版安卓APP
- 在精选服务界面选择想要购买的软件商品
4. 使用沙箱应用中提供的账号密码进行支付测试。 5. 查看已部署的服务实例详情
6. 查看已部署服务实例监控
7. 查看历史订单
8. 在通过沙箱测试后,务必再次使用正式的支付宝账号进行售卖测试。
开发者指南
快速创建服务
如果您还没有为您即将售卖的软件创建计算巢服务。请基于以下文档快速创建计算巢服务。或查看官方文档
- 登录到计算巢控制台,选择"新建服务"
- 仿照下图配置,选择托管版服务和Spring Boot服务。
- 填写配置参数
- 点击"创建服务",等待服务创建成功。
- 后续当您想对您软件部署物进行修改时,可对该服务进行编辑,重新选择部署物。
Saas Boost 商品与套餐管理指南
本文档旨在指导如何在Saas Boost平台上适当地管理和定价商品,以及如何保持商品与计算巢(Calculating Nest)服务和套餐之间的一致性。
商品与服务的关联
在Saas Boost平台上创建的每个商品应对应计算巢中的单个服务。商家可基于此服务为商品设定一个基础价格。
创建商品
- 登录到Saas Boost。
- 导航至商品管理页面。
- 点击新增商品按钮进入创建界面。
- 输入服务相关信息,并在
服务ID
字段中填写对应的计算巢服务ID。 - 完整填写商品信息,包括名称、描述和基础定价。
- 点击提交,完成商品创建。
套餐的创建与定价
计算巢侧的套餐
此处的套餐用于管理部署的软硬件参数。
通过套餐设置功能,服务商可以将服务中的部分或全部参数配置为套餐,以供用户选择,避免用户在一个服务中配置较多参数导致的用户学习成本太高或者选配出错。
服务商可以配置多个套餐,给用户提供不同场景的最佳配置实践。
在创建服务实例时,必须选择一个套餐,再配置套餐外的参数即可创建服务实例。
更详细的信息见计算巢官方文档:配置套餐
Saas Boost侧的套餐
此处的套餐用于管理计算巢套餐的价格。
在Saas Boost中为商品设定的每个套餐应对应计算巢中的相应服务套餐。每个套餐的名称必须与计算巢中的套餐名称完全一致。在这个过程中,开发者应该先在计算巢中进行套餐配置,而后在SaaS Boost中对上述配置的套餐定制价格。
套餐命名统一
为保证用户体验的一致性,请确保计算巢中的套餐名称与Saas Boost上的套餐名称相匹配。
添加SaaS Boost套餐与定价
- 选择已创建好的商品,并进入其套餐管理界面。
- 点击新增套餐,进入套餐详细配置页面。
- 在
套餐名
字段中准确输入计算巢中对应套餐的名称。 - 根据套餐配置设定一个定价。
- 确认信息无误后保存新套餐。
计算巢处套餐配置示例如下所示:
SaaS Boost处套餐示例如下所示:
注意要点
- 保持Saas Boost上的套餐名称与计算巢中套餐的名称保持严格一致。
- 定价时要考虑对应计算巢服务套餐的具体配置。
- 定期审核和更新Saas Boost与计算巢之间的套餐对应关系,以保持数据的最新性和准确性。
遵循这些指导原则,商家可以保证Saas Boost平台上的商品与计算巢中服务和套餐的适当整合和价格一致性。
在参数管理中修改配置参数
为了更好的售卖您的商品,您需要提前配置好个人信息管理与支付信息管理。个人信息包括服务商名称、官方链接、Logo链接和服务商简介,这些信息有助于您更好地
向用户展示您的相关情况。支付信息管理中未来会支持多种支付手段,但当前仅支持用支付宝完成收款。支付宝中您需要配置的参数包括应用ID、商户ID、官方公钥、
服务商私钥以及支付环境等五项信息。本节将详细介绍个人信息与支付信息中的参数需要填写的内容与需要遵循的规则。
在创建SaaS Boost一键部署实例时,我们配置了一些加密参数。如认证服务-OAuth的Client Id和Client
Secret,以及支付宝的处的私钥,应用网关地址和授权回调地址。
当您需要对这些修改时请遵循一下操作:
修改服务商个人信息
个人信息中的Logo链接支持本地路径与http url两种方式。其他信息您可以按照您的需求进行填写。
下面是分别使用本地路径与http url的两个服务商个人信息填写示例:
示例一(本地路径):
示例二(http url):
配置支付宝
准备阶段
在配置支付宝参数前,您需要确保您的应用已经在支付宝开放平台接入。若需注册您的应用,请访问支付宝开发者控制台。
若在注册过程中遇到困难,请参考支付宝开放平台的技术接入指南。
配置项介绍
支付宝的配置项包括应用ID、商户ID、官方公钥、 服务商私钥以及支付环境。其中,应用ID、商户ID和支付环境为普通参数,官方公钥、 服务商私钥为加密参数,
saas boost利用阿里云中的oos产品保障您私密信息的信息安全。
应用ID是支付宝为每个接入其支付服务的应用或网站分配的一个唯一标识符。它用来识别具体的商户应用,确保请求来源于已授权的商家。在发起支付请求时,必须包
含此ID,以便支付宝平台能够识别并路由到正确的商户账户。
商户ID是支付宝为商户分配的一个唯一编号,用于标识商户的身份。它与应用ID相辅相成,共同确定交易的收款方。商户ID在处理支付、退款等业务逻辑时是必不可少
的,确保资金流向正确的商户账户。
官方公钥是指支付宝提供的公钥,用于验证支付宝发给商户的消息或通知的真实性。在加密通信中,商户会使用支付宝的公钥对支付宝发送过来的数据进行解密,或者验
证支付宝签名,以此确认消息未被篡改,保证了交易的安全性。
服务商私钥是指支付宝与商户约定的私钥,是RSA非对称加密体系中的一部分,与支付宝提供的公钥配对使用。商户在发起支付请求前,会使用自己的私钥对交易信息进
行签名,支付宝收到请求后,利用公钥验证签名,以此确保请求的来源是可信的。这个过程对于防止数据被篡改和保证交易的完整性至关重要。
支付环境包括沙盒环境和正式环境。沙盒环境是一个模拟的真实支付环境,供开发者在不涉及真实资金交易的情况下测试支付功能。在沙盒环境中,可以安全地调试代
码、测试支付流程,确保一切正常无误后再切换到正式环境。一旦应用的支付功能在沙盒环境中测试无误,就可以将其部署到正式环境中。正式环境直接关联实际的财务
交易,用户在这里进行的支付操作将涉及真实的货币流动。
获取方法介绍
- 应用ID在您的应用注册成功后,在支付宝开放平台->控制台标签页的左上角查看。如下图红框中所示。
- 商户ID在支付宝开放平台->右上角头像->账户中心->账号管理->账户信息->账号ID中查看。如下图红框所示
- 官方公钥与服务商私钥获取方式请参考支付宝开放平台的查看密钥/证书文档。
- 支付环境请您根据自身情况设置,在沙盒环境中安全地调试代码、测试支付流程,确保一切正常无误后再切换到正式环境。
访问定时任务
如果为ECS部署,则参照下图访问
如果为ACK部署方式,则请访问ACK的Job查看