如何使用计算巢SaaS Boost完成服务定价和售卖?

本文涉及的产品
云服务器 ECS,每月免费额度200元 3个月
对象存储 OSS,20GB 3个月
简介: 本文介绍了一种可帮您实现快速SaaS化转型的阿里云计算巢开源工具的详细使用说明,开发者指引和常见问题。可使用计算巢SaaS Boost工具完成服务定价和售卖。

钉钉交流群

如有任何问题交流,请使用钉钉扫描加入
image.png

目录

介绍

计算巢SaaS Boost是由阿里云推出的一款开发工具和框架,旨在帮助软件即服务(SaaS)开发者快速构建、部署、扩展和售卖SaaS应用程序。它提供了一组开箱即用的功能和组件,使用户聚焦于业务逻辑的开发,而极大地降低SaaS应用程序开发的复杂性和成本。 计算巢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)费用
  • 流量带宽费用

参数说明

参数组 参数项 说明
服务实例 服务实例名称 长度不超过64个字符,必须以英文字母开头,可包含数字、英文字母、短划线(-)和下划线(_)
地域 服务实例部署的地域
待部署的计算巢服务 计算巢服务Id 待部署的用户企业的计算巢服务Id
OAuth配置 OAuthClientId 阿里云OAuth认证Client Id
OAuthClientSecret 阿里云OAuth认证 Client Secret
支付宝(沙箱)配置 AlipayAppId 支付宝(沙箱)应用ID
AlipayPid 支付宝(沙箱)应用商家Id
AlipayPrivateKey 支付宝(沙箱)应用私钥
AlipayOfficialPublicKey 支付宝官方应用公钥
流水线配置 企业 选择/新建您的企业
GitHub服务连接 连接到GitHub的凭证。可通过账号密码方式创建
GitRepoEndpoint 仓库地址
付费类型配置 付费类型 按量付费/包年包月
ECS实例配置 实例类型 部署的ECS实例类型
实例密码 服务器登录密码,长度8-30,必须包含三项(大写字母、小写字母、数字、 ()`~!@#$%^&*_-+=|{}[]:;'<>,.?/ 中的特殊符号)
可用区配置 交换机可用区 该实例类型可部署的可用区
网络配置 是否新建VPC 选择是否在当前可用区新建VPC
专有网络VPC实例Id 选择当前可用区下的VPC实例
交换机实例Id 选择当前VPC支持的交换机

部署流程

部署计算巢SaaS Boost的流程如下:

1. Fork当前仓库

Fork SaaS Boost仓库到您的个人仓库

2. 创建支付宝沙箱账号

指引图片中被框住的参数在创建服务实例中会被使用到。创建支付宝沙箱账号和创建计算巢服务实例步骤可颠倒顺序。

  1. 按照支付宝沙箱文档中的说明,创建支付宝沙箱账号。其中应用网关地址和授权回调地址待创建好服务实例后回填。
    1.png

  2. 保留支付宝沙箱应用的私钥和支付宝的官方公钥

2.png

3. 创建计算巢服务实例

  1. 访问计算巢控制台选择SaaS Boost一键部署服务
  2. 安装提示填写部署参数
    1. 选择要部署的服务。目前仅支持示例服务。
    2. 选择部署地域
    3. 填入支付宝沙箱信息(可跳过)
      7.png
4. 在流水线配置中,创建您的企业。根据前文fork的仓库信息创建Git连接凭证,填入前文fork的仓库地址。

8.png

5. 选择付费类型和想要部署的Ecs实例规格及部署可用区

9.png

6. 选择/新建专有网络(VPC)和交换机(VSW)

10.png

  1. 确认同意服务协议并点击立即创建
    进入部署阶段。
    11.png

  2. 服务实例创建好后回填参数

    1. 在部署的实例信息中将AlipayNotifyUrl和AlipayReturnUrl分别回填到支付宝沙箱应用配置中的应用网关地址和授权回调地址(
      步骤2.1)
      12.png

5. 访问计算巢SaaS Boost服务

点击部署好的服务实例详情页的Endpoint即可访问示例SaaS Boost界面。
13.png

使用

一旦计算巢SaaS Boost部署完成,您就可以开始使用它来开发、部署和销售您的软件应用程序。以下是一些关键的使用说明:

  1. 配置您的SaaS应用(计算巢Service)

    • 上传部署物或使用快速ROS模版搭建您服务的计算巢Service。
    • 在application.properties文件中配置套餐
    • 重新运行流水线,完成SaaS应用的部署。
  2. 支付宝沙箱测试:在正式售卖前,请利用支付宝沙箱APP测试售卖能力。

    1. 如果在创建计算巢服务实例处选择跳过配置支付宝信息。则在使用前需要进行配置。见对支付宝服务的配置进行修改
    2. 在支付宝沙箱工具中下载支付宝客户端沙箱版安卓APP
      14.png

    3. 选择想要创建的服务实例套餐

15.png

4. 使用沙箱应用中提供的账号密码进行支付测试。

5. 查看已部署的服务实例详情

16.png

6. 查看已部署服务实例监控

17.png

7. 查看历史订单

18.png

8. 在通过沙箱测试后,务必再次使用正式的支付宝账号进行售卖测试。

开发者指南

快速创建服务

如果您还没有为您即将售卖的软件创建计算巢服务。请基于以下文档快速创建计算巢服务。或查看官方文档

  1. 登录到计算巢控制台,选择"新建服务"
    service-creation-1.png

  2. 仿照下图配置,选择托管版服务和Spring Boot服务。
    service-creation-2.png

  3. 填写配置参数
    service-creation-3.png

  4. 点击"创建服务",等待服务创建成功。

  5. 后续当您想对您软件部署物进行修改时,可对该服务进行编辑,重新选择部署物。
    service-creation-4.png

修改配置参数

在创建SaaS Boost一键部署实例时,我们配置了一些加密参数。如认证服务-OAuth的Client Id和Client
Secret,以及支付宝的处的私钥,应用网关地址和授权回调地址。


当您需要对这些修改时请遵循一下操作:

对OAuth 服务的配置进行修改

  1. 打开部署的服务实例详情页面,复制OAuth 服务的Client Id和Client Secret。如红框所示。
    service-config-1.png

  2. 在阿里云控制台,访问运维编排-OOS工作台。点击参数仓库。
    service-config-2.png

  3. 选择地域为服务实例部署地域,点击加密参数栏,在搜索框中搜索OOS加密参数名
    service-config-3.png

  4. 点击进入加密参数编辑界面进行修改和保存即可。

对支付宝服务的配置进行修改

支付宝的配置项包括支付宝公钥、支付宝私钥、支付宝网关地址、授权回调地址。

  1. 对支付宝配置修改的前述步骤与OAuth配置的步骤(1-4)一致。

  2. 需要登录到支付宝(沙箱)控制台。对应用网关地址,授权回调地址和应用公钥进行修改和设置。
    service-config-4.png

套餐管理

  1. 通过套餐设置功能,服务商可以将服务中的部分或全部参数配置为套餐,以供用户选择,避免用户在一个服务中配置较多参数导致的用户学习成本太高或者选配出错。
  2. 服务商可以配置多个套餐,给用户提供不同场景的最佳配置实践。
  3. 在创建服务实例时,必须选择一个套餐,再配置套餐外的参数即可创建服务实例。

如何配置套餐

在计算巢SaaS Boost中,基于计算巢的套餐功能,做了一些降低用户学习成本的功能。

不需要套餐管理的服务

如果您的服务不需要套餐管理,在计算巢控制台处则无需配置套餐。只需要在SaaS
Boost的boost.common路径下的application-*.properties
配置文件中,对该服务进行定价即可,即修改如下部分:

nest.service-configs[0].specifications[0].month-price=自定义
nest.service-configs[0].specifications[0].year-price=自定义

在这种情况中,该服务模版暴露的所有的参数都需要用户亲自进行填写。

需要套餐管理的服务

如图所示:
service-config-5.png
当您的套餐包含多个需要填写的参数时,建议您通过图中的方法,将套餐与某些参数关联,如ECS实例类型。这有助于降低用户填写参数的难度,使他们能够更快地完成购买和使用软件。如果您使用了计算巢的套餐功能,请在boost.common路径下的application-*
.properties文件中,为价格和套餐名进行配置。


在对套餐名进行配置时,请确保配置文件中的specification-name和控制台的名字完全一致。

示例如下:

nest.service-configs[0].specifications[1].specification-name=Entry Level Package
nest.service-configs[0].specifications[1].month-price=20.0
nest.service-configs[0].specifications[1].year-price=200.0
nest.service-configs[0].specifications[2].specification-name=Standard Package
nest.service-configs[0].specifications[2].month-price=30.0
nest.service-configs[0].specifications[2].year-price=300.0
自定义参数

service-config-6.png
如果您希望让用户对某些参数重新填写时,比如上图的ECS实例密码,SaaS Boost也提供了DIY功能,可以通过简单的前端配置,即可实现对默认参数的重填。
配置文件路径为:index.tsx中。示例如下:

export const CustomParameters: ParameterTypeInterfaceArray = {

    InstancePassword: {
        Type: 'String',
        NoEcho: true,
        Label: {
            en: 'Instance Password',
            'zh-cn': '实例密码',
        },
        Default: '123456aA',
        AllowedPattern: "[0-9A-Za-z_\\-&:;''<>,=%`~!@#\\(\\)\\$\\^\\*\\+\\|\\{\\}\\[\\]\\.\\?\\/]+$"
    },
};

更多信息见ParameterTypeInterfaceArray接口


通过这样的方式即可实现参数的DIY配置。需要注意的是,自己DIY的参数需要与您的计算巢服务模版中的名称和类型一致。
更详细的信息见计算巢官方文档:配置套餐

相关实践学习
一小时快速掌握 SQL 语法
本实验带您学习SQL的基础语法,快速入门SQL。
7天玩转云服务器
云服务器ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,可降低 IT 成本,提升运维效率。本课程手把手带你了解ECS、掌握基本操作、动手实操快照管理、镜像管理等。了解产品详情:&nbsp;https://www.aliyun.com/product/ecs
相关文章
|
3月前
|
运维 监控 安全
采用云端SaaS服务的云HIS基层医院信息管理系统源码
采用云端SaaS服务的方式提供云HIS系统,使用用户通过浏览器即能访问,无需关注系统的部署、维护、升级等问题,系统充分考虑了模板化、配置化、智能化、扩展化等设计方法,覆盖了基层医疗机构的主要工作流程,能够与监管系统有序对接,并能满足未来系统扩展的需要。 医院信息科人的日常
37 0
|
3月前
|
运维 监控 数据安全/隐私保护
如何最大化利用计算巢将软件SaaS化
在实际开发圈的世界里,关于作为一位独立开发者,可能经常会面临着代码贡献和开发完成软件的售后阶段的挑战。但是计算巢作为一站式管理平台,可以提供智能简捷的服务发布和管理,为软件SaaS化提供了便利,尤其是对于独立开发者来说是一个非常不错的选择。那么本文就来分享一下软件SaaS化管理平台的功能,以及独立开发者选择使用计算巢进行软件SaaS化的原因,还有对市场软件SaaS化趋势的一些看法。
167 3
如何最大化利用计算巢将软件SaaS化
|
4月前
|
Prometheus Java 开发者
计算巢:5分钟快速创建服务
计算巢创建服务一直是比较复杂、有门槛的,尤其是编写ROS模板和配置部署物方面,目前计算巢开放了开发者功能,允许普通开发者也发布自己的服务,对于普通开发者和服务商如果没有很强的意愿,那么光创建服务的高门槛就会将其阻拦。出于此,计算巢提出了一种新的创建服务的方式--通过模板快速创建服务。
计算巢:5分钟快速创建服务
|
2月前
|
弹性计算 网络安全 调度
通过计算巢轻松部署Salt服务
Salt基于Python构建,是一个事件驱动的自动化工具和框架,用于部署、配置和管理复杂的IT系统。使用Salt来自动化公共基础设施管理任务,并确保基础设施的所有组件都以一致的期望状态运行。 本文向您介绍如何开通计算巢上的Salt服务,以及部署流程和使用说明。
40 0
幻兽帕鲁计算巢部署 - 服务版本升级说明
计算巢版本已经升级至63,乃至更新的版本,为大家提供了存档、服务器等更多的操作功能,老版本的用户只要大于等于25版本的用户,均可以支持升级到最新;24以及以前的,暂时还没法升级。升级流程请参考文档。
|
4月前
|
运维 BI
基层医院云HIS系统源码,采用B/S架构云端SaaS服务模式
一款满足基层医院各类业务需要的云HIS系统。该系统能帮助基层医院完成日常各类业务,提供病患挂号支持、病患问诊、电子病历、开药发药、会员管理、统计查询、医生站和护士站等一系列常规功能,还能与公卫、PACS等各类外部系统融合,实现多层机构之间的融合管理。 云HIS系统采用B/S架构云端SaaS服务的方式提供,使用用户通过浏览器即能访问,无需关注系统的部署、维护、升级等问题,系统充分考虑了模板化、配置化、智能化、扩展化等设计方法,覆盖了基层医院的主要工作流程,能够与监管系统有序对接,并能满足未来系统扩展的需要。
|
4月前
|
开发框架 前端开发 JavaScript
Java医院区域HIS信息管理系统源码(SaaS服务)
系统采用前后端分离架构,前端由Angular、JavaScript开发;后端使用Java语言开发。融合B/S版电子病历系统,支持电子病历四级。系统运行稳定、功能齐全,界面布局合理、操作简便。
37 0
|
4月前
|
弹性计算 供应链 测试技术
计算巢实操合集:软件用户使用服务及供应商进阶管理(系列四)
弹性计算社区推出的面向开发者计算巢成长系列课程已经发布第四期了,本期将围绕软件用户使用服务实操以及供应商进阶管理实操,并且一步步教大家如何利用计算巢完成部署体验。
107634 1
|
4月前
|
弹性计算 关系型数据库 MySQL
计算巢:快速创建支持私网连接的托管服务
计算巢服务是一个开放给服务商和用户的服务管理PaaS平台,目前,计算巢支持一种新的创建服务的功能:通过精选模板创建。该方式屏蔽了部署物和编写ROS等比较复杂、高门槛的过程,一键式地创建计算巢服务,后续可以基于该服务进行服务测试、服务实例创建、服务的发布上线等全流程。
|
4月前
|
弹性计算 供应链 开发者
计算巢实操合集:软件供应商发布服务实操(系列三)
弹性计算社区推出的面向开发者计算巢成长系列课程已经发布第三期了,本期将围绕软件供应商发布服务实操