《萬人規?;ヂ摼W公司的企業IT基礎架構概覽》要點:
本文介紹了萬人規?;ヂ摼W公司的企業IT基礎架構概覽,希望對您有用。如果有疑問,可以聯系我們。
今天很高興在這里跟大家交流,我演講的題目是《大中型互聯網企業IT基礎架構概覽》.
我個人作為凡客誠品2011到2013年快速的發展的見證者和親歷者,凡客作為一個互聯網企業最高峰時,僅員工規模就超過一萬三千人.這樣的發展速度和企業規模的內部IT基礎設施會有什么特色呢?
我們從根本上談起,IT的本質是服務.IT的服務對象是企業,所以企業的業務決定了企業信息化的方向,也決定了IT基礎架構的特征.
我將要介紹的IT基礎架構設計思想就是這樣一個以服務企業業務為目標的信息化建設模型,并且會以模型為框架來介紹具體應用.
我們先來看看這個,想必都很熟悉這兩張圖:TCP/IP模型和OSI模型.我們經常用他們來指導我們解決遇到的技術問題.
以TCP/IP模型來講,最上面的是應用層,然后是傳輸層、網絡層、數據鏈路層和物理層,我們知道每個層面為上面的層面提供服務.
這是一個很好的自頂向下的設計思想,以及分層和模塊化的設計思想.
如果我們在TCP/IP的應用層再加上一個層面,就是咱公司的業務層,就變成了這樣5個層面:業務層、應用系統層、基礎系統層、網絡層,以及機房層,再加上左右兩個豎條,資源管理與監控、審計與安全,這就是我歸納的IT設計模型.
我先簡單介紹下這個模型:
對于資源管理與監控,以及安全與審計,應該是貫穿各個層面的.
總之,這個分成模型是幫忙我們理解整個企業IT系統的,對于不同的IT人員有不同的切入角度.作為我們運維人員,我們就需要從運維的角度去看待各個層面對我們自身工作的影響.
簡單的說,企業IT基礎架構,按照這個模型,就涵蓋了基礎系統層、網絡層、機房層,所以在實際工作中,更多的要考慮業務層、應用系統層對這下三層的影響,下三層,也就是IT基礎架構層面要怎么設計和建設才能滿足公司業務發展,才能滿足應用系統正常運行.
在凡客具體的IT建設中,我們總結出一套方法,來實現一個滿足上層要求的IT基礎架構,也就是我這里提到的貫徹五化.服務化、標準化、自動化、自助化、技術化,后面我會詳細講到.
按照剛才的模型,我將以凡客誠品這個公司為樣本來講述.從上而下,從歷史背景和業務開始,最后落實到我們一個個系統網絡的設計上.
這張圖里面列了三組數字,意思是:2011~2013是凡客快速發展的年月.其中員工從300多最終到達13000多.站點也從北京大約4個辦公點+倉儲擴張到全國約40個,其中28個倉儲、6個辦公室,6個數據中心.
所以我們技術有很大很大的壓力,剛才列舉的一些數字可能大家沒有直觀的感受,我就舉個例子,記得當時會議室都成了固定辦公的場地,通道上都是人,我們IT每天做大的工作就是拆紙箱子,發電腦,創建賬戶,一次發個上百臺電腦是家常便飯.
我們了解了凡客當時的歷史背景,再看看業務情況,主要分四大塊:
重點講講倉儲,我們知道凡客是個網站,網站上有各種虛擬商品,這些虛擬商品是真實存在于全國三十來個倉庫中的.
當客戶從網站上下完單,對應的商品就會從被分配給離客戶最近的倉庫,有倉庫的工人揀貨,打包,然后發給物流快遞,最終送到到客戶手里.
客戶對整個流程也是一目了然的,后臺會有對應的若干系統,通過各種方式展示給客戶,比如網頁、手機短信、郵件.
這個就是我們業務和應用系統的冰山一角,它對我們的基礎IT架構有什么影響呢?馬上給大家介紹.
我們先看看基礎系統層面的具體設計和實踐.基礎系統層我認為包含這些:
? ? ? 5、IT運維:桌面管理、虛擬機管理等
由于我們倉儲業務和呼叫中心業務的特點,對高可用性要求相當高.
這個我親身有體會,剛入職沒多久,我們團隊對上海的一個倉庫的域控制器進行升級,導致了運行在上面的DNS服務器出現了中斷,大約半個小時吧.當時領導沒說話,看大家正忙著恢復呢.但是領導事后告訴我說,你不知道當時庫房流水線上有上千個人都不能干活.
所以,其實我現在講的整個凡客IT基礎架構.由于業務的關系,最大的特點之一,就是對IT基礎設施的可用性要求非常高.整個大家后面還會看到,可以說是無處不在.
我們基本上主體都是使用windows服務器來提供DNS和DHCP服務.
為什么呢,主要是windows活動目錄的普及,所有計算機都加入域,windows AD本身就有DNS了,當然加個DHCP服務也很容易,windows上面管理DHCP還是比網絡設備上管理要方便太多.
除了windows AD的先發優勢和既有資源的優勢外,windows上的DNS和DHCP在高可用性上也符合業務的要求.
拿dns來講,dns服務器每個站點就有2臺,這2臺是通過AD復制服務保持狀態和數據同步的,而且AD復制機制是雙向的,比dns自身主從復制更有優勢,當然,linux的bind也是主從單向復制.
對于客戶端,當然網卡上需要設置本地的2個DNS服務器地址作為冗余了.
DNS使用中還有一個中國人都會遇到的問題,就是電信和聯通的問題,因為我們倉庫系統、內部管理系統有時需要調取網站的圖片,比如某個單品頁,衣服的圖片,由于cdn和各地站點網絡出口不同的問題,為了提高訪問這個圖片的效率,需要就近訪問該圖片CDN的緩存,所以對于internet的訪問,需要轉發到本地ISP提供的DNS.
不過這個需要注意,由于各地ISP服務質量不一樣,你需要仔細觀察線路和實際命中情況,為此我們有時不得不使用自己部署的專門負責電信或者聯通線路解析的dns.不過現在好了,可以考慮用阿里或者百度的智能DNS server.
域名使用中,有使用內部和外部dns問題,我們的情況是內部和外部域名是不一樣的,這樣做會省掉因為內外部域名一樣導致的麻煩,具體麻煩就不細說了,一般推薦內外部域名不一樣比較好.
然后在日常dns注冊過程中,內部的系統就用內部的域名,千萬不要內外部域名隨便用.這樣根據整潔,也更加安全,不至于將某個外部域名解析成內部ip.
首先是子網和IP池的規劃,要注意的是要和網絡人員一起考慮,不要太小氣,要充分考慮到業務的發展和架構的伸縮.我們整個內網基本上采用10.0.0.0整個私有網絡.
高可用性方面也是兩臺DHCP服務器,分別部署在各地2臺域控上,我記得DHCP設計高可用性設計原則上一般是說2、8原則,我們在實際中其實是55原則.
比如,一個子網,前半段的IP有第一臺服務器分配,后半段的由第二段分配.為什么每臺分配一部分,而且不重疊,就是考慮到分配ip的時候避免分配同一個ip,導致ip沖突.實際我們測試過程中,兩臺服務器分配范圍完全一樣,也沒有遇到問題.
對于DHCP高可用性,windows官方做法有DHCP 集群,就是windows cluster到windows 2008 R2的時候支持DHCP服務器了,比如之前一般只支持SQL集群提高可用性.但是這種cluter有個致命的問題,就是兩個節點的服務器群集需要一個共享磁盤來作為仲裁盤和數據盤,雖然服務器層面沒有了單點故障,但是共享磁盤是個單點故障.
而且共享磁盤這資源要求其實不低..專業的磁盤陣列很貴,模擬的也不放心.當然,本質上dhcp服務實際上在節點故障后并不需要特別快速的切換,所以我們采用這種55原則這種架構更簡單的方案.
關于辦公用文件系統采用的是windows標準的文件服務器解決方案,細節不談了,主要有這些特色:
- 全公司內訪問路徑統一:\vancloa.cn\file\\;
- 按照部門所需進行磁盤空間配額
- 支持數據熱備和可回滾
- 基于角色的權限設計
- 集中的打印系統
由于業務上我們有企業辦公、凡客網站、vjia網站、如風達快遞,所以我們exchange對應接收有vancl.cn、vancl.com、vjia.com、rufengda.com等域名后綴的郵件.
凡客的郵件業務可以基本分為:
- 一般辦公人員收發;
- 大量的業務郵件收取,比如service@vancl.com用來接受投訴的郵箱的,通過程序收取給后臺客服系統進行處理,特點是量大.
- 更大量的報警內部郵件投遞給內部相關人員;
- 更大大量的廣告郵件、訂單狀態郵件等發送給外部客戶;
從技術上看,郵件除了收,就是發,所以凡客的郵件系統主要基于這兩個軟件,一個是微軟的Exchange Server 2010,我們Exchange用于辦公協作,和郵件的收取.一個是開源軟件Postfix,用于郵件投遞以及過濾垃圾郵件這塊.
Exchange作為企業內部郵件是非常優秀的,眾多大中型企業在用它就說明了這一點.
Exchange和桌面outlook配合的確是辦公協作的利器,對移動手機支持也非常不錯,現在我們的安卓蘋果手機郵件同步基本上也都是用exchange模式.
其他exchange在會議室管理、通訊錄、通訊組方面也很不錯.如果必須選擇自建辦公郵件系統的話,exchange應該是最佳選擇了.
另外為什么業務也采用exchange作為郵件收取,主要是它的高可用性和可擴展性.
各位可以看看我們的exchange系統架構示意圖,前端各個模塊角色擴展性很好,后端數據庫可用性和擴展性也很好.
這里有一個小技巧,數據庫這塊盡量多分,從安全的角度考量,多個雞蛋不要放在同一個籃子上,多個用戶平均分布.
另外我們的郵件服務器全部是虛擬主機.
我們知道exchange本身就可以作為投遞,為什么要單獨拿出來再做一個郵件投遞系統了.
原因是我們的業務模式決定了.而且從技術上開,郵件投遞只需要很輕便的smtp服務就可以了,所以postfix非常適合,可以極大的降低exchange的負載.
而且各類郵件是分開的,避免交叉影響.尤其是影響郵件投遞的成功率.比如EDM大量的投遞,那么對應的IP地址池很可能信譽度會降低,就會影響正常辦公郵件和其他業務郵件的投遞,假如投遞系統沒有分開的話.
剛才我們了解了郵件異步通訊這塊,那么凡客的即時通訊是個什么情況?
簡單的一句話,我們打通了傳統電話和IP電話、打通了PC和手機、打通了即時通訊和郵件、打通了開源Sipx和微軟Lync、打通了PSTN電話網絡和VOIP計算機網絡,形成了一個統一的企業溝通系統.
這個張圖是當時的Lync系統架構部署圖.從這個圖里可以了解整個統一溝通平臺的大致情況:
- Lync自身的高可用設計,杜絕單點故障
- 這是一個分布式的電話系統,全國各地都有自身的SIPX來管理電話機,以及從通過當地語音網關從當地ISP出局,Lync負責PC終端
- 手機、電話、PC是互聯互通的
企業統一溝通.從溝通來講,手機、電腦、電話合一,從技術來講,我們使用IP網絡,傳統電話網絡和內部的計算機網絡是合二為一的.
賬號管理是企業IT的重頭戲,凡客這塊個人認為做得很有特點.
原本這次大會我希望的演講主題就是賬號相關的,但是我們后面的新東方王威老師捷足先登了.所以我這里只稍微講下大概,詳細的賬號自動化管理方面的事情后面會由我們的王威老師跟大家說.
- 凡客以windows AD作為賬號管理系統,因為我們的辦公、以及線上服務器,無論是windows還是linux都是域管理模式.
- 凡客賬號管理既有自動化,也有用戶自助化的特點,這個后面我會再次提到.
- 凡客內部的權限都是基于AD賬號的,不管你是登陸個人PC還是辦公或者網站服務器、網絡設備,或者是內部網站,像登陸PC或者登陸金蝶,這類驗證方式可以歸屬為LDAP方式,權限控制基本上有各個系統自行控制,或者結合windows AD的安全組來進行控制,對于登陸公司內部系統,由于自己開發的,所以基本上都是采用自己開發的一組webservice來驗證和統一授權,提供這些接口的系統在我們內部叫PMS權限管理系統.
賬號管理這塊我們是非常有特點的,這個架構除了適應互聯網企業,據我了解,我們之前有離職的員工去了傳統行業的上市公司,也把這個方案帶過去了,做得很好.
這是我們當時DC服務器全國的一個分布圖.我們有兩個核心的內部用數據中心,只有在兩個數據中心是可寫的DC,其余三十來個站點全部是只讀.這樣的架構,高可用性和安全性都能照顧到.
關于AD設計,最有特點的就是OU結構的扁平化設計,而不是基于傳統的組織結構.我們的OU結構是基于AD的對象類型來劃分的,基本上分為賬號類的OU,通訊組類的OU,安全組類的OU,計算機賬號類的OU.
比如在Employment這個OU下,所有的員工賬號都在里面,因為離職的賬號我們只會禁用,所以目前這里面賬號應該有好幾萬吧.
IT運維自動化的核心和前提其實是標準化,這個是運維思想層面的事情,具體我們是通過微軟system center中系列實現,尤其是SCCM系統.
我們根據業務類型,制作了不同的操作系統鏡像,有倉儲的,有一般辦公的,有開發人員的,有呼叫中心坐席的,都可以裸機網絡啟動來安裝好系統,不僅僅提高了工作效率,關鍵是整個系統都是標準的,規范的.這個也成為了我們系統安全的基石.
有些軟件安裝是需要授權的,我們通過賬號管理系統中的審批流程來實現審批,審批完成,用戶就能自己安裝了.
遠程協助解決公司內部pc終端問題也都靠它,這樣一個北京的支持人員可以遠程去支持廣州的桌面問題.看起來SCCM整個工具很強大,其實更強大的是我們的標準化.
除了桌面支持,后臺沒有SCCM的系統、網絡都可以這么做,因為每個地方的網絡環境、軟件系統環境都是一個標準的,中心的人員可以直接快速的支持任何一個站點的系統網絡.這樣做,導致了整個部門管理效率的提升!
我們當時有將近40個站點,一個非常簡單的結構,而且這個結構是扁平化,節約成本.
這個是老版本的sccm系統架構,目前是SCCM 2012 r2,該架構的特點是別處新意的.我們近四十個站點,數千臺PC終端,采用的架構是扁平化的.
細節就不談了,只說說整個架構的優點:
各位有公司用到SCCM,而且站點比較多的,可以借鑒
虛擬化在外面的基礎架構中的地位舉足輕重,說句極端的話,由于歷史原因,很可惜,企業IT服務器虛擬化比例沒有達到百分之百.
凡客的辦公核心,各地機房,我的原則是,務必全部虛擬化.所以,從某個層面來看,我是把物理機看出一種平臺而已了.
我們前面談到AD、lync、sipx、exchange、SCCM、文件服務器等等,基本上都是虛擬機.
采用虛擬機的好處就不多說,主要是要注意風險,尤其是不能把雞蛋放到一個籃子里面.
我們知道虛擬化后,一臺物理機上跑了多個虛擬機,這一臺物理機一掛就是掛一片虛機,所以風險是增大了.
我們虛機比例非常高的后面是因為我們在服務層面是沒有單點故障的,比如我們每個站點提供賬號驗證、DNS、DHCP服務的域控,每個站點都有兩臺,而且這兩臺絕對不在同一臺宿主機上,甚至這兩臺宿主機不在同一個機柜,不是使用同一個PDU,同一個交換機.
.
網絡層的架構設計上我們有兩個特點:
我們企業辦公方面,同樣都是雙鏈路連接到就近的IDC,站點內的核心設備和鏈路都是有熱備或冗余的設計.
辦公和倉儲、漫游和性能、abng的選擇、802.1X與網絡驗證.這方面我就不細說了,每個業務場景不一樣,對漫游、性能、并發、帶寬、可用性等關注點的側重會不一樣,每個企業的需求也都不一樣.
我們出差的時候都需要用VPN,我們使用的是微軟的產品,處于以下考慮:
- 個人用戶使用VPN主要要考慮客戶端方便配置,比如能夠用系統自帶的VPN撥號就最好
- 另外就是賬號最好和辦公的一致,省掉記憶多個賬號的煩惱,以及穿透性要非常好,畢竟全國各地的網絡情況都不一樣.穿透性的協議是HTTPS類的,而不是傳統的PPTP和L2TP
- 除此之外,就是考慮適當假設多臺,分布全國各地IDC,一方面提供了VPN服務器的冗余,一方面可以為外出同事可以選擇連接最近最佳的服務器.
site to site 采用的是標準的ipsec加密的隧道,作為站點之間的專線的緊急備份線路,反過來其實專線也是互聯網線路的備份,二者互為備份.
QOS是為了更好的利用好有限的帶寬,我們每個站點基本都是雙出口、關鍵節點無單點,高可用性方面是沒有問題的,但是帶寬仍然很稀缺,所以必須能夠有效的對帶寬進行監控和審計,并且從技術上保障業務流量優先.
機房主要關注這些條件,場地、溫濕度、電力、空調、機柜、承重、互聯線路.不同的業務場景需求是不一樣的.
比如在某些辦公機房,為了節約成本和靈活期間,測試和開發的demo機是在辦公機房的,我們主要關注的是提供計算密度,這個對空調、承重、機柜、電力、網絡有較高的要求.
而倉庫地理環境比較惡劣,全國各地都不一樣,接入層的小機柜尤其如此,要注意防潮、防塵,甚至防凍,需要因地制宜.
分層的IT基礎架構設計模型大致介紹完了,自頂向下的原則可以幫忙我們關注目標,分層和模塊化的思維可以幫助我們更好的關注自身負責的范圍,提供更好的服務.
同時,在凡客具體的IT建設中,我們總結出一套方法,來實現這樣一個滿足上層要求的IT基礎架構,也就是前面提到的貫徹五化.服務化、標準化、自動化、自助化、技術化.
首先是IT本身的服務化.對于日常運維,這類事情是運維的主體工作,雖然瑣碎、技術含量一般不高,但是非常影響客戶(外部用戶和公司同事)的用戶體驗,影響運維團隊提供的服務質量.ITIL中的事件管理系統可幫助我們管理日常運維工作.
我們就基于ITIL的IT服務管理思想,結合自身業務情況,公司自己開發了一套事件管理系統.個人認為這套系統最有意義的地方有兩處:
使各個團隊或者部門的服務接口化了,用戶可以根據自己選擇的事情類別由系統分配給最適合的團隊來處理.原理是各個團隊將自己的工作職責進行了菜單化,用戶根據自己的需求“點菜”即可.
比如上海辦公室的用戶outlook有問題了,就可以在事件管理系統中輸入outlook,找到outlook相關的服務項,選中提交即可,系統會根據用戶賬戶里面的屬性分配給上海的IT桌面支持團隊處理.
系統也有分配錯誤的時候,被分配者可以重新替用戶轉給認為正確的團隊處理……我甚至認為應該將這個系統推送給公司所有部門使用,而不是僅僅局限于技術中心.
服務質量的把控技術化了.用戶的問題根據重要情況是分級別的,不同的級別有不同的初始響應時間,響應不及時以及后續處理不及時會升級,不是原本不重要的事情變成重要,而是無論哪種事情,響應不及時會逐級報給事件處理人的領導,甚至領導的領導.
當然,還有相關的統計報表,來統計個人和團隊的事件處理數量和質量.所以無論是個人還是團體部門,都像有一根鞭子在背后飛舞.
這個圖是我們AES賬戶管理系統的截圖,通過這個系統,員工可以自助式的對賬戶相關的事情進行自助式的管理.比如自己或者幫助周邊新同事申請郵箱、獲取初始密碼、加入或者退出通訊組或安全組.
為什么叫自助化?因為很多原來需要IT處理的事情一般員工能夠自己搞定了,把原本IT的事情分散掉,將IT極大的從瑣碎事項中解放出來,不僅如此,也提高了公司整體的工作效率.
這個圖仍然是AES賬戶管理系統中關于批量啟用員工郵箱賬戶的功能截圖.通過這個功能,后臺的系統管理員可以批量的對新入職員工啟用郵箱.關于AES系統,這是我們賬戶自動化系統中的一個關鍵中間環節,它的上游是人事系統、下游是AD系統,郵件系統等.舉個例子,一個員工入職或者離職,IT系統管理員是不需要關注的,AD賬戶會自動創建或者禁用.這個就是自動化.
標準化和技術化.標準化是一切自助化和自動化的基礎.技術化可以規范你的行為,達成你的標準化.
就像我們日常開車,要對安全的有很好的認識(思想上),制定了交通法規(制度上)來指導我們開車,路上也設置了各種行車線.
比如實線和虛線,路中間的實線就 是不能碾壓和跨越的,高速上的實線處還設立了很高和厚實的水泥防護欄,這個水泥防護欄就是思想和制度技術化的極端體現.實線攔不住不守規矩的車,但是水泥 防護欄能!
所以思想需要形成文檔來固化,文檔最好通過技術化的實體軟件系統來固化以協助我們更正確的工作.
有了體現思想的制度和軟件系統,最關鍵的是要用,天天用.還有,不是所有的文化思想都能固化的,所以還要培訓和溝通,這些無形的和有形的都需要講,換著方法的講,日日講.
運維人員作為公司IT系統這輛車的司機,當然需要對這輛車的性能了然于胸的.
建立資源管理系統和監控體系,為業務決策提供歷史數據支撐.自行車要升級成為摩托還是小車,還是只需要更換一個好點的輪胎,需要數據說話.
安全不是一個人的事情,也不是一個層面的事情,比如我應用系統的業務邏輯設計再怎么密不透風,也架不住機房失火,數據全毀.
所以需要建立縱深的安全機制,應用系統網絡各個層面的安全意識深入骨髓,建立起整個安全防御機制.
以上是我分享的大中型互聯網企業IT基礎架構,謝謝大家!
來GOPS2016全球運維大會·上海站,您就對了!
甚至還有知名傳統企業公司來分析企業IT技術喲.
GOPS2016上海大會現已啟動,歡迎報名或贊助我們,您可掃描下方二維碼、或點擊文末“閱讀原文”鏈接,以了解詳情:
原文出處:微信公眾號——高效運維.
轉載請注明本頁網址:
http://www.snjht.com/jiaocheng/4522.html