通过 IDE/Maven 部署 Serverless 应用实践
作者 | 許成銘(競霄) 阿里云開發(fā)工程師
SAE 應用部署方式
1. SAE 概述
首先,簡單介紹一下 SAE。SAE 是一款面向應用的 Serverless PaaS 平臺,支持 Spring Cloud、Dubbo、HSF 等主流開發(fā)框架,用戶可以零代碼改造直接將應用部署到 SAE,并且按需使用、按量計費、秒級彈性。SAE 充分發(fā)揮 Serverless 的優(yōu)勢,為用戶節(jié)省閑置資源成本;在體驗上,SAE 采用全托管、免運維的方式,用戶只需聚焦核心業(yè)務的開發(fā),而應用生命周期管理、微服務管理、日志、監(jiān)控等功能交由 SAE 完成。
2. SAE 應用部署方式
在使用 SAE 時,您可以在控制臺上看到 SAE 支持三種部署方式,即可以通過 WAR 包、JAR 包和鏡像的方式進行部署,如果您采用 Spring Cloud、Dubbo、HSF 這類應用,可以直接打包上傳,或者填入包的地址便可以部署到 SAE 上;對于非 Java 語言的場景,您也可以使用鏡像直接來部署,后續(xù)我們也會支持其他語言直接上傳包的形式進行部署。
SAE 除上述控制臺界面部署的方式之外,還支持通過 Maven 插件或者 IDE 插件的方式進行部署,這樣您無需登錄控制臺,就可以執(zhí)行自動化部署操作,同時可以集成如云效、Jenkins 等工具實現(xiàn) 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 部署配置,即可以配置該應用的環(huán)境變量、啟動參數(shù)、健康檢查等內(nèi)容,這與控制臺上的配置選項是一致的。
這三個文件都有對應的模板,具體的模板選項可以查看產(chǎn)品文檔,接下來通過運行 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 打包、上傳文件、鏡像,同時在高級選項中可以配置應用的環(huán)境變量、啟動參數(shù)、健康檢查等內(nèi)容。
總結
相信您通過本文已經(jīng)了解了 SAE 的幾種部署方式和基本使用,在這里也推薦您選用 SAE,在不改變當前開發(fā)運維方式的同時,享受 Serverless 技術帶來的價值。
相關文檔:
通過 Maven 插件自動部署應用 通過 IntelliJ IDEA 插件部署應用 通過 Eclipse 插件一鍵部署應用
課程推薦
為了更多開發(fā)者能夠享受到 Serverless 帶來的紅利,這一次,我們集結了 10+ 位阿里巴巴 Serverless 領域技術專家,打造出最適合開發(fā)者入門的 Serverless 公開課,讓你即學即用,輕松擁抱云計算的新范式——Serverless。
點擊即可免費觀看課程:https://developer.aliyun.com/learning/roadmap/serverless
Serverless 公眾號,發(fā)布 Serverless 技術最新資訊,匯集 Serverless 技術最全內(nèi)容,關注 Serverless 趨勢,更關注你落地實踐中的遇到的困惑和問題。
總結
以上是生活随笔為你收集整理的通过 IDE/Maven 部署 Serverless 应用实践的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: GPU 机器学习开箱即用
- 下一篇: 在线应用的 Serverless 实践