【乾貨合集】阿里雲專家詮釋持續集成與雲端交付的正確姿勢:在雲上如何歡快的用好容器服務?

阿里雲專家將通過DevOps與阿里雲容器服務、持續集成、運維三大塊來為大家講解。

DevOps與阿里雲容器服務

1. DevOps與阿里雲容器服務(一)

DevOps(英文Development和Operations的組合)代表一種文化、運動或實踐。旨在促進軟體交付和基礎設施變更軟體開發人員(Dev)和IT運維技術人員(Ops)之間的合作和溝通。它的目的是構建一種文化和環境使構建,測試,發布軟體更加快捷,頻繁和可靠。

本文是整個系列中概念最多的一篇,後續大部分會以具體的場景為主,面對不同場景,要根據自己的需求、公司研發人員的能力、規模來進行選擇。

點擊閱讀詳情

2. DevOps與阿里雲容器服務(二)

DevOps沒有規定什麼樣的流程是一個標準的流程,因為DevOps的方案是隨著你的業務場景、人員的能力、軟體開發的複雜度、公司的規模等等變化而變化的,只有對於自己的業務與場景而言的合適與不合適,在本系列文章中將會和大家一起討論一些常見的DevOps的實踐與方案,供大家參考。

在本文中,將會通過一個簡單的例子來介紹使用阿里雲容器服務進行containerOps的實踐與經驗。

點擊閱讀詳情

3. DevOps與阿里雲容器服務(三)

你若問十個哲學家什麼是『哲學』通常你會得到十一種答案(有一種是你自己的)。

你若問十個持續交付佈道師什麼是『DevOps』,你恐怕得到的是上百種答案(因為你自己也有好幾種)。

只有一個哲學問題是嚴肅的,那就是生與死。

而對於DevOps只有三個問題是嚴肅的

而今天我們要談的是如何安全的部署你的系統,部署這個名詞包含了很多的含義,最簡單的解釋就是如何讓你的程序運行在最終的環境上。但是部署的方式上面有非常多的最佳實踐。接下來我們來討論下常見的幾種發布方式,以及這些發布方式和容器結合的使用。

點擊閱讀詳情

4. DevOps與阿里雲容器服務(四)

大於大多數場景而言,對客戶提供服務的軟體的形態有三種。一種是前端類服務,用戶可以直接或者間接通過網頁、介面調用使用該服務提供的能力;一種是後端類服務,用戶無法直接使用該服務提供的功能,該服務主要的使用者是其他服務,並通過其他服務最終將處理後的結果反饋給用戶;第三種是調度任務類服務,即不被用戶使用也不被其他服務調用,它的生命周期只存在在一個任務的執行生命周期中,通常任務的執行周期完畢,服務的生命周期就停止,通常為無狀態資源密集性服務。

對於上述三種場景,以路由權重切換為主要實現方式的發布策略例如藍綠髮布、A/BTest等通常情況下比較適用於前端類服務與後端類服務。下面我們用一個簡單的例子來拆解下如何使用阿里雲容器服務來實現這兩類服務的藍綠髮布。

點擊閱讀詳情

5. DevOps與阿里雲容器服務(五)

還記得第一次聽說性能測試這個詞是在大學二年級,剛剛進入實驗室,老師將一本Load Runner的書籍放在桌子上,告訴我用這個工具測試下學校課程網站的性能。相當長的時間內,對性能測試的理解就是用一個類似Load Runner的工具,然後通過工具得出一些指標,就可以交工了。但是實際上性能測試是一類測試的統稱,而壓力測試是最常見的性能測試的一種,性能測試(廣義)還包括負載測試、並發測試、可靠性測試等等。

在本文中,今天主要討論的是壓力測試、負載測試與並發測試,對於大部分的應用來講,這三種測試已經可以滿足基本的需求了。

點擊閱讀詳情

持續集成

1. 基於容器服務的持續集成與雲端交付(一)- 交付之禪

隨著微服務架構與容器虛擬化技術的發展,持續集成與持續交付的概念又重新回到了大家的視野,越來越多的公司開始使用持續集成的系統來解決頻繁發布帶來的質量問題;使用持續交付的工具來實現代碼在不同環境上的自動部署。原本有些學院派烏托邦式的思想正被千千萬萬次的集成與部署證明著它應有的價值。那麼究竟是因為什麼讓持續集成與持續交付這個已經不再年輕的軟體開發與交付的思想重新煥發綻放迷人的光彩呢?

點擊閱讀詳情

2. 基於容器服務的持續集成與雲端交付(二)- 多維度打磨交付能力

當我們將一個系統通過雲端容器交付的時候會發現不能單純的將Docker作為一種交付工具來對待,更多的時候是作為一個交付平台的基礎設施來看待,還需要關心的是使用Docker後網路、存儲、安全、性能、監控等等不同方面帶來的變革。

因為交付的本質是將一套複雜的軟體系統從零到一完成開發、測試、部署、上線的過程,軟體的複雜度直接關係到了交付的難度,特別是現在微服務的架構方式越來越成為主流,給交付也帶了更多的挑戰。

我們不僅要考慮一個系統交付的環境,而且還要考慮針對特定的軟體架構,交付系統的網路、存儲和安全等等是否能夠滿足需求。本文中將會針對上面提到的內容,分享我們是怎樣從以上幾個方面打磨交付能力。

點擊閱讀詳情

3. 基於容器服務的持續集成與雲端交付(三)- 從零搭建持續交付系統

對於大多數公司而言,選擇一個合適自己的持續交付系統是尤為重要的一件事情,不同的公司、不同的業務使用的場景也各不相同,因此要根據自己的業務場景與發展方向來選擇合適的方案。

本文將介紹根據不同的業務場景與交付方式,阿里雲容器服務提供了哪些種持續交付方案。

點擊閱讀詳情

4. 基於容器服務的持續集成與雲端交付(四)- 多種發布方式

哲學有各種各樣的流派,百家爭鳴,但是只有一個哲學問題是嚴肅的,那就是生與死。而雲端交付過程中也只有三個問題是嚴肅的。

  1. 如何重建你的系統 How to recreate your system?

  2. 如何安全地部署你的系統 How to safely change your system?

  3. 部署後的問題監控與解決 When something has gone wrong?

如何安全的部署你的系統,部署這個名詞包含了很多的含義,最簡單的解釋就是如何讓你的程序運行在最終的環境上。但是部署的方式上面有非常多的最佳實踐。接下來我們來討論下常見的幾種發布方式,以及如何利用容器發布實現最常用的零宕機發布方式藍綠髮布。

點擊閱讀詳情

5. 基於容器服務的持續集成與雲端交付(五)- 探究持續交付系統的本質

在這篇文章中,我們會用一個不一樣的角度來思考持續交付,到底持續交付給我們帶來了什麼,在容器的持續交付的場景中還缺少什麼。

點擊閱讀詳情

6. 使用阿里雲容器服務Jenkins 2.0實現持續集成之the tag you want篇

最近收到很多有關於持續集成場景中image tag的反饋,例如,每次image build的時候希望「Jenkins」能夠給image標上不一樣的tag,部署應用到阿里雲容器服務希望Aliyun-Container-Service-Deploy插件能夠實現不是每次以固定的tag發布。本文在原來的持續集成場景中增加這樣的兩種能力:根據git SHA和構建時間來給image打tag,支持環境變數和compose模板配合部署應用。

為了簡潔起見,本文將上述兩種能力在一個持續集成場景中進行運用。整個場景是,在代碼中增加環境變數配置文件,代碼變更觸發自動構建,打包代碼,構建鏡像(用git SHA和構建時間tag image),推送鏡像,使用環境變數文件和compose模板來部署應用到阿里雲容器服務。值得說明的是,真實的業務場景都是複雜的,需要大家根據自己的業務需求量體裁衣。

點擊閱讀詳情

7. 使用阿里雲容器服務Jenkins實現持續集成和Docker鏡像構建(updated on 2017.3.3)

持續集成作為敏捷開發重要的一步,其目的在於讓產品快速迭代的同時,儘可能保持高質量。每一次代碼更新,都要通過自動化測試來檢測代碼和功能的正確性,只有通過自動測試的代碼才能進行後續的交付和部署。本文主要介紹如何將時下最流行的持續集成工具之一的Jenkins結合阿里雲容器服務,實現自動測試和鏡像構建推送。

點擊閱讀詳情

8. 使用阿里雲容器服務Jenkins實現持續集成之GitLab篇

本文將介紹如何使用阿里雲容器服務搭建GitLab作為代碼管理倉庫並使用Jenkins插件部署應用,同時支持藍綠髮布和標準發布兩種策略。

點擊閱讀詳情

9. 使用阿里雲容器服務Jenkins 2.0實現持續集成之Pipeline篇(updated on 2016.12.23)

我們在定義一個Jenkins項目的時候,希望它是一個清晰的範圍。也就是說,如果這個項目叫mvn test and build,我們就應該在腳本里實現測試和jar/war包打包。而事實上是,接下來的需求很多時候是把測試結果展示出來,還有上傳jar/war包。這個時候,Devops工程師會陷入一種糾結,就是值不值得為了這個需求再重新創建一個freeStyle的項目。明明可能只有兩個語句,卻需要整個重新配置一個項目。新建意味著付出更多的精力並且後期維護成本增加;在原有的項目里實現,意味著項目臃腫,定義模糊。

本文將介紹一個Pipeline項目如何實現代碼提交並觸發測試,測試結果展示,war包本地存儲以及上傳OSS,構建鏡像,部署應用,郵件推送結果的持續交付方案

點擊閱讀詳情

運維

容器服務slack運維機器人

幾年前開始創業,組建團隊的第一天,我們首先討論和考慮的不是高屋建瓴的業務場景和目標,而是整個團隊的協同和溝通的問題。選擇使用什麼作為團隊的IM,選擇什麼作為BUG的記錄,選擇什麼作為需求的跟蹤,這些基礎設施的存在無形中提高了整個團隊的生產力,保證了協作的順暢和流程。由於團隊的成員有些是外國人,而在國外GEEK圈中風光無限的SLACK也就順理成章的被老外們安利到了團隊中。

那麼slack是個什麼東西呢。

點擊閱讀詳情

其他

容器服務 Container Service

容器服務提供高性能可伸縮的容器應用管理服務,支持用Docker容器進行應用生命周期管理,提供多種應用發布方式和持續交付能力並支持微服務架構。

點擊閱讀詳情

更多技術乾貨敬請關注云棲社區知乎機構號:阿里云云棲社區 - 知乎

推薦閱讀:

每天5分鐘玩轉Docker容器技術(三)
一鍵部署kubernetes 1.6高可用集群
Linux 容器輕鬆應對性能工程
Kubernetes大熱 青雲QingCloud眼中的容器技術

TAG:容器 | 持续集成CI | DevOps |