Web Scale IT 與 6 種 DevOps 工具

新年伊始,在總結(jié)過去一年 IT 行業(yè)變化和發(fā)展的同時(shí),不少企業(yè)更關(guān)注未來一年甚至幾年的行業(yè)趨勢(shì)。Gartner 于 2014 年發(fā)表了文章 Gartner Says By 2017 Web-Scale IT Will Be an Architectural Approach Found Operating in 50 Percent of Global Enterprises 表示:

截止至 2017 年,全球 50% 的企業(yè)將使用 Web Scale IT 架構(gòu)。

在 2016 年年初,我們回顧 Gartner 對(duì) 2015 年所做的預(yù)測(cè),來說說 Web Scale 在中國(guó) IT 界的發(fā)展與變化。

圖為 Gartner 對(duì) 2015 年 10 大 IT 趨勢(shì)的預(yù)測(cè),其中就包括了:Web Scale IT。這個(gè)詞條被用來描述未來將有更多的企業(yè)以亞馬遜、谷歌、Facebook 等互聯(lián)網(wǎng)科技巨頭的方式去思考、行動(dòng)和打造應(yīng)用程序和基礎(chǔ)設(shè)施。

作為有效的 Web Scale IT 方法的關(guān)鍵組成部分,普遍被接受的要素包括開放硬件方法、新型軟件體系架構(gòu)、敏捷過程、從 DevOps 入手的協(xié)同一致的公司、以及風(fēng)險(xiǎn)包容文化。

什么是 Web Scale IT?

那究竟什么是 Web Scale IT 呢?是又一次的 DevOps 文化運(yùn)動(dòng)?還是存在切實(shí)可行的工具和方法?

其實(shí), Web Scale IT 是一種趨勢(shì),一種解決方案,也是一個(gè)機(jī)會(huì)。

我們可以通過 Web Scale IT 的 5 個(gè)特性來更為清楚地認(rèn)識(shí) Web Scale IT。
以下信息摘自:關(guān)于 Web Scale IT 的一些觀點(diǎn),阮志敏

  • 擁有成千上萬臺(tái)機(jī)器的計(jì)算能力
  • 只需少數(shù)工程師就可以運(yùn)維大量機(jī)器
  • 應(yīng)用可以承載非常高的用戶訪問量
  • 即使有些機(jī)器出現(xiàn)故障,應(yīng)用仍然工作正常
  • 應(yīng)用每天可以升級(jí)部署應(yīng)用好幾次

傳統(tǒng)企業(yè)渴望擁有和互聯(lián)網(wǎng)公司一樣的 IT 能力去進(jìn)行業(yè)務(wù)創(chuàng)新,同時(shí)提高 IT 運(yùn)營(yíng)效率、降低費(fèi)用。此概念可讓他們減少 IT 服務(wù)的營(yíng)銷時(shí)間,降低基礎(chǔ)架構(gòu)成本,同時(shí)提高靈活度,增強(qiáng)他們促進(jìn) IT 文化變革的能力,并能提高服務(wù)質(zhì)量。Web-Scale IT 和國(guó)內(nèi)的"去IOE"運(yùn)動(dòng)有著相同的邏輯,都是互聯(lián)網(wǎng)企業(yè)影響、顛覆傳統(tǒng)IT解決方案的一種趨勢(shì)。

云計(jì)算是 Web Scale IT 的基礎(chǔ)

Web Scale IT 希望企業(yè)擁有擁有很強(qiáng)的計(jì)算能力,降低基礎(chǔ)架構(gòu)成本。而從沒有互聯(lián)網(wǎng)到有互聯(lián)網(wǎng),再到云計(jì)算,事實(shí)上是一個(gè)解放勞動(dòng)力的過程??梢赃@么理解,云計(jì)算的出現(xiàn)和發(fā)展是 Web Scale IT 的基礎(chǔ)。

如果假想成蓋房子,傳統(tǒng) IT 相當(dāng)于在擁有的土地上根據(jù)流程自行設(shè)計(jì)、施工,再找人裝修和維修。有很多現(xiàn)有的經(jīng)驗(yàn),成熟的方案可以參考。而云計(jì)算一出來,就相當(dāng)于直接買到了毛坯房,只需要裝修就好了,還附帶物業(yè)管理。這是一個(gè)分工更加細(xì)化的時(shí)代,Laas 讓 IT 能力變成廉價(jià)可靠的資源,只要按需選擇、付費(fèi)即可。而在這個(gè)基礎(chǔ)上,Web Scale IT 就變的可能,中小型創(chuàng)業(yè)公司也可以將精力更多的投入到創(chuàng)新和運(yùn)營(yíng)上去。

目前很多 IT 公司都在做云,BAT、IBM,包括 HP 和 Dell 也都要開始做云,還有以 UCloud 為代表的第三方專注、中立的云公司,在云計(jì)算領(lǐng)域可謂風(fēng)頭正盛。阿里云從 2012 年初開始大規(guī)模推廣和密集的運(yùn)營(yíng)活動(dòng),目前從市場(chǎng)份額上講,是當(dāng)仁不讓的國(guó)內(nèi)一哥。從去年 4 月到 5 月僅一個(gè)月的時(shí)間,從阿里云直接連接到國(guó)際互聯(lián)網(wǎng)的 Web 服務(wù)器數(shù)量就增長(zhǎng)了 8 千多臺(tái)。

而騰訊云憑借自身強(qiáng)大的游戲運(yùn)營(yíng)能力,憑借渠道的力量,在游戲行業(yè)、 O2O 領(lǐng)域及一些正在向互聯(lián)網(wǎng)轉(zhuǎn)型的傳統(tǒng)行業(yè)中建立了良好的知名度。UCloud 近期獲得國(guó)內(nèi) Laas 領(lǐng)域最大投資千萬美元,在手游領(lǐng)域混的風(fēng)生水起。

在各個(gè)領(lǐng)域,都有越來越多的互聯(lián)網(wǎng)企業(yè)和向互聯(lián)網(wǎng)轉(zhuǎn)型的傳統(tǒng)行業(yè)開始使用云服務(wù),包括游戲、在線商務(wù)、在線教育、在線醫(yī)療、大數(shù)據(jù)分析、互聯(lián)網(wǎng)金融,甚至傳統(tǒng)的化工、生物行業(yè)等等。

DevOps 產(chǎn)品催化 Web Scale IT

Web Scale IT 要求降低基礎(chǔ)架構(gòu)成本,越來越多的 DevOps 工具應(yīng)運(yùn)而生。有許多工具用于基礎(chǔ)設(shè)施自動(dòng)化,使用哪個(gè)工具決定于體系結(jié)構(gòu)和基礎(chǔ)設(shè)施的需求。下面我們列出了一些優(yōu)秀的 DevOps 產(chǎn)品,包括容器平臺(tái)、配置管理工具、服務(wù)平臺(tái)、監(jiān)控工具等。

1.容器平臺(tái) Docker

Docker 是一個(gè)自動(dòng)化工具之上的 Linux容器,容器已經(jīng)成為 DevOps 中的新熱點(diǎn)技術(shù)。特別是 Docker 公司,已經(jīng)成為了提供容器技術(shù)服務(wù)的領(lǐng)頭公司。使用 Docker 平臺(tái),應(yīng)用程序及其依賴可以被打包進(jìn)一個(gè)單元,也就是所謂的鏡像。隨后,可以運(yùn)行這個(gè)鏡像的實(shí)例,實(shí)現(xiàn)快速的測(cè)試、部署。Docker 的興起和普及是因?yàn)樗芴峁┮环N一致性機(jī)制來構(gòu)建、部署和擴(kuò)展應(yīng)用組件并隔離系統(tǒng)資源。有了Docker,開發(fā)者們就可以從同一個(gè)主機(jī)運(yùn)行多個(gè)開發(fā)環(huán)境(每個(gè)開發(fā)環(huán)境有獨(dú)特的軟件、操作系統(tǒng)和配置),在新的或不同的服務(wù)器上測(cè)試項(xiàng)目,以及讓任何人都可以在設(shè)置一模一樣的情況下處理同一項(xiàng)目,無論本地主機(jī)環(huán)境怎樣。

有人說虛擬機(jī)也能實(shí)現(xiàn)多種環(huán)境,但不得不說,和傳統(tǒng)虛擬機(jī)相比,Docker 具有啟動(dòng)速度快,資源利用率高,性能開銷小的優(yōu)勢(shì)。虛擬機(jī)的 Guest OS 和 Hypervisor 層在 Docker 中被 Docker Engine 層所替代,Docker 有著比虛擬機(jī)更少的抽象層。由于 Docker 不需要通過 Hypervisor 層實(shí)現(xiàn)硬件資源虛擬化,運(yùn)行在 Docker 容器上的程序直接使用實(shí)際物理機(jī)的硬件資源。因此在 CPU、內(nèi)存利用率上 Docker ?略勝一籌。Docker 利用的是宿主機(jī)的內(nèi)核,而不需要 Guest OS,因此,當(dāng)新建一個(gè)容器時(shí),Docker 不需要和虛擬機(jī)一樣重新加載一個(gè)操作系統(tǒng)內(nèi)核,因此新建一個(gè) Docker 容器只需要幾秒鐘。

“生產(chǎn)環(huán)境上就出問題,明明本地運(yùn)行的很好!” 這是一句聽過很多遍的話。容器使應(yīng)用程序的跨平臺(tái)可移植性比以往任何時(shí)候都更高,它解決了開發(fā)環(huán)境與生產(chǎn)環(huán)境差異的老問題。也許相對(duì)于靈活的部署,迭代和引用這些優(yōu)點(diǎn)來說,Docker 相對(duì)復(fù)雜的網(wǎng)絡(luò)配置,container 之間的通信,仍是需要攻破的難題,但隨著容器技術(shù)的快速發(fā)展,對(duì)于開發(fā)和運(yùn)維人員來說,體現(xiàn)著「化繁為簡(jiǎn),All in One」理念的 Docker 出現(xiàn)絕對(duì)是一件好事。

2.配置管理工具 Chef & Puppet

注重用戶體驗(yàn)和工作效率的開發(fā)和運(yùn)營(yíng)團(tuán)隊(duì)都有著這樣的目標(biāo)吧?編寫簡(jiǎn)潔的、可維護(hù)的和高性能的代碼,盡可能在不宕機(jī)的情況下部署代碼。在 Docker 這樣的容器出現(xiàn)之前,理論上最好的方法是使用配置管理工具來自動(dòng)化服務(wù)器基礎(chǔ)設(shè)施以及部署工作流,這就要提到 Chef、Puppet、Salt 等等。本文先簡(jiǎn)單介紹一下同樣基于 Ruby 開發(fā)的配置管理工具 Chef 和 Puppet。

使用配置管理工具,需要編寫代碼來描述希望如何安裝和配置系統(tǒng)的一些組件。在服務(wù)器上執(zhí)行代碼的時(shí)候,它應(yīng)該在理想狀態(tài)下結(jié)束運(yùn)行。使用這種工具的好處是對(duì)要配置的對(duì)象提供了跨平臺(tái)的抽象,比如抽象掉一些各種不同的操作系統(tǒng)在處理類似包管理這樣的功能時(shí)所帶來的不同,讓用戶大部分時(shí)間只需跟這些抽象的資源打交道,而不用關(guān)心具體實(shí)現(xiàn)。

舉個(gè)例子,如果你想安裝 libxml2,可以用 Chef 寫一個(gè)代碼塊,抽象掉不同的發(fā)行版之間的差異。從而在 libxml2 包存在的任何地方執(zhí)行這個(gè)相同的 Chef 代碼時(shí),它都會(huì)正常運(yùn)行,不論是 Ubuntu、CentOS 或者 Fedora。

package “l(fā)ibxml2” do
action :install
done

但也有一些開發(fā)者認(rèn)為跟使用容器比起來,使用配置管理工具復(fù)雜且容易出錯(cuò)。Chef 有一種集成方案,允許使用 Chef cookbook 和 recipe 構(gòu)建 Docker 鏡像以及管理如何把容器部署到服務(wù)器上。在遇到不能很好地與容器兼容的較為古老的軟件時(shí),管理和自動(dòng)安裝它們的唯一方法是使用配置管理。

3.服務(wù)平臺(tái) Stackshare

StackShare 開發(fā)者服務(wù)平臺(tái)是一個(gè)致力于開發(fā)人員所使用的開發(fā)工具和開發(fā)服務(wù),發(fā)現(xiàn)和分享優(yōu)質(zhì)資源的網(wǎng)站,幫助開發(fā)者使用最方便的開發(fā)工具和最便捷的服務(wù)。該網(wǎng)站成立于2013年,之前只是作為一個(gè)輔助項(xiàng)目,后來隨著開發(fā)者和工程師們的不斷分享,匯集了大量的優(yōu)質(zhì)工具。

Stackshare 對(duì) Devops 有自己的看法,認(rèn)為 DevOps 主要分兩塊:一塊是監(jiān)控,通過監(jiān)控方案快速發(fā)現(xiàn)問題,明確到底是 Dev 的責(zé)任,還是 Ops 的責(zé)任,并且迅速做出反應(yīng);另一塊是 Build Test Deploy,就是快速的測(cè)試、部署等等。

工欲善其事,必先利其器。使用優(yōu)秀的開發(fā)工具和服務(wù),能極大地幫助團(tuán)隊(duì)提高效率,尤其是資源和資金也許并不那么充足的中小型創(chuàng)業(yè)公司。

4.監(jiān)控產(chǎn)品 Cloud Insight

Web Scale 要求企業(yè)擁有成千上萬臺(tái)機(jī)器的計(jì)算能力,這就需要保證機(jī)器數(shù)量和復(fù)雜度,不然難以滿足現(xiàn)在的需求。在機(jī)器數(shù)量增多,復(fù)雜度變高的情況下,需要少數(shù)工程師來運(yùn)維大量機(jī)器,能夠?qū)Υ笠?guī)模集群和云平臺(tái)進(jìn)行監(jiān)控產(chǎn)品應(yīng)運(yùn)而生。而國(guó)內(nèi)大多數(shù)現(xiàn)有的監(jiān)控產(chǎn)品無法批量安裝探針,不能對(duì)數(shù)據(jù)進(jìn)行聚合,Cloud Insight 卻能夠做到這一點(diǎn)。

這是 Cloud Insight 對(duì)平臺(tái)監(jiān)控的拓?fù)鋱D,從圖中可以看到哪部分服務(wù)器負(fù)載過重,也可以鎖定實(shí)時(shí)性能不佳的服務(wù)器,進(jìn)行重點(diǎn)關(guān)注,查看詳細(xì)性能。

Cloud Insight 采用 StatsD 的采集技術(shù),對(duì)接 MySQL、Redis、MongoDB,以及 CentOS、RedHat 操作系統(tǒng),利用 Hbase 存儲(chǔ)和 OpenTSDB 的數(shù)據(jù)聚合、切片等功能,使數(shù)據(jù)最終流向 Cloud Insight 進(jìn)行展現(xiàn),來監(jiān)控日益復(fù)雜的基礎(chǔ)設(shè)施架構(gòu)。

5.版本工具 GitLab

Gitlab 是一個(gè)利用 RoR 開發(fā)的開源代碼托管平臺(tái),可以通過 Web 界面訪問公開或私人項(xiàng)目,能使人們能進(jìn)行及時(shí)的代碼協(xié)作,并且其代碼日志是在本地的,可以隨時(shí)查看。因?yàn)閷?duì)高可用性的重視,GitLab 提供了一個(gè)穩(wěn)定的設(shè)置,即使在一個(gè)沒有特別措施的服務(wù)器上也能應(yīng)用。而由于分布式的天然特性,即使 GitLab 不能使用,Git 使用者也仍然能夠提交代碼。常用的源碼的版本工具還有 SVN。

擁有界面友好,對(duì)工程權(quán)限管理方便,有 issues 功能并支持 wiki 等優(yōu)點(diǎn)的 GitLab,除了顯著地 social 元素,該有的 CI 整合和 REST API 一個(gè)也不缺。也可由 merge request 模式來達(dá)到 code review。功能較為全面,而且各個(gè)平臺(tái)都有對(duì)應(yīng)的支持,很多團(tuán)隊(duì)已經(jīng)逐漸由 SVN 移到 GitLab 上來。

6.測(cè)試工具 JMeter

Apache JMeter 是 Apache 組織開發(fā)的基于 Java 的壓力測(cè)試工具。相比其他 HTTP 測(cè)試工具, JMeter 最主要的特點(diǎn)在于擴(kuò)展性強(qiáng)。JMeter 是免費(fèi)的,開放源碼軟件,擁有簡(jiǎn)單直觀的圖形用戶界面,獨(dú)立于平臺(tái),也可用于執(zhí)行應(yīng)用程序自動(dòng)化測(cè)試和功能測(cè)試。

項(xiàng)目上線之后可能會(huì)面對(duì)巨大的吞吐量,在這樣的環(huán)境下可能出現(xiàn)各種各樣的性能問題,而這都是低吞吐量時(shí)無法發(fā)現(xiàn)的。因此,在上線之前做好壓力測(cè)試是一件十分必要的事。

JMeter 在性能測(cè)試工具中較為流行,同類產(chǎn)品有 LoadRunner, 部分開發(fā)者認(rèn)為 JMeter 的結(jié)果分析沒有 LoadRunner 詳細(xì),但它的優(yōu)點(diǎn)也有很多:

  • 開源。
  • 小巧,不需要安裝,但需要 JDK 環(huán)境,因?yàn)樗鞘褂?java 開發(fā)的工具。
  • 功能全面,JMeter 設(shè)計(jì)之初只是一個(gè)簡(jiǎn)單的 web 性能測(cè)試工具,但經(jīng)過不段的更新擴(kuò)展,現(xiàn)在可以完成數(shù)據(jù)庫(kù)、FTP、LDAP、WebService 等方面的測(cè)試。

總結(jié)

向 Web-scale IT 的轉(zhuǎn)移意味著與 IT 界傳統(tǒng)方式的完全背離,這將是一個(gè)巨大的轉(zhuǎn)變。Web-scale IT 要求 IT 專業(yè)人員用比以前更快的速度部署并有效管理大型基礎(chǔ)架構(gòu)。隨著商用硬件、開源軟件、本土化供應(yīng)和管理軟件的發(fā)展,規(guī)?;芾砘A(chǔ)架構(gòu)變得越發(fā)困難,基礎(chǔ)架構(gòu)亦變得越發(fā)復(fù)雜。如何才能夠在 Web Scale IT 大潮中分一杯羹?

目前技術(shù)的資源都在類似 Facebook、Google 這樣的大型互聯(lián)網(wǎng)公司,相對(duì)來說傳統(tǒng)企業(yè),是比較落后的。但好在,越來越多的開源技術(shù)和產(chǎn)品在試圖幫助大家解決這些問題。根據(jù)體系結(jié)構(gòu)和基礎(chǔ)設(shè)施的需求,借力于云平臺(tái)和其他 DevOps 工具,將幫助企業(yè)緊跟變革的步伐,取得更快的發(fā)展。

Cloud Insight 集監(jiān)控、管理、計(jì)算、協(xié)作、可視化于一身,幫助所有 IT 公司,減少在系統(tǒng)監(jiān)控上的人力和時(shí)間成本投入,讓運(yùn)維工作更加高效、簡(jiǎn)單。本文出自 OneAPM 工程師,想閱讀更多技術(shù)文章,請(qǐng)?jiān)L問 OneAPM 官方技術(shù)博客。
本文轉(zhuǎn)自 OneAPM 官方博客

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Fbric、Ansible、Docker、Chaos Monkey:DevOps工具的年中回顧 【編者按】近日,C...
    OneAPM閱讀 3,219評(píng)論 0 26
  • 前言 DevOps方案實(shí)施在互聯(lián)網(wǎng)行業(yè)中已經(jīng)相對(duì)成熟了,而在游戲行業(yè)中還處在起步的初級(jí)階段(據(jù)個(gè)人了解的身邊游戲公...
    云時(shí)代構(gòu)架楊彪閱讀 2,751評(píng)論 0 8
  • 如果說 15 年你還沒有將 DevOps 真正應(yīng)用起來,16 年再不實(shí)踐也未免太落伍了。國(guó)內(nèi) ITOM 領(lǐng)軍企業(yè) ...
    OneAPM閱讀 788評(píng)論 0 10
  • 推薦閱讀:《趙四上班記》 《那年趙四21歲》《風(fēng)箏》 就在風(fēng)箏跑上樓的時(shí)候,趙四在心中感嘆道:畢竟還是個(gè)孩子啊。然...
    天水訟閱讀 381評(píng)論 0 3
  • 第二章 一直有一個(gè)問題讓小小的林昊很費(fèi)解... 那就是,但你不認(rèn)識(shí)一個(gè)人時(shí),你幾乎不曾遇見過他;然而一旦你知道...
    昀昀昀昀朵兒閱讀 706評(píng)論 0 0

友情鏈接更多精彩內(nèi)容