軟體的定義特性是軟性的。舉個例子,將翻蓋手機與智慧型手機進行比較。如果想要改變翻蓋手機按鍵的顏色,由於按鍵是一個實體塑膠零件,這將需要更改其製造過程。從提出想法到市場實施,需要幾週甚至幾個月的時間。然而,智慧型手機使用軟體顯示其鍵,而更改的範圍只是設定檔中的一行程式碼。從提出想法到市場實施,這種變化只需要幾個小時甚至幾分鐘的時間。
#那麼為什麼資料中心需要更多的軟體?而近年來,幾乎每個業務都是一個軟體業務,而使用資料中心的企業可能要求速度超過一切。對他們來說,速度意味著敏捷的軟體方法和快速迭代,找到最好的想法的最有效的方式是盡可能發佈軟體。這樣做會增加他們比競爭對手獲得更多的機會,從而轉化為更多的公司收入。
這就是為什麼DevOps和雲端運算是重要的原因:給他們渴望的速度。
開發人員的開發工作如果企業要求開發人員創建一個啟動虛擬機的故障單,需要實際使用資料中心的那些管理良好的硬件,那麼必須讓客戶(即開發人員)輕鬆使用。
開發人員的工作通常圍繞著兩週的開發流程,專注於實施一組特定功能或從優先事項清單中修復錯誤。要完成的專案清單由專業的人員維護和組織,團隊中的每個開發人員都會遇到問題並完成後再轉到下一個需求。
這個期限完成有更多的細節。它涉及建立一個足夠類似於生產的環境,以便對現有任務可行,然後為新功能編寫自動化測試。當這些測試通過時,開發人員知道工作已經完成。這種方法稱為「測試驅動開發」。隨著環境的創建和測試的編寫,開發人員獲得了編寫實現新功能的程式碼的業務,通常透過將問題分解成更小的部分,對每個並將部件部署到開發環境中。
起初,所有的測試都會失敗。但是,由於更多的這些編碼單個片段的循環已經完成,更多的測試通過;最終他們都會通過,這表明工作已經完成。然後將程式碼檢入到原始碼控制系統,如Git,其中自動化將新程式碼部署在分段環境中(可能創建一個全新的分段環境),並執行不僅僅是為了新的功能,還包括所有先前的測試。 。如果所有這些測試通過,程式碼可能會作為手動版本的批次化一部分。或者,其他自動化將立即部署到生產中,這取決於團隊的運作方式。
大量循環實作最小化等待這個循環過程的目的是將一小段程式碼建構成一個完整的特性,並且注入到循環中的任何等待時間都不利於效率和開發人員的士氣。假設為一個新功能負責,並試圖為程式碼建立一個開發環境,只需等待一整天,而票務流程則為該環境配置虛擬機器。這樣會導致生產力下降,從而減慢了周期。
現在想像一下,一個新的環境可以在幾分鐘內用虛擬機器創建,也可以用容器在幾秒鐘內創建一個新的環境。這種情況使開發人員能夠更快地找到工作的核心:編寫程式碼。透過最小化等待時間,他們的效率和士氣會提高。當他們無法從自己的資料中心獲得最少的等待時間時,他們轉而採用公有雲替代方案。
DevOps成功看起來像什麼那麼,DevOps就是在開發和部署週期中設計開發人員所需的這些環境的自動化,以最大限度地減少他們的等待時間,並允許他們在程式碼基礎上獲得更多的迭代。考慮到這些環境一直處於變化狀態,它們是基於雲端運算消費的天然盟友,但是如果企業按他們對公有雲和私有雲的偏好向開發者施加壓力,他們很可能會告訴知速度比細節更重要。
考慮到這一點,DevOps的成功實施使得雲端運算能夠立即啟動支援開發和部署過程中涉及的各種環境所需的資源。而整合安全,監控和資料中心營運人員關心的環境的其他方面至關重要,但不是上以犧牲速度為代價的。如果無法自動化管理虛擬機器的重要方面,開發人員將無法選擇外部資源來提供管理需求。
總結多年來,開發人員和操作人員有時會發生衝突,互相指責。在過去的幾年中,IT營運人員壟斷了開發人員正在開發的軟體的託管選項,但公有雲改變了這一切,開創了自動環境創建時代,成為開發人員的新標準。資料中心業務仍然可以透過注入到發展過程自動化的DevOps同樣操作,得到那些與公司收入密切相關的開發團隊的注意,這不僅是可能的,而且也是必須的。
以上是DevOps和雲端運算相互依存,關係密切的詳細內容。更多資訊請關注PHP中文網其他相關文章!