使用SAE部署应用并通过公网访问应用

更新时间: 2023-07-20 17:46:18

sae

手动配置

40

教程简介

通过本教程,您将学习如何使用Serverless应用引擎SAE(Serverless App Engine)部署应用并通过公网访问应用。

Serverless应用引擎SAE(Serverless App Engine)是一个全托管、免运维、高弹性的通用PaaS平台。SAE支持Spring Cloud、Dubbo、HSF、Web应用和XXL-JOB、ElasticJob任务的全托管,零改造迁移、无门槛容器化,并提供了开源侧诸多增强能力和企业级高级特性。

我能学到什么

  • 学会快速使用SAE部署应用。

  • 学会为应用绑定SLB并通过公网访问应用。

  • (进阶)学会通过压测工具评估应用容量峰值范围,并为应用配置弹性策略。

  • (进阶)学会观测应用的多项监控指标。

通过前两项基础操作,您能够完整体验SAE的应用部署。进阶操作为可选项,您可以按需体验。

操作难度

所需时间

40分钟

使用的阿里云产品

所需费用

SAE、SLB、PTS和ARMS资源在试用额度内免费。更多信息,请参见SAE计费概述SLB计费概述PTS计费概述ARMS计费概述

准备环境和资源

10

开始教程前,请按以下步骤准备环境和资源:

  1. 访问阿里云免费试用。单击页面右上方的登录/注册按钮,并根据页面提示完成账号登录(已有阿里云账号)、账号注册(尚无阿里云账号)或实名认证(根据试用产品要求完成个人实名认证或企业实名认证)。

  2. 成功登录后,在产品类别下选择计算 > 应用列表Serverless 应用引擎 SAE,在Serverless 应用引擎 SAE卡片上单击立即试用

  3. Serverless 应用引擎 SAE面板,确认开通产品、CPU资源包与内存资源包等信息后,选中服务协议右侧的复选框,然后单击立即试用完成试用申请。

    image.png
  4. 页面跳转至SAE控制台,按照页面提示操作。

    • 如果SAE控制台显示领取套餐并开通按量付费的服务未开通提示,您无需任何操作,仅需等待一段时间(约7秒)即可直接使用SAE的相关功能。

    • 如果您未创建SLR,登录SAE控制台时会弹出欢迎使用Serverless应用引擎SAE对话框,单击确认创建即可完成SLR的创建。

    说明

    如果您是新用户,并且在试用中心已领取SAE资源包,资源包会自动抵扣。因此,使用SAE试用教程期间,您无需关注开通按量付费后以及创建应用时的配置费用。关于免费额度的更多信息,请参考试用教程的清理及后续页签。

    image.pngimage.png

部署应用

10

  1. 登录SAE控制台,在左侧导航栏,选择应用管理 > 应用列表,在顶部菜单栏选择地域,然后单击创建应用

    当您首次使用RAM用户登录SAE控制台时,SAE会弹出欢迎使用Serverless应用引擎SAE对话框提示您需要为RAM用户授权,使RAM用户可以访问相应的阿里云资源。更多信息,请参见为RAM用户授权

  2. 应用基本信息配置向导,配置相关信息,然后单击下一步:应用部署配置

    配置项

    说明

    示例

    应用名称

    输入自定义的应用名称。

    frontend

    专有网络配置

    选择专有网络的配置方式。

    • 自定义配置:选中后,可以为创建的应用选择所需的命名空间、VPC、vSwitch及安全组。

    • 自动配置:选中后,SAE将自动配置命名空间、VPC、vSwitch及安全组,无需手动选择。

    自动配置

    应用实例数

    选择需要创建的实例个数。

    1

    VCPU

    选择需要创建的实例CPU规格。

    4Core

    内存

    选择需要创建的实例内存规格。

    8GiB

    说明

    本教程是为了模拟实际生产场景而选择较大的资源规格,如果是您自己使用,可以根据应用来自由选择对应的规格。

    image..png
  3. 应用部署配置配置向导,配置相关信息,然后单击下一步:确认规格

    本步骤仅介绍关键配置项,其余配置信息保持默认即可。

    配置项

    说明

    示例

    技术栈语言

    选择应用对应的技术栈语言。

    Java

    应用部署方式

    选择应用的部署方式。

    JAR包部署

    应用运行环境

    • 标准Java应用运行环境:适用于Spring Boot与Dubbo应用。

    • EDAS-Container-XXX:适用于HSF应用。

    标准Java应用运行环境

    Java环境

    • Dragonwell X(推荐):支持OpenJDK,支持应用启动及运行时加速,提升GC效率等。

    • Open JDK X:基于CentOS操作系统,基础镜像大。

    • openjdk-XXXXX-jdk-alpine3.9:基于Alpine操作系统,基础镜像小。

    Open JDK 8

    文件上传方式

    选择文件上传方式。

    • 上传JAR包:单击选择文件,选择待部署的JAR文件。

    • JAR包地址:输入JAR文件的存放地址。

    JAR包地址

    JAR包地址

    文件上传方式选择JAR包地址时,需要输入JAR文件的存放地址。应用部署程序包名称仅可包含字母、数字、短划线(-)和下划线(_)。

    https://labfileapp.oss-cn-hangzhou.aliyuncs.com/SAE/frontend-1.0.1-SNAPSHOT.jar

    版本

    设置应用版本号,选择输入版本号或者单击使用时间戳为版本号将时间戳作为应用版本号。

    1685516276089

    时区设置

    选择当前应用所在时区。

    UTC+8

    options设置

    展开启动命令设置区域,在options设置栏输入所需命令。

    -XX:+UseContainerSupport -XX:InitialRAMPercentage=70.0 -XX:MaxRAMPercentage=70.0
    image..png
  4. 确认规格配置向导,查看您所创建应用的详细信息以及费用配置情况,然后单击确认创建

    无需等待应用创建完毕,直接执行下一步,部署新应用。

  5. 返回应用列表页面,重复步骤1~4,创建其余两个应用cartservice、productservice。

    本步骤仅介绍应用的不同配置项,其余配置信息与frontend应用保持一致即可。部署完成后,当应用列表页面显示已创建的3个应用,表示应用部署成功。

    配置项

    示例

    JAR包地址

    • cartservice

      https://labfileapp.oss-cn-hangzhou.aliyuncs.com/SAE/cartservice-provider-1.0.1-SNAPSHOT.jar
    • productservice

      https://labfileapp.oss-cn-hangzhou.aliyuncs.com/SAE/productservice-provider-1.0.1-SNAPSHOT.jar
    image..pngimage..png
  6. 应用列表页面,单击frontend,在默认显示的基本信息页签,找到应用访问设置区域,然后在基于SLB访问页签,单击添加公网SLB访问

    负载均衡SLB有多种类型,其中添加公网SLB访问功能绑定的SLB,为传统型负载均衡CLB。

    image..png
  7. 添加公网SLB访问对话框,请选择SLB默认选择新建,在HTTP协议页签的HTTP端口输入80容器端口输入9999,然后单击确认

    如果公网访问地址栏显示公网地址,表示应用成功绑定SLB。

    image..pngimage..png

完成

2

在任意一台终端的浏览器地址栏中,输入公网地址(例如本示例中的XX.XX.76.150:80)并回车,即可访问已部署的商城。至此,您已完成SAE部署应用的全部体验。

  • 如果您有兴趣继续体验,可以暂时保留资源,参考进阶教程,进一步体验SAE在弹性伸缩、可观测方面的能力。

  • 如果您不继续体验,请参考试用教程的清理及后续页签,删除资源。

image..png

弹性能力体验(进阶)

10

如果您有兴趣继续体验,可以暂时不删除资源,参考进阶教程,进一步体验SAE在弹性伸缩方面的能力。如果您不继续体验,请参考试用教程的清理及后续页签,删除资源。

重要

在进阶教程中,使用PTS会产生一定的费用。更多信息,请参见PTS计费概述

  1. 登录PTS控制台,在左侧导航栏,选择性能测试 > 创建场景,然后在创建场景页面,单击PTS压测卡片。

    如果您未开通PTS,页面会提示开通,按照提示开通即可。

    image..png
  2. 创建PTS场景页面的场景配置页签,配置相关信息,然后单击施压配置页签。

    配置项

    说明

    示例

    场景名

    自定义。

    sae

    请输入压测API名称

    自定义。

    buy

    压测URL

    单击GET,在基本请求信息页签,输入商城应用的购买商品接口。其中,<IP地址>为部署应用时绑定的公网SLB地址。

    http://<IP地址>/product/buy/20/200
    image..png
  3. 施压配置页签,配置相关信息,然后单击保存去压测

    分类

    配置项

    说明

    示例

    压测模式配置

    递增模式

    在压测过程中通过手动调速后自动递增模式会自动失效,手动模式需要在起始和最高之间手动增减。

    自动递增

    最大并发

    全场景可达到的最大并发量,各串联链路按照权重分配并发量。

    20

    递增百分比

    递增并发量级。

    50

    单量级持续时长

    为保证能在单量级持续过程中发现业务问题,单量级持续时长至少设置1分钟。

    1

    压测总时长

    自动递增时,总时长≥单量级持续时长/递增量级×1.1(向上取整),但不可超过24小时。

    3

    量级及数据配置

    最大并发权重

    压测模式设置完毕,需设置压测起始量级与最大量级。

    100

    起始百分比

    20

    image..png

  4. 温馨提示对话框,单击确定,启动压测,等待PTS压测任务生成并执行,然后查看压测结果。

    image..pngimage..png

  5. 报告列表页面,找到目标报告,在其操作列,单击查看报告

    在未开启弹性策略的情况下,面对大流量,您可以观察到服务已经出现失败的情况。

    image..pngimage..png
  6. 登录SAE控制台,在左侧导航栏,选择应用管理 > 应用列表,在顶部菜单栏选择地域,然后单击productservice应用。

    为应用配置弹性策略后,再尝试压测并查看结果。

    image..png
  7. 基本信息页面,单击右上角的自动扩缩,进入添加弹性策略面板。按照页面提示完成配置后,单击确认,然后在实例部署信息页签的弹性伸缩区域,单击目标策略操作列的启用

    配置项

    说明

    示例

    策略类型

    支持配置定时、监控指标以及混合弹性策略。

    监控指标策略

    策略名称

    自定义。

    sae

    CPU使用率

    单个实例的平均CPU使用率。

    70

    Mem使用率

    单个实例的平均内存使用率 。无需配置。单击操作列的删除图标。

    应用最小实例数

    触发弹性伸缩条件后,应用缩容,其实例数可达到的目标值。

    1

    image..png
  8. 返回PTS控制台,在左侧导航栏,选择性能测试 > 场景列表,在场景列表页面,找到目标场景,在其操作列,单击启动

    等待压测完成后,查看报告,您可以观察到在开启弹性策略后,同样的流量下,请求成功率达到100%。

    image..pngimage..png
  9. 返回SAE控制台,在productservice应用基本信息页面的实例部署信息页签,查看实例信息。

    您可以观察到SAE自动拉起2个实例,此时一共有3个实例。等待几分钟后,因流量洪峰消失,SAE会自动释放拉起的实例,最终只剩下1个运行中的实例。

    image..pngimage..png
  10. 至此,您已完成SAE弹性能力的体验。请参考试用教程的清理及后续页签,删除资源。

可观测能力体验(进阶)

如果您有兴趣继续体验,可以暂时不删除资源,参考进阶教程,进一步体验SAE在可观测方面的能力。如果您不继续体验,请参考试用教程的清理及后续页签,删除资源。

重要

在进阶教程中,使用ARMS会产生一定的费用。更多信息,请参见ARMS计费概述

5

  1. 登录SAE控制台,在左侧导航栏,选择应用管理 > 应用列表,在顶部菜单栏选择地域,然后单击目标应用名称。

  2. 在左侧导航栏,单击基础监控应用监控,查看应用的各项指标信息。

    SAE默认提供该功能,您无需付费。

    image.pngimage.png
  3. 在左侧导航栏,选择应用监控 > 高级监控,单击开通ARMS高级监控,使用链路分析等更高级的功能。

    此项服务需支付费用,如果您领取了ARMS的免费试用,可以按照试用规则享受免费体验。但是不再使用时,请及时删除资源,以免支付不必要的费用。

    image.png

清理及后续

3

清理

Serverless应用引擎SAE提供CPU 48000核*分钟(即800核*时)、内存96000 GiB*分钟(即1600GiB*时),有效期3个月的免费试用额度。超出有效期和试用额度的部分均会计入按量付费。更多关于试用额度的信息,请参见试用额度。完成教程后,请参考以下场景处理SAE的资源:

  • 如果无需使用SAE,请登录SAE控制台,在左侧导航栏,选择应用管理 > 应用列表,在顶部菜单栏选择地域,在应用列表页面,找到目标应用,单击右侧操作列的删除,按照界面提示删除资源。

  • 如果需要继续使用SAE,请注意用量,确保账户不要欠费。

后续

SLB产品属于额外计费项,不属于SAE计费项。假设SAE解绑或修改已绑定的SLB实例,此时SLB实例依旧在运行中,因此,SLB产品仍处于计费状态。如果无需继续使用SLB产品,释放SLB实例后才会停止计费。完成教程后,请参考以下场景清理对应资源:

  • 如果无需继续使用SLB,请登录负载均衡控制台,根据界面提示删除资源。

  • 如果需要继续使用SLB,请注意用量,确保账户不要欠费。

总结

常用知识点

问题1:本教程中,为SAE应用绑定的SLB,属于什么类型的负载均衡?(单选题)

  • 应用型负载均衡ALB(Application Load Balancer)

  • 传统型负载均衡CLB(Classic Load Balancer)

  • 网络型负载均衡NLB(Network Load Balancer)

正确答案是传统型负载均衡CLB。

问题2:如果应用已配置并启用了弹性策略,部署该应用后,弹性策略是否会失效?(单选题)

  • 会。

  • 不会。

正确答案是会。进行部署应用等变更单操作时,SAE会停止当前应用的弹性配置,避免两种操作冲突。

延伸阅读

阿里云首页 相关技术圈