簡介
VMware vRealize Automation(vRA,以前稱為vCloud Automation Center)是VMware公司開發(fā)的虛擬環(huán)境自動化軟件。vRealize提供了一個安全門戶,用戶可以在其中請求新的IT服務并管理特定的云和IT資源。應用程序開發(fā)人員使用vRealize REST(表述性狀態(tài)傳遞)API,可以在虛擬、物理和云環(huán)境中部署和實現虛擬機/物理機自動化。
本文面向希望使用vRealize Automation REST API以編程方式進行部署和管理vRealize Automation的軟件工程師和應用程序開發(fā)人員。
本文介紹如何逐步使用vRealize Automation REST API來部署藍圖,包括如何使用REST API服務和資源,如何創(chuàng)建HTTP承載令牌以進行身份驗證和授權,以及如何構建REST API服務調用。演示步驟如下所示:
從藍圖部署虛擬機。
在部署過程中監(jiān)視請求狀態(tài)。
目標受眾
本文適用于需要創(chuàng)建客戶端應用程序、Web界面、Web服務(連接到vAPI端點以使用VMware vSphere Automation SDK進行REST服務)的應用程序開發(fā)人員和軟件工程師,以及任何想要使用vRA管理其資源但又希望資源部署可適應其當前流程的人員。
為何選擇vRealize Automation,而不是vCloud Director (vCD)
VMware已宣布vCloud Director將不再是vCloud Suite 6.x產品許可證的一部分。對于企業(yè)客戶而言,vCloud Director即將終結。vCloud Director將繼續(xù)通過云打包中的VMware服務提供商計劃(VSPP)提供。
對于目前使用vCloud Director的用戶而言,vRealize Automation將是后續(xù)替代產品。vRealize Automation可以加快應用程序和計算服務的部署和管理。
為何選擇REST API而不是SOAP
SOAP(簡單對象訪問協(xié)議)和REST都是Web服務通信協(xié)議。REST通過一個單獨、統(tǒng)一的接口來訪問命名資源。它在通過互聯網發(fā)布公有API時,最為常用。SOAP則與之不同,它將應用程序邏輯的組件作為服務發(fā)布,而不是數據。
REST允許更多種類的數據格式,而SOAP只允許XML。
通常認為REST與JSON(通常可以更好地處理數據并提供更快的解析)相結合,更易于使用。
REST以JSON格式輸出,為瀏覽器客戶端提供更好的支持。
REST提供卓越的性能,特別是緩存未變化的非動態(tài)信息時。
它是雅虎、eBay、亞馬遜甚至谷歌等主要服務商最常用的協(xié)議。
REST通常更快并且占用帶寬更少。與現有網站集成也更容易,無需重構站點基礎架構。這使開發(fā)人員能夠更快地工作,無需花時間從頭開始重構站點。不僅如此,他們還可以輕松添加功能。
藍圖
藍圖是包含一個或多個物理機、虛擬機或云計算機方案的規(guī)范,包括網絡配置和相應的生命周期信息。在典型的軟件開發(fā)過程中,用戶調用REST API來部署藍圖。
圖1. 一個典型的簡單藍圖。
vRealize Automation: REST API
Catalog service REST API旨在供服務目錄的使用者使用;例如,想要請求目錄項的最終用戶將是此API的使用者。當最終用戶請求目錄項時,將調用目錄使用者REST API。
我們開發(fā)的技術面向希望通過編程管理vRealize Automation以便為軟件開發(fā)配置VM的開發(fā)人員。使用vRA REST API請求目錄項的過程有以下五個步驟:
第1步:獲取HTTP承載令牌進行身份驗證
URL: https://
類型: Get
類型: Post
報頭: Content-type: application/json
第2步:使用藍圖名稱獲取藍圖id
URL: https://
類型: Get
類報頭:
Content-type: application/json,
Authorization: Bearer
Accept: application/json
第3步:獲取請求目錄項所需的JSON模板
URL: https://
類型: Get
報頭:
Content-type: application/json,
Authorization: Bearer
Accept: application/json
第4步:請求目錄項
URL: https://
類型: Post
報文: json response received from request template (previous step)
第5步:檢查請求狀態(tài)
URL: https://
類型: Get
圖2. 請求和部署藍圖的五個步驟。
REST 客戶端程序
任何可以發(fā)送HTTPS請求的客戶端應用程序都可以作為開發(fā)工具,來開發(fā)用vRealize Automation API開發(fā)REST的應用。一些常用的開源軟件包括:
CURL(命令行工具和庫):curl.haxx.se
Postman application:getpostman.com
API參考
vRealize Automation API參考列出了所有的REST API服務調用。它以Swagger文檔的形式提供,可通過以下任一方式獲得:
如果在本地安裝vRealize: https://{server}/vco/api/docs/index.html
VMware web 資源:pubs.vmware.com/vra-62/index.jsp#com.vmware.vra.restapi.doc/index.html
Cyber Range: 一款ADI公司的實際軟件
什么是 Cyber Range?
ADI公司Cyber Range?軟件為客戶提供可擴展的虛擬化平臺,適用于網絡安全培訓、建模、仿真和高級分析。我們?yōu)槎嗉铱蛻籼峁┙鉀Q方案,包括美國國防部、新加坡網絡安全局(CSA/SITSA)和日本九州大學。
用戶單擊開始按鈕以部署實驗室或應對挑戰(zhàn)。
Cyber Range軟件調用相應的vRA REST API。
REST API調用相應的vRA藍圖。
vRealize開始部署屬于特定藍圖的所有VM。
vRealize Orchestrator在VM的生命周期中運行自定義腳本
REST API將狀態(tài)返回給Cyber Range軟件。
如果狀態(tài)檢查成功,則會顯示Windows或Linux圖標,從而啟用超鏈接以打開控制臺。
圖3. Cyber Range通過REST API與vRA交互。
結論
vRealize通過使用藍圖,可以作為能夠在更直觀且用戶友好的環(huán)境中運行基礎架構的倉庫。這有助于我們及時定制或添加更多內容以滿足用戶需求。此外,我們的解決方案集成了vRealize Orchestrator,可提供應用于運行虛擬環(huán)境的常見自動化任務,能夠被大部分代碼所利用。它面向JavaScript,可以幫助我們管理VMware解決方案中的任何自定義腳本,并針對不同的場景進行重復利用。此外,使用vRA REST API部署藍圖,獲取部署狀態(tài)或銷毀藍圖可大幅縮短軟件開發(fā)過程的時間。
作者
Moinul Islam
Moinul Islam 是 ADI 公司可信安全解決方案部門(位于美國佛羅里達州坦帕市)的軟件工程師。他在軟件工程、設計和開發(fā)方面擁有 20 年的經驗。1997 年獲得俄亥俄州克里夫蘭州立大學 MCIS 學位。在坦帕市可信安全解決方案部門,他致力于設計和開發(fā)獨特的軟件解決方案,用于提供能夠持續(xù)輕松訪問網絡安全的現實場景和動手練習培訓場景以及基礎培訓內容。
(如果有)。
-
軟件開發(fā)
+關注
關注
0文章
624瀏覽量
27451 -
VMware
+關注
關注
1文章
298瀏覽量
21765
發(fā)布評論請先 登錄
相關推薦
Linus:為何選擇非 GPL 許可而不是GPL
如何逐步使用vRealize Automation REST API來部署藍圖
REST端口支持構建動態(tài)REST請求來使用RESTful API網絡
REST API是什么,如何使用REST端口
![<b class='flag-5'>REST</b> <b class='flag-5'>API</b>是什么,如何使用<b class='flag-5'>REST</b>端口](https://file.elecfans.com//web2/M00/31/11/poYBAGIOHL6AbeeVAAIlinoYBq8424.png)
如何使用Spring構建REST服務(四)
如何使用Spring構建REST服務(五)
使用vRealize Automation REST API置備虛擬機以進行軟件開發(fā)
使用vRealize Automation REST API置備虛擬機以進行軟件開發(fā)
![使用vRealize Automation <b class='flag-5'>REST</b> <b class='flag-5'>API</b>置備虛擬機以進行軟件開發(fā)](https://file.elecfans.com//web2/M00/86/78/pYYBAGOlCmuAcPoYAAK2iTAe4kA331.png)
什么是API?API接口表現形式分類理論
![什么是<b class='flag-5'>API</b>?<b class='flag-5'>API</b>接口表現形式分類理論](https://file1.elecfans.com/web2/M00/82/A3/wKgZomRbR8GASPZNAAAH20ohMkI721.jpg)
企業(yè)怎么選擇API網關
![企業(yè)怎么<b class='flag-5'>選擇</b><b class='flag-5'>API</b>網關](https://file1.elecfans.com/web2/M00/88/8D/wKgaomRsLXCAJ_xvAAAWyc24u8s958.jpg)
REST的6大指導原則
谷歌發(fā)布新的AI SDK,簡化Gemini模型與Android應用程序的集成
使用 Splashtop REST API 簡化遠程管理
![使用 Splashtop <b class='flag-5'>REST</b> <b class='flag-5'>API</b> 簡化遠程<b class='flag-5'>管理</b>](https://file1.elecfans.com/web2/M00/F3/46/wKgaomZ5JEWAeKCFAAASLgv3TyA883.png)
評論