什麼是DevOps?– Amazon Web Services (AWS)

文章推薦指數: 80 %
投票人數:10人

DevOps 是集文化哲學、實務與工具於一身的結合,可提升組織快速交付應用程式和服務的能力:相較於使用傳統軟體開發與基礎設施管理程序的組織,這種作法能更快速地開發 ... 什麼是DevOps? 開始使用AWS AWS上的DevOps DevOps部落格 合作夥伴解決方案 資源 AmazonBuilders'Library DevOps模型定義 DevOps是集文化哲學、實務與工具於一身的結合,可提升組織快速交付應用程式和服務的能力:相較於使用傳統軟體開發與基礎設施管理程序的組織,這種作法能更快速地開發和改進產品。

這樣的速度讓組織可以提供更好的服務給客戶,並在市場上更有效率地競爭。

DevOps運作方式 在DevOps模型之下,開發與營運團隊不再「孤軍奮戰。

」有時,這兩個團隊會合併成為一個團隊,讓工程師負責整個應用程式生命週期中的工作,包含從開發和測試、部署以及營運,並發展出許多不限於單一功能的技能。

在一些DevOps模型中,品質保證和安全團隊在整個應用程式生命週期,也能更緊密地與開發和營運團隊整合。

DevOps團隊中的每個人都專注於安全性時,有時稱為DevSecOps。

這些團隊會使用各種實務,將以往手動且緩慢的程序自動化。

他們使用可協助快速且可靠地營運與發展應用程式的技術堆疊與工具。

這些工具也可協助工程師獨立完成通常需要其他團隊協助的工作(例如部署程式碼或佈建基礎設施),而這樣可以進一步提高團隊的工作速度。

了解AWSDevOps工具和服務» DevOps的優點 速度 以高速行動,為客戶更快速地創新、更妥善地適應變動的市場以及在推動業務成果的同時更有效率地成長。

DevOps模型可讓您的開發人員和營運團隊達成這些成果。

例如,微型服務和持續交付可讓團隊取得服務的擁有權,然後更快速地進行版本更新。

快速交付 提升版本發行的頻率和速度,讓您可以更快速地創新和改進產品。

您釋出新功能和修正錯誤的速度越快,便能更快速地回應客戶需求和建立競爭優勢。

持續整合和持續交付都是自動化軟體釋出程序(從建立到部署)的實務。

可靠性 確保應用程式更新和基礎設施變更的品質,讓您在維持最終使用者正面體驗的同時,還能以更快的速度來可靠地交付。

使用持續整合和持續交付等實務,來測試每個變更皆實用而且安全。

監控和記錄實務可協助您即時瞭解效能。

擴展 大規模營運和管理您的基礎設施和開發程序。

自動化和一致性可協助您有效管理複雜或變動的系統,並降低風險。

例如,基礎設施即程式碼使用可重複且更有效的方式,來協助您管理開發、測試和生產環境。

經過改進的協作 在DevOps文化模型下建立更有效率的團隊,而強調擁有權和責任等價值。

開發人員和營運團隊可以緊密協作、分攤許多責任,以及結合他們的工作流程。

這可減少效率不彰的情形,並可節省時間(例如減少開發人員和營運團隊之間的移交期間、撰寫將程式碼執行環境納入考量的程式碼)。

安全性 在保有控制權和維護合規性的同時快速行動。

透過使用自動化合規政策、微調控制以及組態管理技術,就能採用DevOps模型而不犧牲安全性。

例如,使用基礎設施即程式碼和政策即程式碼,便能定義並接著大規模追蹤合規性。

DevOps的重要性 軟體和網際網路已經轉換整個世界和其中的產業,不論是從購物、娛樂到銀行。

軟體不再僅僅是支援業務;而是成為業務中每個部分的整合元件。

許多公司透過以線上服務或應用程式形式交付的軟體,以及在各種裝置上與客戶互動。

這些公司也透過轉換價值鏈中的每個部分(例如物流、通訊及營運),以使用軟體來提升營運效率。

這種方式與20世紀的實體商品公司運用工業自動化來轉換設計、製造和交付產品的方式相似。

而在現今的世界,公司必須轉變建立與交付軟體的方式。

如何採用DevOps模型 DevOps文化哲學 轉換到DevOps需要在文化和心態上有所變革。

簡而言之,DevOps將移除兩個傳統上孤立團隊(開發和營運)之間的障礙。

在某些組織中,甚至可能不會有分開的開發和營運團隊;工程師必須身兼二職。

採用DevOps,兩個團隊會共同工作,以最佳化開發人員的生產力和營運的可靠性。

他們會致力於經常溝通、提高效率,以及改進為客戶提供的服務品質。

他們會取得服務的完整擁有權,通常會超出傳統範圍中考量一般客戶的需求以及解決這些需求所規定的角色或職務。

 品質保證和安全團隊也可以和這些團隊緊密地整合。

使用DevOps模型的組織,無論其組織架構為何,都會有負責檢視整個開發和基礎設施生命週期的團隊。

DevOps實務說明 有幾個關鍵實務可協助組織透過自動化與精簡軟體開發和基礎設施管理程序,更快速地進行創新。

這些實務大多是用正確的工具來完成。

其中一個基本實務就是執行非常頻繁但小型的更新。

這就是組織為客戶更快速進行創新的方式。

相較於根據傳統發行實務所執行的不定期更新,這些更新在本質上會頻繁以增量方式提供。

頻繁但小型的更新讓每個部署的風險較低。

它們可以協助團隊更快速解決錯誤,因為團隊可識別造成錯誤的最新部署。

雖然更新的步調和大小不同,使用DevOps模型的組織會比使用傳統軟體部署實務的組織更頻繁部署更新。

組織也可以使用微型服務架構來讓應用程式更有彈性,並啟用更快速的創新。

微型服務架構會將大型且複雜的系統分成多個簡單且獨立的專案。

應用程式會分解為許多個別的元件(服務),且每個服務的範圍都限定為單一用途或功能,而應用程式的對等服務和整個應用程式都可獨立運作。

這個架構可減少更新應用程式的協調重擔,而當每個服務都可以和取得該服務擁有權的小型且靈敏的團隊配對時,組織便能更快速地行動。

但是,微型服務和提高的發行頻率組合,會顯著導致更多的部署,而這可能帶來營運挑戰。

因此像持續整合和持續交付這類DevOps實務便可解決這些問題,讓組織能用安全可靠的方式快速交付。

基礎設施自動化實務(例如基礎設施即程式碼和組態管理)有助於保持運算資源彈性與回應頻繁變更。

此外,使用監控和記錄可協助工程師追蹤應用程式和基礎設施的效能,以便快速回應問題。

這些實務結合在一起之後,有助於組織更快速且更可靠地交付更新給客戶。

以下是重要DevOps實務的概觀。

DevOps實務 DevOps最佳實務如下:  持續整合 持續交付 微型服務 基礎設施即程式碼 監控和記錄 通訊與協作 您可以在以下進一步了解每一項特定實務。

持續整合 持續整合是一項軟體開發實務,指的是開發人員在執行自動化建置與測試之後,定期將他們的程式碼變更合併到中央儲存庫。

持續整合的關鍵目標是更快發現和解決錯誤、改善軟體品質,還有減少驗證和釋出新軟體更新所需的時間。

進一步了解持續整合» 持續交付 持續交付是一項軟體開發實務,在此實務中會自動建置、測試和準備程式碼變更以發行到生產。

在建置階段之後,透過將所有程式碼變更部署到測試環境和/或生產環境,持續交付可結合持續整合來進一步延伸。

在持續交付適當地實作時,開發人員永遠都會有已通過標準化測試程序且準備好部署的建置成品。

進一步了解持續交付和AWSCodePipeline» 微型服務 微型服務架構是一種設計方式,用來建立作為一組小型服務的單一應用程式。

每個服務都在自己的程序中執行,並且使用輕量機制透過良好定義的界面與其他服務進行通訊,而此機制通常是以HTTP為基礎的應用程式開發界面(API)。

微型服務是環繞著商業功能所建立;每個服務的範圍都限定為單一用途。

您可以使用不同的架構或程式設計語言來撰寫微型服務,然後將它們作為單一服務或服務群組來獨立部署。

進一步了解AmazonContainerService(AmazonECS)» 進一步了解AWSLambda» 基礎設施即程式碼 基礎設施即程式碼是一項使用程式碼和軟體開發技術來佈建與管理基礎設施的實務,例如版本控制和持續整合。

雲端的API導向模型讓開發人員和系統管理員可以用程式設計方式與基礎設施大規模互動,而不需要手動設定資源。

因此,工程師能夠用以程式碼為基礎的工具作為與基礎設施之間的界面,以類似對待應用程式程式碼的方式來對待基礎設施。

因為它們是由程式碼來定義,基礎設施和伺服器便可以使用標準化模式來快速部署、使用最新的修補程式和版本來更新,或是以可重複的方式來複製。

了解如何使用AWSCloudFormation來管理基礎設施即程式碼» 組態管理 開發人員和系統管理員可使用程式碼來自動化作業系統和主機組態、營運工作及更多項目。

使用程式碼讓組態變更可重複和標準化。

這讓開發人員和系統管理員免於手動設定作業系統、系統應用程式或是伺服器軟體。

了解如何使用AmazonEC2SystemsManager設定和管理AmazonEC2及內部部署系統» 了解如何使用組態管理搭配AWSOpsWorks» 政策即程式碼 運用雲端來編寫基礎設施及其組態,組織便可動態且大規模地施行監控和實施合規。

如此便可使用自動化方式來追蹤、驗證及重新設定由程式碼描述的基礎設施。

這讓組織更易於控管資源的變更,並確保以分散方式適當地施行安全量值(例如資訊安全或符合PCI-DSS或HIPAA規範)。

這允許組織中的團隊能以更高的速度行動,因為不合規的資源會自動加上旗標做進一步的調查,甚至自動使其符合規範。

了解如何使用AWSConfig和AWSConfigRules來監控和施行基礎設施的合規»  監控和記錄 組織會監控指標和日誌,以查看應用程式和基礎設施效能對產品最終使用者體驗影響的方式。

透過擷取、分類、接著分析應用程式和基礎設施所產生的資料和日誌,組織便能了解變更或更新影響使用者的方式,深究出問題或未預期變更的根本原因。

因為服務必須全年不間斷地提供,而且應用程式和基礎設施的更新越來越頻繁,所以主動監控便越來越重要。

建立警示或執行此資料的即時分析也有助於組織能夠更主動地監控服務。

了解如何使用AmazonCloudWatch來監控您的基礎設施指標和日誌» 了解如何使用AWSCloudTrail來記錄AWSAPI呼叫並寫入日誌» 通訊與協作 組織中日益增加的通訊與協作是DevOps的其中一項關鍵文化層面。

透過實際將開發和營運的工作流程與責任結合在一起,使用DevOps工具和軟體交付程序自動化便能建立協作。

以此為基礎,這些團隊便可透過聊天應用程式、問題或專案追蹤系統以及Wiki,在資訊共享和促進溝通之間建立強大的文化規範。

這有助於加速開發人員、營運,甚至其他團隊(例如行銷或銷售)之間的溝通,讓組織中的所有部門都能在目標和專案上進行更緊密的合作。

DevOps工具 DevOps模型仰賴有效運用工具來協助團隊快速且可靠地為客戶進行部署和創新。

這些工具可將手動工作自動化,協助團隊大規模管理複雜的環境,並讓工程師能夠掌控DevOps所提供的高速。

AWS提供專為DevOps所設計以及優先搭配AWS雲端使用所建立的服務。

這些服務可協助您使用上述的DevOps實務。

了解AWSDevOps服務» 了解AWS合作夥伴解決方案» 後續步驟 開始使用AWSDevOps服務 開始使用AWS 了解如何在最短的時間內開始使用AWS AWS免費方案 獲得12個月的AWS免費親身實作體驗 結束對InternetExplorer的支援 知道了 AWS對InternetExplorer的支援將於07/31/2022結束。

支援的瀏覽器包括Chrome、Firefox、Edge和Safari。

進一步了解» 知道了



請為這篇文章評分?