釋出 Spinnaker 1.0:持續的雲交付平臺
文 / Google 產品經理 Christopher Sanson
在 Google,我們部署大量程式碼:每天進行數以萬計的部署,部署的目標服務成千上萬,其中七項服務的全球使用者數都各自超過了 10 億。在這個過程中,我們在如何快速部署軟體方面學到了一些最佳做法 — 例如自動釋出、不可變基礎架構、分階段推廣和快速回滾等。
早在 2014 年,我們就開始與開發 Spinnaker 的 Netflix 團隊合作,我們發現,Spinnaker 的釋出管理平臺體現了我們為實現安全、頻繁、可靠的釋出而確立的許多基本原則。在對它的發展潛力感到驚喜之餘,我們與 Netflix 聯合向公眾釋出 Spinnaker,Netflix 於 2015 年 11 月開放了 Spinnaker 的原始碼。從那時起,Spinnaker 社群不斷壯大,Microsoft、Oracle、Target、Veritas、Schibsted、Armory 和 Kenzan 等數十家公司紛紛加入。
我們很高興地宣佈釋出 Spinnaker 1.0,這是一個開源多雲端持續交付平臺,已在 Netflix、Waze、Target 和 Cloudera 等公司投入生產使用,而且,它新增了一個被稱為 halyard 的開源命令列介面 (CLI) 工具,可簡化 Spinnaker 自身的部署工作。閱讀下文,瞭解 Spinnaker 可以為您的軟體開發流程提供哪些幫助。
為什麼選擇 Spinnaker?
我們先來了解一下讓 Spinnaker 成為企業釋出管理理想解決方案的幾項功能和最新更新:
1. 開源多雲端部署
我們相信,應該將 Google Cloud Platform (GCP) 打造成開放的雲平臺。Spinnaker(包含其富介面資訊中心在內)100% 開放原始碼。您可以將它安裝在本地或雲中,在虛擬機器 (VM) 或 Kubernetes 中執行。
Spinnaker 將釋出管道與目標雲提供程式分離,可降低從一個平臺移動到另一個平臺或將相同應用部署到多個雲的複雜性,從而簡化部署流程。
它內建對 Google 計算引擎、Google 容器引擎、Google App 引擎、AWS EC2、Microsoft Azure、Kubernetes 和 OpenStack 的支援,隨著社群的不斷壯大,每年都會支援更多的應用,包括即將支援的 Oracle Bare Metal 和 DC/OS 等。
不論您是向多個雲釋出還是避免供應商繫結,Spinnaker 都可以幫助您基於最有利於貴公司的方案部署應用。
2. 自動釋出
在 Spinnaker 中,通過自定義釋出管道安排部署,部署階段可以涵蓋您所需的幾乎任何操作 -- 整合或系統測試、啟動或關閉伺服器群、人工審批、等待一段時間或執行自定義指令碼或 Jenkins 作業等。
Spinnaker 與您現有的持續整合 (CI) 工作流無縫整合。您可以通過 git、Jenkins、Travis CI、Docker 登錄檔,在類似於 cron 的排程程式甚至其他管道上觸發管道。
3. 最佳部署策略
Spinnaker 原生支援多種複雜的部署策略,例如釋出 Canary 版本、多級環境部署、紅/黑(又名藍/綠)部署、流量分割和簡易回滾。
這得部分歸功於 Spinnaker 在雲中使用不可變基礎架構,在該架構中,對應用的更改會觸發重新部署您的整個伺服器叢集。相比之下,對正在執行的計算機配置更新的傳統方法會導致部署速度變慢,風險增大,而且難以除錯配置漂移問題。
有了 Spinnaker,您只需選擇您要針對每種環境使用的部署策略,例如為多級環境選擇紅/黑部署策略,為生產環境選擇紅/黑滾動部署策略,Spinnaker 就會在後檯安排一系列必要的步驟。您無需為企業級釋出編寫部署工具或保留一套複雜的 Jenkins 指令碼網路。
4. 基於角色的授權與許可權
大公司通常是跨產品推行 Spinnaker,並由一個 DevOps 團隊負責集中管理。對於需要基於角色控制專案或帳戶訪問許可權的管理員,Spinnaker 支援多種身份驗證和授權選項,包括 OAuth、SAML、LDAP、X.509 證書、GitHub 團隊、Azure 組或 Google 網上論壇等。
您還可以向人工判斷這一 Spinnaker 階段(此階段要求獲得相關人員審批後才能繼續使用管道)應用許可權,確保在未經相關人員授權的情況下無法進行釋出。
5. 通過 halyard 簡化安裝和管理
釋出 Spinnaker 1.0 的同時,我們還宣佈釋出新的 CLI 工具 halyard,以幫助管理員更加輕鬆地安裝、配置和升級可隨時投入生產的 Spinnaker 例項。
在 halyard 和 Spinnaker 1.0 之前,管理員必須分別管理組成 Spinnaker 的每個微服務。從 1.0 開始,所有新的 Spinnaker 版本均單獨進行版本控制,並遵循語義化版本規範。有了 halyard,升級到最新的 Spinnaker 版本就和執行 CLI 命令一樣簡單。
入門指南
試用 Spinnaker,您會發現,部署將變得更快、更安全,我們敢說,從此它將變得毫無挑戰性。
有關 Spinnaker 的更多資訊,請訪問新的 spinnaker.io 網站,獲取入門指南。
如需問題解答、提交反饋或與 Spinnaker 社群進行更多交流互動,您可以通過 Spinnaker Slack 渠道與我們聯絡,將問題提交至 Spinnaker GitHub 儲存區,或使用“spinnaker”標記在 Stack Overflow 上提出問題。
瞭解更多詳情,檢視文內所有連結(文件),請點選文末“閱讀原文”。
點選「閱讀原文」,檢視文內連結
相關文章
- 持續整合、持續部署、持續交付、持續釋出
- 對持續整合、 持續交付、持續部署和持續釋出的介紹
- 安卓 ROM 持續交付及小米雲測平臺實踐 - 劉斌安卓
- 雲原生下的DevOps與持續交付dev
- 持續整合、持續交付與持續部署
- GitOps | 一種雲原生的持續交付模型Git模型
- [持續交付實踐] 最後一公里,你需要一套具備質量思維的釋出平臺!
- 阿里巴巴雲遊戲平臺PaaS1.0正式亮相 雲電腦釋出阿里遊戲
- 超大流量電商平臺系統背後的持續整合與釋出
- 你真的懂持續整合、持續交付、持續部署嗎?!
- 持續整合持續部署持續交付_持續整合與持續部署之間的真正區別
- LevOJ平臺 - 持續更新
- 淺談持續整合(CI)、持續交付(CD)、持續部署(CD)
- 阿里雲數字化安全生產平臺 DPS V1.0 正式釋出!阿里
- 放棄"Jenkins"的種種理由,期待更好賦能研發的持續交付平臺Jenkins
- SAP開源的持續整合-持續交付的解決方案
- 3分鐘瞭解清楚持續整合、持續交付、持續部署
- 雲原生入門第六章:持續交付
- [圖靈程式設計叢書].持續交付:釋出可靠軟體的系統方法.pdf圖靈程式設計
- Oracle釋出多語種虛擬機器平臺GraalVM 1.0Oracle虛擬機LVM
- SAP雲平臺的一些有用連結-保證持續更新
- 持續最佳化,欣欣向雲 | RocketMQ Operator 0.3.0 正式釋出MQ
- ET·ci —持續整合驗證平臺
- 持續交付探索與實踐(一):交付流水線的設計
- 如何構建高效自主的容器雲交付平臺?
- Google釋出跨雲Serverless管理平臺KnativeGoServer
- 持續交付中的分支管理與版本控制
- 移動APP持續交付系列之雲構建價值分析APP
- 使用 KubeSphere 和極狐GitLab 打造雲原生持續交付系統Gitlab
- 課程報名 | 《六週玩轉雲原生》- 雲原生下的DevOps與持續交付dev
- 持續交付會如何影響測試
- 聊聊持續交付與軟體架構架構
- AsteroidOS 1.0 釋出AST
- 使用 Github Actions 持續釋出 Flutter 應用GithubFlutter
- 持續整合、持續交付和持續部署有什麼區別?0基礎學習linux技能Linux
- 雲效DevOps實踐-8分鐘如何快速實現持續交付dev
- 你的DevOps中有完善的持續交付體系麼?dev
- 汽車之家釋出2021年年報:深耕技術平臺,創新業務持續增長
- 持續整合平臺 01 jenkins 入門介紹Jenkins