優(yōu)秀的制造企業(yè),一定有一個先進的DT架構(gòu)
2018-06-05 來源: 評論:0摘要:數(shù)字化轉(zhuǎn)型已經(jīng)成為傳統(tǒng)企業(yè)的必然選擇。隨之而來的業(yè)務(wù)場景、用戶習(xí)慣和行為在迅速變化,許多傳統(tǒng)行業(yè)線上業(yè)務(wù)出現(xiàn)急速增長。
數(shù)字化轉(zhuǎn)型已經(jīng)成為傳統(tǒng)企業(yè)的必然選擇。隨之而來的業(yè)務(wù)場景、用戶習(xí)慣和行為在迅速變化,許多傳統(tǒng)行業(yè)線上業(yè)務(wù)出現(xiàn)急速增長。
金融行業(yè)的移動支付、互聯(lián)網(wǎng)理財?shù)?,汽車制造行業(yè)的營銷、電商、售后服務(wù)等線上業(yè)務(wù)比例迅速提高。IT團隊業(yè)務(wù)開發(fā)、迭代都以每月、甚至每周來計,需要7*24小時響應(yīng),這些給系統(tǒng)開發(fā)和運維帶來極大挑戰(zhàn)。
傳統(tǒng)行業(yè)對于IT效率的變革需求以及業(yè)務(wù)模式的創(chuàng)新導(dǎo)致系統(tǒng)更新頻繁,應(yīng)用復(fù)雜度也急劇上升,傳統(tǒng)架構(gòu)不堪重負。因此,架構(gòu)轉(zhuǎn)型成為了一些企業(yè)數(shù)字化過程中的最大難點。
近期,為了準備雪浪大會,鈦媒體記者走訪調(diào)研了近200家制造企業(yè),深入一線去了解他們的真實痛點。
調(diào)研結(jié)果顯示,在系統(tǒng)支撐方面,排在前四的難題分別為:系統(tǒng)復(fù)雜性越來越高、運維管理復(fù)雜度高;打造一支全棧運維團隊困難;線上訪問壓力大;設(shè)備采購維護成本高。
ThoughtWorks是一家技術(shù)類咨詢公司。這家公司長期致力于從全球不同的區(qū)域,服務(wù)于不同的客戶,在不同的業(yè)務(wù)模式下面做不同的項目。成功的案例包括德國戴姆勒公司的營銷、電商、售后服務(wù)如何由消費者主導(dǎo)實現(xiàn)數(shù)字化在線、美國視頻網(wǎng)站Netflix的系統(tǒng)架構(gòu)演進式發(fā)展等。
通過全球項目經(jīng)驗的積累和實踐, ThoughtWorks總監(jiān)級咨詢師Neal Ford提出演進式架構(gòu)的概念,將“可演進性”作為新的架構(gòu)特征加入到系統(tǒng)中,讓它在系統(tǒng)演進時為其他特征(比如上文提到的業(yè)務(wù)需求、性能、安全性、可擴展性等)提供保護。這便是演進式架構(gòu),它使我們可以兼顧多個架構(gòu)維度進行引導(dǎo)式的增量變更。
不久前,Neal Ford帶著新書《Building EvolutionaryArchitectures: Support Constant Change》來到中國進行宣講。鈦媒體記者借此機會與Neal Ford進行了深度交流,為企業(yè)傳統(tǒng)架構(gòu)的迭代升級提供一種新的思考方式。
NealFord帶著新書《Building Evolutionary Architectures: Support Constant Change》以及他的新的Idea“演進式架構(gòu)”在QCon大會演講
01在不破壞原有IT架構(gòu)的前提下進行“演進”
在傳統(tǒng)企業(yè)軟件開發(fā)流程中,經(jīng)常需要面臨改動,有來自用戶需求的改動,有來自市場的改動以及為了一些潛在機會而產(chǎn)生的改動等。
這些改動要求企業(yè)能夠快速做出調(diào)整。但不幸的是,事情并不總是如我們所愿。
這是因為企業(yè)的業(yè)務(wù)應(yīng)用經(jīng)過多年IT建設(shè),系統(tǒng)非常龐大,難以更改。例如企業(yè)傳統(tǒng)SAP、汽車制造企業(yè)里傳統(tǒng)DMS以及MES等,要改動其中任何一小部分,都需要重新部署整個應(yīng)用。敏捷開發(fā)和快速交付更無從談起。
另外,傳統(tǒng)企業(yè)在長期的IT建設(shè)過程中,通常大量使用外包團隊,這導(dǎo)致采用的技術(shù)棧之間差異較大,統(tǒng)一管控和運維要求更高。需要運維7*24小時全天候值守、在線升級,并快速響應(yīng)。
而在此時脫穎而出的微服務(wù)架構(gòu),讓傳統(tǒng)企業(yè)眼前一亮,它具備諸多優(yōu)勢,例如獨立開發(fā)、獨立部署、獨立發(fā)布,去中心化管理,支持高并發(fā)高可用,支持豐富技術(shù)棧,企業(yè)可以根據(jù)需要靈活技術(shù)選型。
NealFord認為,微服務(wù)是支持演進行為的眾多架構(gòu)之一。
“微服務(wù)是后DevOps革命時代出現(xiàn)的第一種全新架構(gòu)風(fēng)格。它是第一個全面擁抱持續(xù)交付的工程實踐,也是演進式架構(gòu)家族的一員。演進式架構(gòu)以支持增量的、非破壞的變更作為第一原則,同時支持在應(yīng)用程序結(jié)構(gòu)層面的多維度變化。不過,微服務(wù)僅僅是支持某些演進行為的眾多架構(gòu)之一。”
而演進式架構(gòu)則在微服務(wù)架構(gòu)基礎(chǔ)上增加了兩點思考——既要滿足企業(yè)應(yīng)用的真實場景,還要符合技術(shù)的演進。
首先,創(chuàng)建演進式架構(gòu),應(yīng)當(dāng)滿足企業(yè)應(yīng)用的真實場景。
這也回答了我們文章的問題——為什么演進式架構(gòu)被譽為最好的迭代模式?因為這種架構(gòu)不會破壞原有傳統(tǒng)軟件包,而是將傳統(tǒng)IT架構(gòu)演進到微服務(wù)架構(gòu)上。
NealFord在《演進式架構(gòu)》中也提到,“對于一個大的軟件包,一個大的單體的應(yīng)用,如果做微服務(wù)轉(zhuǎn)型,肯定不是把這個大的單體應(yīng)用直接干掉不要,建一個新的微服務(wù)平臺出來,而更傾向于一種做法,即我怎么能夠從SAP、DMS這樣一個傳統(tǒng)軟件包的模式, 一步步的把它演進到一個微服務(wù)架構(gòu)上,這是演進式架構(gòu)要解決的一個重要問題”。
原本對傳統(tǒng)企業(yè)來講,SAP、DMS以及MES這類傳統(tǒng)軟件包等本身是封閉的,企業(yè)購買這樣的軟件包最大的一個出發(fā)點是來降低自己的IT成本去實現(xiàn)IT能力。但是在數(shù)字化轉(zhuǎn)型的大趨勢下,創(chuàng)新又成為企業(yè)最主要的訴求。
ThoughtWorks從技術(shù)的角度出發(fā),認為更應(yīng)該照顧企業(yè)真實的應(yīng)用場景,定制化地開發(fā)軟件,或者說,從定制化的軟件平臺下開發(fā)出獨特的業(yè)務(wù)模型。
同時,演進式架構(gòu)符合技術(shù)的演進。
NealFord認為,微服務(wù)本身是一種架構(gòu)的模式或者是一種架構(gòu)的風(fēng)格,而這種架構(gòu)風(fēng)格正好是演進式架構(gòu)的一些原則和實踐的最佳體現(xiàn)。“比如業(yè)界經(jīng)常做微服務(wù)轉(zhuǎn)型的時候會說,微服務(wù)本身的力度或者微服務(wù)本身的范圍應(yīng)該是什么樣的,而我認為演進式架構(gòu)可以幫助企業(yè)將一個微服務(wù)的架構(gòu)在力度的層面、在整個架構(gòu)體系上能夠不斷地去演進。”
NealFord向鈦媒體表示,這種技術(shù)演進方向有兩個:“第一個方向是這種增量式的演進,讓系統(tǒng)能夠做到增量式的演進或者增量式的變更,而這本身作為演進式架構(gòu)定義中的第一個維度,它是天生要解決這個問題。
第二個方向,它叫做指引式的演進或者向?qū)降难葸M,向?qū)降难葸M就是說我在一個系統(tǒng)里面希望能夠提升它的性能,我怎么能向著我們想要的性能方面去演進,所以它定義了一個適應(yīng)度函數(shù)(fitness function),通過適應(yīng)度函數(shù)可以幫助我們的架構(gòu)的開發(fā)人員明確地認知我現(xiàn)在想要的這個方向是不是我現(xiàn)在架構(gòu)所演進的方向,是不是我想要的方向,然后它可量化地告訴我的開發(fā)者,我離現(xiàn)在這個目標到底還有多遠,它是這樣一種模式。所以面對企業(yè)不斷增加的應(yīng)用需求,它天生可以解決企業(yè)增量式、迭代式開發(fā)的一種訴求。”
然而,微服務(wù)也不可避免地表現(xiàn)出它的劣勢——它會帶來系統(tǒng)的各種復(fù)雜度、運維要求更高等諸多難點。對于團隊來說,搭建微服務(wù)架構(gòu)上手難,運維效率低,運維成本高。
另外,創(chuàng)建微服務(wù)還可能帶來團隊之間溝通上的沖突——微服務(wù)需要與DevOps(Development&Operations)同步推進。當(dāng)微服務(wù)被分割成一個個獨立的業(yè)務(wù)模塊后,服務(wù)間通信接口設(shè)計非常重要。如何科學(xué)地將系統(tǒng)部署到服務(wù)器上,保證各個服務(wù)高效運行,更是難點。
02演進式架構(gòu)符合傳統(tǒng)企業(yè)轉(zhuǎn)型需求
“當(dāng)我們談演進式架構(gòu)的時候,其實是有很多不同的原則。這些原則都很嚴格,而微服務(wù)某種程度上展現(xiàn)出了一些演進式架構(gòu)的原則。例如我們在談微服務(wù)的時候,主要是想用它來快速應(yīng)對頻繁的需求變更,因此微服務(wù)所承載的期望便是讓我們能盡可能快的適應(yīng)變化,演進式架構(gòu)中所倡導(dǎo)的進化性與此不謀而合。”
NealFord補充道,關(guān)于可進化性存在一個理解誤區(qū)——開發(fā)者要非常聰明的想到所有可能出現(xiàn)的變化,并且為所有的這些可能的變化寫好代碼,哪怕到頭來根本就沒變。但其實,可進化性并不同于可維護性,“不是說要怎么預(yù)測未來,而是一種隨時準備響應(yīng)變化的狀態(tài),而不管你是否提前就設(shè)想好了這些變化。”
在今天來看,其實演進式架構(gòu)本身是有一定基礎(chǔ)的,當(dāng)企業(yè)想采用演進式架構(gòu)這種模式的時候,需要以敏捷的開發(fā)模型、敏捷的開發(fā)方式、持續(xù)交付的開發(fā)基礎(chǔ)設(shè)施或者是持續(xù)交付的開發(fā)實踐以及DevOps的實踐來作為整個架構(gòu)的基礎(chǔ)。如果企業(yè)沒有這樣的基礎(chǔ),實際上是很難做到演進式架構(gòu)的,而演進式架構(gòu)本身它也是要求在整個企業(yè)開發(fā)的流程和模型上需要敏捷、持續(xù)交付,要去做DevOps。
據(jù)Neal Ford介紹,目前在業(yè)界采用演進式架構(gòu)企業(yè)不僅有美國視頻網(wǎng)站Netflix公司,還有很多ThoughtWorks參與或者是合作的公司都在采用演進式架構(gòu)中的一些實踐。只不過在這之前并沒有把它定義成演進式架構(gòu)或者是適應(yīng)度函數(shù),而是把它定義成fitness function。
而在這些傳統(tǒng)企業(yè)中,很多企業(yè)是通過持續(xù)交付流水線,通過對于架構(gòu)、對于測試體系的一些追求,對于架構(gòu)本身的轉(zhuǎn)型,一直在實踐著演進式架構(gòu)的模式。因為它們恰恰滿足了演進式架構(gòu)的一些特點,例如:
第一是模塊化和耦合。邊界劃分明確的組件,顯然可以給希望做出非破壞性變更的開發(fā)人員以更大的便利。而毫無架構(gòu)元素的混亂架構(gòu)就無法做到演進式變更,因為它缺少模塊化。另外不適當(dāng)?shù)鸟詈蠈⒆兏鼘?dǎo)向難以預(yù)料的方向,從而阻礙演化。而演進式架構(gòu)都支持一定程度的模塊化,這種模塊化通常體現(xiàn)在技術(shù)架構(gòu)層面(例如經(jīng)典的分層架構(gòu))。
第二是圍繞業(yè)務(wù)能力組織?,F(xiàn)在越來越多的成功架構(gòu)都以在領(lǐng)域架構(gòu)層的模塊化為特色?;诜?wù)的架構(gòu)與傳統(tǒng)的SOA主要區(qū)別在于模塊劃分的策略,SOA是嚴格按照技術(shù)層進行模塊劃分,而基于服務(wù)的架構(gòu)則傾向于按業(yè)務(wù)領(lǐng)域劃分。
第三是試驗。試驗是演進式架構(gòu)給商業(yè)交付帶來的最大價值之一。從操作角度來講,可以采用A/B測試等常見的持續(xù)交付實踐對應(yīng)用進行低成本的、微小的變更。微服務(wù)架構(gòu)常常是圍繞服務(wù)之間的路由來定義應(yīng)用程序的。通常微服務(wù)架構(gòu)圍繞服務(wù)之間的路由來定義應(yīng)用程序,允許同一個服務(wù)的多個版本同時運行。這反過來也使得試驗和現(xiàn)有功能的逐步替換成為可能。最終,這使得企業(yè)業(yè)務(wù)可以花更少的時間去猜測待辦故事項,從而投入到假設(shè)驅(qū)動開發(fā)中。
而在國內(nèi),通過鈦媒體記者近期的走訪發(fā)現(xiàn),大部分傳統(tǒng)企業(yè)架構(gòu)還不能實現(xiàn)敏捷開發(fā)、持續(xù)交付等,要實現(xiàn)數(shù)字化轉(zhuǎn)型,首先就需要對企業(yè)傳統(tǒng)架構(gòu)做轉(zhuǎn)型。
NealFord表示,對于企業(yè)傳統(tǒng)架構(gòu)的轉(zhuǎn)型,首先要把企業(yè)自己基礎(chǔ)的工程實踐能夠搭建起來,使原來采購軟件包的模式能夠向新的模式做轉(zhuǎn)型。
“比如說在持續(xù)交付層面,如果一個企業(yè)不是在做持續(xù)交付的轉(zhuǎn)型,那企業(yè)在做精益企業(yè)(或數(shù)字化)轉(zhuǎn)型的時候,第一步要做的事情就是要有一個持續(xù)集成的轉(zhuǎn)型,把自動化的基礎(chǔ)設(shè)施能夠搭起來。這是基礎(chǔ)能力,不僅僅是向演進式架構(gòu)轉(zhuǎn)變,更企業(yè)在做數(shù)字化轉(zhuǎn)型時必備的一些能力。”
03大數(shù)據(jù)、AI技術(shù)都將被引入演進式架構(gòu)
“目前在演進式架構(gòu)中已經(jīng)引入了很多AI的實踐,比如說在一些企業(yè)里面會用TensorFlow去寫一個框架,幫助他去分析在網(wǎng)絡(luò)傳輸這一層里面,從安全的角度是不是有一些模式可以被快速地發(fā)現(xiàn),有一些安全的點或者是有一些安全的攻擊的行為是不是可以從網(wǎng)絡(luò)傳輸這一層來用AI來做分析和發(fā)現(xiàn)。它也希望未來可以通過把目前AI技術(shù)應(yīng)用所處的層面逐漸往上提,提到不同服務(wù)之間傳輸信息的層面上、是不是可以利用AI找到這樣的模式,能夠幫助我們企業(yè)識別出來我的安全風(fēng)險。” Neal Ford認為,在當(dāng)下最時髦的AI技術(shù),在未來可能會被更多地引入演進式架構(gòu)中,加入到整個企業(yè)架構(gòu)適應(yīng)度函數(shù)的設(shè)計,或者是在架構(gòu)演進的過程中利用AI的能力做更多的事情。
“同樣對于大數(shù)據(jù)大數(shù)據(jù)或者是數(shù)據(jù)型的項目,演進式架構(gòu)中可以應(yīng)用在一些場景中。比如說演進式架構(gòu)里面去定義企業(yè)最關(guān)注的適應(yīng)度函數(shù)、最關(guān)注的架構(gòu)設(shè)計要素。而每一個要素都可以通過適應(yīng)度函數(shù)把它定義下來,我認為每個架構(gòu)應(yīng)該有自己非常獨特的或者是特定的適應(yīng)度函數(shù),或者是這種架構(gòu)規(guī)則的新的定義,就好像我們寫unittest和寫functional test是一樣的。因為你是根據(jù)某一個項目去寫的,而不會把這個項目的規(guī)則直接搬到另一個項目上去。”
無論是傳統(tǒng)架構(gòu)還是演進式架構(gòu),系統(tǒng)本身在市場上是有競爭者的。Neal Ford也坦率地說,如果是利用這個系統(tǒng)直接去賺錢的企業(yè)或者是組織,這樣的企業(yè)會首先采用演進式架構(gòu)的模式。而往往一個企業(yè)當(dāng)它先開始采用演進式架構(gòu)這種模式的時候,這種架構(gòu)一開始對企業(yè)的影響并沒有那么大。“只是簡單的在企業(yè)流水線上布一個適應(yīng)度函數(shù)或者是布一個架構(gòu)檢查的腳本,其實就已經(jīng)在采用演進式架構(gòu)當(dāng)中的實踐了,但是顯然這種實踐對于人和組織來講并沒有什么太大的改變。”
“但是如果企業(yè)想充分發(fā)揮演進式架構(gòu)帶來的好處,那對于整個團隊的組織結(jié)構(gòu)肯定是要發(fā)生一些變化。比如說企業(yè)的組織結(jié)構(gòu)應(yīng)該能夠更好地支撐業(yè)務(wù)的敏捷性轉(zhuǎn)型、企業(yè)的組織結(jié)構(gòu)應(yīng)該更好地降低我在團隊不同成員之間的波動,我能夠讓團隊是一個相對比較穩(wěn)定的團隊。同時我的團隊能夠支撐DevOps這樣一些實踐的追求或者應(yīng)用。”
這就像1967年康威提出的“康威定律”, 企業(yè)需要關(guān)注怎么組織團隊結(jié)構(gòu),以及不同的團隊結(jié)構(gòu)可能影響到最終的系統(tǒng)形態(tài)。只有團隊對服務(wù)有很好的所有權(quán)意識,團隊做出來的微服務(wù)才是這種松耦合的獨立服務(wù)??低稍?967年被提出來,但是真正被業(yè)界采納其實是在近幾年有了微服務(wù)以后,團隊才開始采用康威定律。“所以說這件事情相對來看會有一個比較長的周期。其實在業(yè)界已經(jīng)有了這樣一些原則在那里了,但是真正的被企業(yè)界所應(yīng)用還是需要一定時間的。“Neal Ford表示。
相關(guān)熱詞搜索:數(shù)字化 制造業(yè)
相關(guān)文章
- ·國家數(shù)字化設(shè)計與制造創(chuàng)新聯(lián)盟成立2018-03-30
- ·企業(yè)把握“數(shù)字中國”的六種方式2018-04-03
- ·劉九如:必須在卡脖子的地方下大功夫2018-06-15
- ·重磅!國家數(shù)字化設(shè)計與制造創(chuàng)新中心落戶武漢2018-09-05
- ·如何以數(shù)字化變革推動我國制造業(yè)高質(zhì)量發(fā)展?2018-10-24
評論排行
- ·AM先進制造業(yè)·高端沙龍(4)
- ·2016(第四屆)先進制造...(0)
- ·洪杰:航空發(fā)動機面臨競...(0)
- ·2017(第五屆)先進制造業(yè)大會(0)
- 2021長三角G60智能制造創(chuàng)新生態(tài)合作大會
- 2020AMC長三角G60科創(chuàng)走廊制造業(yè)高質(zhì)量發(fā)展合作論壇于9月召開
- 下一波機遇?快來解鎖2020先進制造業(yè)關(guān)鍵詞...
- 2019第七屆先進制造業(yè)大會即將盛大召開精彩大會亮點速覽
- 2019(第七屆)先進制造業(yè)大會”暨長三角制造業(yè)高質(zhì)量發(fā)展
- 2018(第六屆)先進制造業(yè)大會
- 2017(第五屆)先進制造業(yè)大會
- 2017全球先進制造業(yè)博覽會(上海)
- 2016(第四屆)先進制造業(yè)大會暨展覽會精彩播報
- 2016(第四屆)先進制造業(yè)大會暨展覽會
- 2021長三角G60智能制造創(chuàng)新生態(tài)合作大會
- 2020AMC長三角G60科創(chuàng)走廊制造業(yè)高質(zhì)量發(fā)展合作論壇于9月召開
- 下一波機遇?快來解鎖2020先進制造業(yè)關(guān)鍵詞...
- 2019第七屆先進制造業(yè)大會即將盛大召開精彩大會亮點速覽
- 2019(第七屆)先進制造業(yè)大會”暨長三角制造業(yè)高質(zhì)量發(fā)展
- 2018(第六屆)先進制造業(yè)大會
- 2017(第五屆)先進制造業(yè)大會
- 2017全球先進制造業(yè)博覽會(上海)
- 2016(第四屆)先進制造業(yè)大會暨展覽會精彩播報