當“應用程序”是運行在單一服務器上的巨大軟件的一個單元時,應用程序生命周期管理(ALM)將仍然會是一個挑戰,這是因為為了在整個軟件改變的級別上維持業務運營的需求。隨著在員工一側的云計算與彈性資源,多供應商集成、模塊化和編排的結合,挑戰也被放大了。
放大效果非常嚴重的地方是安全領域。像其它在應用部署中的需求一樣,云安全需求應該在ALM中得到反應,而不是靠運氣。
在ALM中,應用程序貫穿在開發/修改、測試、展示,部署、生產/運營、版本管理和然后從頭開始的整個迭代周期中。在傳統的靜態數據中心部署中,安全流程經常是用在像數據中心、網絡之類的環境中,在那里部署、測試應用程序,而且更像為運營作部署而不應用程序本身。周期性的ALM流程在一個一致的安全保護傘下運行著。不幸地,這種方法對云不起作用。
在云部署中,應用程序越來越多地部署在托管關虛擬機或SaaS組件元素的虛擬子網絡中。然后經過通過網關連接到這個應用子網絡上的WAN來訪問這些。所有的這些虛擬化都掩蓋了一個事實:出于安全目的每一種應用程序結構都是新的基礎設施。僅僅只是作為一個虛擬LAN,而沒有任何網關,是不能支持用戶連接的,沒有關于那個網絡的具體安全功能的LAN也是不安全的。這迫使用戶反把安全管理的環境問題轉向了應用程序問題,這也就是轉向了ALM問題。
基于ALM安全的起點必須是一個虛擬網絡模型,例如真正的基礎設施,這樣可以得到保護。不論是公有云,還是私有云,以及所有云服務的SaaS模型,都應該也這樣的假設兼容,假設一個給定的應用程序組件托管在一個虛擬的LAN上,并在IP地址集上通過網關可以訪問。這個模型提供了一個網絡連接框架,這樣可以你LAN在數據中心那樣得到保護,這意味著防火墻、訪問控制之類的可以遵循ALM專業人士很可能在內部IT中已經使用的標準的數據中心模型。該模型將來不得不要適應云,同時也必須要涉及到整個ALM流程,從開發/修改到版本控制和發起一個新的變化周期。
為了云安全實踐做的修改現在與托管應用的虛擬網絡模型和用于數據中心應用聽真實網絡模型的不同之處有關。如果應用程序的虛擬網絡只是對控制的 VPN有用,那么這就代表著與傳統的從同樣的VPN訪問應用程序相比,安全性并沒有提高。如果應用虛擬網絡通過互聯網和互聯網VPN可訪問,那么應用程序的網關在互聯網上是可尋址,以及是受黑客或DDoS攻擊的目標。這往往是通過ISP或應用聽VLAN網關來緩解,但無論是哪種情況,激活安全流程都必須是明確的(通過合同或通過選擇和設置正確的網狀)。這些步驟將來不得不加入到ALM流程的清單中,不不僅是為生產的部署,也是為了應用程序曝光之前的所有階段。
在ALM中適應去的問題是,版本的多樣性和應用程序可以在一個給定的點的操作狀態。一個給定的軟件很可能存在于在至少兩個操作狀態(生產和測試)中,也可能是5個,甚至更多的狀態中,這要取決于軟件修改流程的復雜性和測試的數量,與遷移一個應用程序相關的全面生產的前期制作階段的數量。雖然每個測試階段測試安全以及應用程序功能是重要的,但同樣重要的是,安全流程要明顯不同與所有其他版本相控資源集。只是有一個安全保護傘來保護所有的軟件 ALM階段,或測試污染生產使用存在風險,是不能令人滿意的。
事實上,在ALM中保護應用程序的多狀態或多版本的最安全路徑是,假設每一個ALM狀態或版本(例如,生產和測試)有他們自己的虛擬網絡,以及有相同的工具集和操作流程不保護每一個虛擬網絡,每個都有自己的迭代的工具和流程。
這些必須相互保護獨立,就像真實的軟件版本保持獨立一樣,也是同樣的理由。混合安全流程可能會經意間影響生產應用程序安全,或者是允許用戶訪問測試系統,當他們確信他們正在使用產生版本的進修。最重要的是,對于云來說,安全必須是ALM的一個元素,因為虛擬資源安全不能簡簡單單地就被管理,或得到保障,只是借助于傳統的網絡和與固定資源和設備相關的IT流程。
安全并不是唯一的工具集和實踐,它不得不從一個整體基礎設施轉移到一個應用程序為重點的,從固定托管移動到云上的應用程上,但它很可能是第一個,也是最重要的。假設云安全問題是把應用遷移到云上的主要技術障礙,那么就可以合理的假設,在ALM中未能適應新的安全模型,可能放緩云應用的速度并減少整體利益。