从零入门 Serverless | 教你使用 IDE/Maven 快速部署 Serverless 应用
作者 | 许成铭(竞霄) 阿里云开发工程师
SAE 应用部署方式
1. SAE 概述

首先,简单介绍一下 SAE。SAE 是一款面向应用的 Serverless PaaS 平台,支持 Spring Cloud、Dubbo、HSF 等主流开发框架,用户可以零代码改造直接将应用部署到 SAE,并且按需使用、按量计费、秒级弹性。SAE 充分发挥 Serverless 的优势,为用户节省闲置资源成本;在体验上,SAE 采用全托管、免运维的方式,用户只需聚焦核心业务的开发,而应用生命周期管理、微服务管理、日志、监控等功能交由 SAE 完成。 **
2. SAE 应用部署方式

在使用 SAE 时,您可以在控制台上看到 SAE 支持三种部署方式,即可以通过 WAR 包、JAR 包和镜像的方式进行部署,如果您采用 Spring Cloud、Dubbo、HSF 这类应用,可以直接打包上传,或者填入包的地址便可以部署到 SAE 上;对于非 Java 语言的场景,您也可以使用镜像直接来部署,后续我们也会支持其他语言直接上传包的形式进行部署。
SAE 除上述控制台界面部署的方式之外,还支持通过 Maven 插件或者 IDE 插件的方式进行部署,这样您无需登录控制台,就可以执行自动化部署操作,同时可以集成如云效、Jenkins 等工具实现 CICD 流程。
Maven 插件部署

如何使用 Maven 插件进行部署?首先需要为应用添加 Maven 依赖 toolkit-maven-plugin,接下来需要编写配置文件来配置插件的具体行为,这里定义了三个配置文件:
toolkit_profile.yaml 账号配置文件,用来配置阿里云 ak、sk 来标识阿里云用户,这里推荐使用子账号 ak、sk 以降低安全风险。
toolkit_package.yaml 打包配置文件,用来声明部署应用的类型,可以选择 war、jar、url 以及镜像的方式来进行部署,若采用 war、jar 的方式,则会将当前应用进行打包上传,而 url 或者镜像的方式则要显示的填写对应的包地址或者镜像地址进行部署。
toolkit_deploy.yaml 部署配置,即可以配置该应用的环境变量、启动参数、健康检查等内容,这与控制台上的配置选项是一致的。
这三个文件都有对应的模板,具体的模板选项可以查看产品文档,接下来通过运行 Maven 打包部署命令 mvn clean package toolkit:deploy 即可自动化部署到 SAE 上。
IDE 插件部署
再看一下如何通过您的 IDE 直接进行部署,这个是借助 Alibaba Cloud Toolkit IDE 插件的能力,它可以在主流的 Java IDE IDEA 和 Eclipse 上面安装,这里以 IDEA 为例,您可以在 IDEA 插件市场中搜索并安装。之后重启 IDEA 后即可看到 Cloud Toolkit 的选项。下面我们要做的配置和刚才的 Maven 插件部署的配置比较类似,先要配置阿里云账号信息,即 ak、sk。接下来选择部署到 SAE 这个选项,里面有多种部署方式:Maven 打包、上传文件、镜像,同时在高级选项中可以配置应用的环境变量、启动参数、健康检查等内容。
总结
相信您通过本文已经了解了 SAE 的几种部署方式和基本使用,在这里也推荐您选用 SAE,在不改变当前开发运维方式的同时,享受 Serverless 技术带来的价值。
相关文档: 通过 Maven 插件自动部署应用 通过 IntelliJ IDEA 插件部署应用 通过 Eclipse 插件一键部署应用
课程推荐
为了更多开发者能够享受到 Serverless 带来的红利,这一次,我们集结了 10+ 位阿里巴巴 Serverless 领域技术专家,打造出最适合开发者入门的 Serverless 公开课,让你即学即用,轻松拥抱云计算的新范式——Serverless。
点击即可免费观看课程:https://developer.aliyun.com/learning/roadmap/serverless
从零入门 Serverless | 教你使用 IDE/Maven 快速部署 Serverless 应用的更多相关文章
- 【AGC】如何快速部署Serverless Url缩短模板
使用场景 Serverless短URL生成模板实现您将在云数据库服务中URL缩短的诉求.使用此模板后,仅需在云数据库服务侧配置长URL值.Serverless短URL生成模板会在后台与Bitly AP ...
- 教你在Kubernetes中快速部署ES集群
摘要:ES集群是进行大数据存储和分析,快速检索的利器,本文简述了ES的集群架构,并提供了在Kubernetes中快速部署ES集群的样例:对ES集群的监控运维工具进行了介绍,并提供了部分问题定位经验,最 ...
- 从零入门 Serverless | 在线应用的 Serverless 实践
作者 | 唐慧芬(黛忻) 阿里云产品专家 导读:毫无疑问,Serverless 能够在效率和成本上给用户带来巨大收益.那具体到落地又应该怎么做呢?本文就给大家详细解读 Serverless 的落地实践 ...
- 从零入门 Serverless | Knative 带来的极致 Serverless 体验
作者 | 冬岛 阿里巴巴高级技术专家 Serverless 公众号后台回复"knative",即可免费下载<Knative 云原生应用开发指南>电子书! 导读:Serv ...
- 从零入门 Serverless | 一文详解 Serverless 技术选型
作者 | 李国强 阿里云资深产品专家 今天来讲,在 Serverless 这个大领域中,不只有函数计算这一种产品形态和应用类型,而是面向不同的用户群体和使用习惯,都有其各自适用的 Serverless ...
- 从零入门 Serverless | SAE 的极致应用部署效率
作者 | 文俊 阿里巴巴云原生团队 本文整理自<Serverless 技术公开课>,"Serverless"公众号后台回复"入门",即可获取系列文章 ...
- 从零入门 Serverless | 一文讲透 Serverless Kubernetes 容器服务
作者 | 张维(贤维) 阿里云函数计算开发工程师 导读:Serverless Kubernetes 是以容器和 kubernetes 为基础的 Serverless 服务,它提供了一种简单易用.极致弹 ...
- Linux入门基础教程之Linux下软件安装
Linux入门基础教程之Linux下软件安装 一.在线安装: sudo apt-get install 即可安装 如果在安装完后无法用Tab键补全命令,可以执行: source ~/.zshrc AP ...
- Serverless助力AI计算:阿里云ACK Serverless/ECI发布GPU容器实例
ACK Serverless(Serverless Kubernetes)近期基于ECI(弹性容器实例)正式推出GPU容器实例支持,让用户以serverless的方式快速运行AI计算任务,极大降低AI ...
随机推荐
- Spark Ignite踩坑记录
Ignite spark 踩坑记录 简述 ignite访问数据有两种模式: Thin Jdbc模式: Jdbc 模式和Ignite client模式: shell客户端输出问题,不能输出全列: 针对上 ...
- forEachRemaining
ArrayList<Integer> arrayList=new ArrayList<>(); for (int i = 0; i <10; i++) { arrayLi ...
- js调试之firbug
说下几种方法吧: 1.用alert 这个最最直观 把你想要的内容弹出来给你看,但是要看哪里 就要在哪里加,比较麻烦 2.用firefox 或者chrome浏览器 里面有debug工具的 3.如果想用i ...
- MySQL-SQL基础1
p.p1 { margin: 0; font: 11px Menlo; background-color: rgba(128, 128, 128, 0.5); min-height: 13px } p ...
- AQS实现原理
AQS实现原理 AQS中维护了一个volatile int state(共享资源)和一个CLH队列.当state=1时代表当前对象锁已经被占用,其他线程来加锁时则会失败,失败的线程被放入一个FIFO的 ...
- JAVA 之 每日一记 之 算法 ( 长按键入 )
题目详解: 你的朋友正在使用键盘输入他的名字 name.偶尔,在键入字符 c 时,按键可能会被长按,而字符可能被输入 1 次或多次. 你将会检查键盘输入的字符 typed.如果它对应的可能是你的朋友的 ...
- SSL基础知识及Nginx/Tomcat配置SSL
HTTPS 是在 HTTPS 基础之上添加 SSL/TLS 使网络通讯加密,进而确保通信安全.可简记为 HTTPS = HTTP + SSL/TLS 本文档主要讲解常规SSL格式.Nginx 与 To ...
- MySQL——企业SQL优化方案
一.大表 (1)列多: 纵向拆分大表: create t1; insert into t1 select id, name from test; (2)行多: 根据数据存放特点和逻辑进行横向拆分大表: ...
- Abp VNext权限定义
在Shop.Application.Contracts项目中Permissions目录下ShopPermissions定义权限名 namespace Shop.Permissions { public ...
- JDBC基础和使用
内存泄漏意思就是内存越来越少了,因为垃圾太多: 线程泄露就是线程池中线程越来越少,执行过程中异常,没有返回给线程池,线程池中线程越来越少: 一.概念 二.快速入门 三.JDBC各个类详解 1.driv ...