基于 Linux 擊敗了專有軟件一樣的原因,開源應該成為云原生環(huán)境的首選。
讓我們回溯到上世紀 90 年代,當時專有軟件大行其道,而開源才剛開始進入它自己的時代。是什么導致了這種轉(zhuǎn)變?更重要的是,而今天我們轉(zhuǎn)到云原生環(huán)境時,我們能從中學到什么?
基礎設施的歷史經(jīng)驗
我將以一個高度武斷的、開源的視角開始,來看看基礎設施過去 30 年的歷史。在上世紀 90 年代,Linux 只是大多數(shù)組織視野中一個微不足道的小光點而已——如果他們聽說過它的話。你早早購入股票的那些公司們很快就發(fā)現(xiàn)了 Linux 的好處,它主要是作為專有的 Unix 的廉價替代品,而部署服務器的標準方式是使用專有的 Unix,或者日漸增多的使用 Microsoft Windows NT。
這種模式的專有本性為更專有的軟件提供了一個肥沃的生態(tài)系統(tǒng)。軟件被裝在盒子里面放在商店出售。甚至開源軟件也參與了這種裝盒游戲;你可以在貨架上買到 Linux,而不是用你的互聯(lián)網(wǎng)連接免費下載。去商店和從你的軟件供應商那里只是你得到軟件的不同方式而已。
我認為,隨著 LAMP 系列(Linux、Apache、MySQL 和 PHP / Perl / Python)的崛起,情況發(fā)生了變化。LAMP 系列非常成功。它是穩(wěn)定的、可伸縮的和相對用戶友好的。與此同時,我開始看到對專有解決方案的不滿。一旦客戶在 LAMP 系列中嘗過了開源的甜頭,他們就會改變他們對軟件的期望,包括:
不愿被供應商綁架, 關注安全, 希望自己來修復 bug ,以及 孤立開發(fā)的軟件意味著創(chuàng)新被扼殺。
在技術(shù)方面,我們也看到了各種組織在如何使用軟件上的巨大變化。忽然有一天,網(wǎng)站的宕機變成不可接受的了。這就對擴展性和自動化有了更多的依賴。特別是在過去的十年里,我們看到了基礎設施從傳統(tǒng)的“寵物”模式到“群牛”模式的轉(zhuǎn)變,在這種模式中,服務器可以被換下和替換,而不是一直運行和被指定。公司使用大量的數(shù)據(jù),更注重數(shù)據(jù)留存和數(shù)據(jù)到用戶的處理和返回速度。
開源和開源社區(qū),以及來自大公司的日益增多的投入,為我們改變?nèi)绾问褂密浖峁┝嘶A。系統(tǒng)管理員的崗位要求開始 要求 Linux 技能和對開源技術(shù)和理念的熟悉。通過開源類似 Chef cookbooks 和 Puppet 模塊這樣東西,管理員可以分享他們的模式配置。我們不再單獨配置和調(diào)優(yōu) MySQL;我們創(chuàng)建了一個掌控基礎部分的系統(tǒng),我們現(xiàn)在可以專注于更有趣的、可以給我們雇主帶來更高價值的工程作業(yè)。
開源現(xiàn)在無處不在,圍繞它的模式也無處不在。曾經(jīng)仇視這個想法的公司不僅通過協(xié)同項目與外界擁抱開源,而且進一步地,還發(fā)布了他們自己的開源軟件項目并且圍繞它們構(gòu)建了社區(qū)。
(A "Microsoft Linux" USB stick)
轉(zhuǎn)向云端
今天,我們生活在一個 DevOps 和云端的世界里。我們收獲了開源運動帶來的創(chuàng)新成果。在公司內(nèi)部采用開源軟件開發(fā)實踐的情況下, Tim O'reilly 所稱的 “內(nèi)部開源” 有了明顯增長。我們?yōu)樵破脚_共享部署配置。像 Terraform 這樣的工具甚至允許我們編寫和分享我們?nèi)绾尾渴鹛囟ǖ钠脚_。
但這些平臺本身呢?
“大多數(shù)人想都不想就使用了云……許多用戶將錢投入到根本不屬于他們的基礎設施中,而對放棄他們的數(shù)據(jù)和信息毫無顧慮。" —Edward Snowden, OpenStack Summit, May 9, 2017
現(xiàn)在是時候要更多地想想本能地轉(zhuǎn)移或擴展到云上的事情了。
就像 Snowden 強調(diào)的那樣,現(xiàn)在我們正面臨著對我們的用戶和客戶的數(shù)據(jù)的失控風險。拋開安全不談,如果我們回顧一下我們轉(zhuǎn)向開源的原因,個中原因還包括被廠商綁架的擔憂、創(chuàng)新難以推動、甚至修復 bug 的考慮。
在把你自己和/或你的公司鎖定在一個專有平臺之前,考慮以下問題:
我使用的服務是遵循開放標準,還是被廠商綁架的? 如果服務供應商破產(chǎn)或被競爭對手收購,什么是我可以依賴的? 關于停機、安全等問題,供應商與其客戶溝通中是否有一個明確而真誠的歷史過往? 供應商是否響應 bug 和特性請求,即使那是來自小客戶? 供應商是否會在我不知情的情況下使用我們的數(shù)據(jù)(或者更糟,即便我們的客戶協(xié)議所不同意)? 供應商是否有一個計劃來處理長期的,不斷上升的增長成本,特別是如果最初的成本很低呢?