本課程從云原生時(shí)代大背景下分析應(yīng)用上云帶來的的優(yōu)勢與對業(yè)務(wù)開發(fā)人員帶來的挑戰(zhàn),從而說明構(gòu)建業(yè)務(wù)-應(yīng)用服務(wù)上云知識庫的重要性與必要性;主要根據(jù)知識庫建設(shè)的通用性原理,從知識生產(chǎn)到消費(fèi)再到知識再生產(chǎn)的完整閉環(huán)闡述知識庫的核心建設(shè)過程,并根據(jù)上云知識庫的特點(diǎn)圍繞上云前、上云中和上云后,提出上云內(nèi)容分類建議與技術(shù)實(shí)現(xiàn)建議供企業(yè)參考。
1 云原生概述
云原生即Cloud Native,它是一個(gè)思想的集合,包括DevOps、持續(xù)交付(Continuous Delivery)、微服務(wù)(MicroServices)、敏捷基礎(chǔ)設(shè)施(Agile Infrastructure)、康威定律(Conways Law)等,以及根據(jù)商業(yè)能力對公司進(jìn)行重組;云原生既包含技術(shù)(微服務(wù),敏捷基礎(chǔ)設(shè)施),也包含管理(DevOps,持續(xù)交付,康威定律,重組等)。云原生不是一種特定的技術(shù),而是一系列技術(shù)、企業(yè)管理方法的集合,云原生具有可移植、自動(dòng)化、效率提升、降低成本等特點(diǎn)。
事物的發(fā)展并不是一蹴而就的,云原生也不是今天才有的,2010年WSO2的技術(shù)總監(jiān)PaulFremantle一直想用一個(gè)詞來描述某個(gè)架構(gòu),在這種架構(gòu)下,應(yīng)用程序和中間件等能夠在云環(huán)境中有良好運(yùn)行狀態(tài),這個(gè)詞就是云原生;2013年Netflix云架構(gòu)師Adrian Cockcroft介紹了Netflix在AWS上基于云原生的成功應(yīng)用,Netflix在AWS上有上萬個(gè)實(shí)例,每天都有數(shù)以萬計(jì)的實(shí)例被創(chuàng)建或者刪除;2015年P(guān)ivotal公司的架構(gòu)師Matt Stine發(fā)表電子書《遷移到云原生應(yīng)用架構(gòu)》,書中將云原生描述為最佳實(shí)踐;同年為了統(tǒng)一云計(jì)算機(jī)接口和相關(guān)標(biāo)準(zhǔn),Google聯(lián)合其他20家公司成立開源組織云原生基金會(huì)CNCF(Cloud Native Computing Foundation),它是一個(gè)非盈利組織,隸屬于Linux基金會(huì),CNCF對云原生的定義包含了應(yīng)用容器化、面向微服務(wù)架構(gòu)和應(yīng)用支持容器的編排調(diào)度三個(gè)方面。
經(jīng)過這么多年的發(fā)展,云原生的價(jià)值逐漸被人們所肯定,傳統(tǒng)應(yīng)用也將面臨向云原生應(yīng)用的轉(zhuǎn)變,俗稱上云,傳統(tǒng)應(yīng)用上云的過程也面臨著諸多挑戰(zhàn),這需要開發(fā)者從思維方式進(jìn)行轉(zhuǎn)變。
1.1 業(yè)務(wù)-應(yīng)用上云現(xiàn)狀
前面提到,傳統(tǒng)應(yīng)用上云的過程中面臨諸多挑戰(zhàn)(此處的傳統(tǒng)應(yīng)用可以理解為運(yùn)行在物理機(jī)中或者虛擬機(jī)中的應(yīng)用),例如,應(yīng)用是運(yùn)行在容器中而不是虛擬機(jī)中、業(yè)務(wù)配置文件在云里被抽象成一種資源等等。
那么從一個(gè)傳統(tǒng)應(yīng)用開發(fā)者的角度來講,應(yīng)用上云首先要理解云原生的一些基本概念,包括Kubernetes(云原生應(yīng)用的操作系統(tǒng))中和應(yīng)用上云息息相關(guān)的五大核心概念:Pod、Deployment、Service、Volume、Namespace;需要了解云是什么,怎么上云,在云上應(yīng)用以什么形式運(yùn)行,高可用、負(fù)載均衡怎么做,各應(yīng)用之間或?qū)ν獠烤W(wǎng)絡(luò)怎么打通等問題。
在應(yīng)用層面,開發(fā)者需要了解現(xiàn)有的應(yīng)用架構(gòu)是否能夠滿足云原生的特點(diǎn),是否能夠低成本的遷入或者部分遷移,需要確定上云的規(guī)劃,是整體上云還是部分上云,是逐步上云還是一次性上云,還要確定上云的步驟,哪些系統(tǒng)可以先遷移,哪些后遷移,并解決遷移后和周邊的系統(tǒng)怎么協(xié)同等問題。
在資源層面,開發(fā)者需要了解云原生資源“共享”模式和傳統(tǒng)應(yīng)用“煙囪”模式的區(qū)別,還需要評估資源共享帶來的風(fēng)險(xiǎn);不同于云原生的資源共享,傳統(tǒng)應(yīng)用運(yùn)行在物理機(jī)或虛擬機(jī)中,服務(wù)器之間資源獨(dú)立,就像一個(gè)個(gè)“煙囪”。
在運(yùn)行時(shí)層面,開發(fā)者需要了解容器與傳統(tǒng)虛擬機(jī)的區(qū)別(容器是云原生的基石),其核心是要了解容器和主機(jī)共享內(nèi)核,其他資源通過namespace隔離;應(yīng)用是否依賴一些內(nèi)核參數(shù)等問題。
1.2 構(gòu)建業(yè)務(wù)-應(yīng)用上云知識庫的必要性
雖然上云過程中面臨諸多挑戰(zhàn),但是可以通過構(gòu)建應(yīng)用上云知識庫來解決,應(yīng)用上云知識庫就像是一個(gè)“門戶”,是鏈接開發(fā)者與應(yīng)用上云之間紐帶,構(gòu)建上云知識庫,有以下特點(diǎn):
- 自助服務(wù):知識庫面向每個(gè)人,每個(gè)人都可以訪問知識庫然后自助查閱相關(guān)資料,要做的僅僅是宣告知識庫的訪問途徑。
- 知識復(fù)用:對不同人來說,同一個(gè)問題在同一個(gè)地方都有同一個(gè)解決方案,同一個(gè)知識可以服務(wù)不同需要它的人,從而做到復(fù)用。
- 降低成本:知識庫是自助的,并且知識是復(fù)用的,不需要太多人力參與到其中,降低了人力與時(shí)間成本。
- 開放協(xié)作:知識庫是開放的,任何人都可以參與知識庫的構(gòu)建與完善中,但并不是絕對開放,也需要一定的審核制度。
- 規(guī)范統(tǒng)一:對同一個(gè)事件,知識庫對任何人的展示都是一樣的,有利于處理問題的過程中做到規(guī)范和統(tǒng)一。
- 信息流動(dòng):知識庫的內(nèi)容是有序的,其尋找利用的時(shí)間減少,效率變高,也就加速了信息流動(dòng)。
- 經(jīng)驗(yàn)傳承:每個(gè)企業(yè)都有自己的行業(yè)特點(diǎn)與獨(dú)特問題,經(jīng)驗(yàn)傳承指的是對行業(yè)特殊性在知識庫上表現(xiàn)的一種傳承。
基于以上特點(diǎn),所以在應(yīng)用上云的過程中,知識庫的構(gòu)建顯得十分必要。
知識生產(chǎn)


知識分類建議

構(gòu)建知識庫技術(shù)建議

全文概覽如下

全文共8K字左右,可供企業(yè)參考或正在寫類似文章找資料的童鞋參考,純原創(chuàng),花了一些時(shí)間和精力,點(diǎn)下面鏈接下載