來源 | Ohad Maislish
封圖| CSDN下載於視覺中國
虛擬機的興起
我還記得,我第一次聽說虛擬機是在2002年,我們需要一種能夠在Windows OS上運行Linux的方法。當頭一次看到在VMware Workstation上運行的虛擬機時,我非常震驚。那時候,VMWare ESX及其競爭對手Xen(之後被Citrix收購)才剛興起。
那時候,如果誰運行一家公司,是需要一個專門的空間來存放自己的物理服務器、交換機、空調以及其他計算機周邊的。
最初我們尚不清楚虛擬化將在多大程度上改變IT市場。
雲時代的黎明
幾年之後,就在2007年,我很幸運地進入了B-Hive網絡這家初創公司。幸運的點在於:2008年,我們就被VMWare收購了,得以親眼目睹大眾是如何開始討論“雲”話題的。
然而,VMWare努力構建自己的雲,並專注與其他公司合作,基於VMWare的技術來構建雲技術中心。
VMWare藉助其產品ESX和vCenter(後來的vSphere)與Terremark公司合作,並經歷了AWS逐漸壯大的過程(從EC2和S3服務開始)。
IaaS, PaaS, 以及SaaS
大約2010年前後,驚人的事情發生了,許多全新的解決方案飛速更迭,工程師開始更多考慮其軟件的運行端。
我的代碼將在何處運行?要用EC2實例(IaaS)嗎?我要管理自己的服務器,還是乾脆用PaaS?Heroku(2010年被Salesforce.com收購,是最元祖的雲平臺之一),AWS Elastic Beanstalk以及之後的Azure PaaS都是很棒的選擇。
甚至,或許我可以不寫任何代碼,直接用SaaS解決問題。NewRelic,還有之後的SendGrid,Stripe和Auth0(一直)都是不錯的方案。
配置管理
同時,團隊會編寫代碼(主要用Bash、Perl和Python等語言編寫腳本)來管理不同環境。
沒有自動化,就無法管理這些更大更復雜的環境。Chef、Puppet以及後來的Ansible逐漸成為管理不同環境的標準化方式,各個環境有不同的配置。
環境創建仍是不太常用的手動操作,通過配置管理腳本讓原本空空如也的基礎架構生機勃勃起來。
Docker 和 Kubernetes
2014年左右,Docker讓容器更便於使用,各地開發者似乎在一夜之間就熱情接受了容器功能。開發者可以編寫自己的Dockerfile,並用容器承裝他們恰好需要(不多不少)的功能。
每天多次將軟件快速部署到生產環境中,成為行業領先公司的常見操作。
編排成千上萬的容器,並管理諸如網絡、服務發現等內容的挑戰,促使Google發佈了Kubernetes,開創了雲原生計算的時代。
Serverless
2014年,AWS推出了Lambda服務,以替代所有的基礎架構。此後,在真正使用計算資源之前再無需支付任何費用了。
只為消費的內容付費,整個系統完全按需運行。
最初,Lambda是用於獨立的特定任務的。但如今,我們看到有越來越多的系統用serverless構建整個服務器,而不僅僅將其用在系統的一小部分上。
基礎設施即代碼(Infrastructure as Code)
從幾個單一整體系統,轉變為由數百甚至數千個微服務組成雲原生的應用,整個成產環境變得更加複雜起來。
AWS/GCP/Azure web界面上的按鈕點擊是不可擴展的,如果你希望管理這些按鍵點擊,在類似但有輕微差異的環境中運行它們,讓你的開發與運營團隊保持一致,這是做不到的。
有多款工具可以幫助我們解決這個問題,包括HashiCorp Terraform、AWS CloudFormation以及Pulumi,它們都致力於實現自動化、可重現、可測試和自記錄的基礎架構。有越來越多各種規模和類型的公司都在使用“基礎設施即代碼”來管理其雲資源。
下一步:對基礎設施即代碼實現管理
如果要預測的話,我認為基礎設施即代碼服務會繼續增長。各個公司會拓展其基礎設施即代碼的使用,並輔以更動態的方式,將其用在更多場景中。
挑戰會發生變化。主要問題將會轉移到如何與公司合作,使用基礎設施即代碼服務上。一系列新問題會隨之產生:如何同步不同基礎設施即代碼開發者的工作,同步運行?
如何為整個公司非“基礎設施即代碼服務”的專家提供自助服務?如何管理不同的用戶和權限?如何確保訪問權限不被濫用,從而觸發巨大的雲服務商成本?
如何主動降低這些成本,將職責下放給不同的研發部門?如何提供公司所需的管理及可見性?
我們認為,類似env0之類的解決方案會非常重要,以便與公司合作,管理其基礎設施即代碼服務。鑑於現代軟件環境的複雜度及規模,想要靠人類運營單獨管理,不依靠廣泛的自動化協助,是不現實的。
就像若干年前虛擬機成為行業標準一樣,我們希望平臺很快也會成為新的標準。
原文:https://hackernoon.com/what-really-propelled-the-cloud-revolution-a-developers-perspective-9lqz378w
熱 文 推 薦
☞“Hey Siri” 背後的黑科技大揭秘!
☞終端模擬器大 PK,你 Pick 誰?
☞程序員造輪子的正確姿勢
☞編程基礎知識真的是九陽神功嗎?
☞在Kubernetes上部署一個簡單的、類PaaS的平臺,原來這麼容易!
☞曠視提雙邊分支網絡BBN:攻堅長尾分佈的現實世界任務 | CVPR 2020 Oral
☞2020年,這20個大家都認識的加密交易所過得怎麼樣?
閱讀更多 CSDN 的文章