国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

轉(zhuǎn)向微服務(wù)的8條建議

2019-10-21 09:50:53田茜
關(guān)鍵詞:尼古拉斯坎貝爾應(yīng)用程序

田茜

向微服務(wù)的轉(zhuǎn)變代表著應(yīng)用程序開發(fā)的巨變。以下是如何解開這種大轉(zhuǎn)變的復(fù)雜性。

如今新應(yīng)用程序的開發(fā)都與交付速度有關(guān)。向敏捷環(huán)境的大規(guī)模轉(zhuǎn)移已經(jīng)持續(xù)了數(shù)年,這促使人們有了輕松快速地部署軟件的意識(shí)。

微服務(wù)是面向服務(wù)的體系結(jié)構(gòu)(SOA)的一種變體,它將應(yīng)用程序構(gòu)建為松散耦合服務(wù)的集合。將應(yīng)用程序拆分為更小服務(wù)的好處是:改進(jìn)了模塊化、使應(yīng)用程序更易于開發(fā)和測(cè)試。

“微服務(wù)增強(qiáng)了團(tuán)隊(duì)授權(quán),減少了耦合,使各個(gè)團(tuán)隊(duì)能更快地進(jìn)行創(chuàng)新,減少跨團(tuán)隊(duì)之間的溝通,并且有權(quán)自己做出有關(guān)架構(gòu)、語(yǔ)言和框架的決策。”Verizon媒體集團(tuán)(Verizon Media Group)工程、體育及媒體制作工程副總裁坎貝爾說(shuō)道,該集團(tuán)是擁有50個(gè)在線品牌的通信公司的子公司。

坎貝爾說(shuō):“我們看到隨著團(tuán)隊(duì)采用微服務(wù),從提交到制作的周期時(shí)間顯著縮短?!薄霸S多團(tuán)隊(duì)每天多次部署微服務(wù),無(wú)需任何人工干預(yù),依靠測(cè)試、代碼審查和復(fù)雜的持續(xù)集成/持續(xù)交付(CI/CD)管道來(lái)確保變更內(nèi)容的安全交付?!?/p>

該公司的“Yahoo Daily Fantasy”產(chǎn)品含有多個(gè)微服務(wù),包括核心游戲服務(wù)、體育數(shù)據(jù)服務(wù)、錢包服務(wù)和一些支持內(nèi)部服務(wù)?!斑@些服務(wù)中的每一個(gè)都有自己的持續(xù)部署管道、獨(dú)立的數(shù)據(jù)存儲(chǔ)以及負(fù)責(zé)其開發(fā)和運(yùn)營(yíng)的各自團(tuán)隊(duì)?!笨藏悹栒f(shuō)。

使用微服務(wù)時(shí),各個(gè)組織可能會(huì)遇到許多挑戰(zhàn)。這些挑戰(zhàn)包括確定多個(gè)服務(wù)之間的正確邊界,克服微服務(wù)環(huán)境中團(tuán)隊(duì)之間共享代碼的困難,以及克服變更管理的復(fù)雜性,因?yàn)楦鲌F(tuán)隊(duì)都是獨(dú)立發(fā)布代碼。

轉(zhuǎn)向微服務(wù)代表著一場(chǎng)大變革,各個(gè)組織需要做好應(yīng)對(duì)這種重大轉(zhuǎn)變的準(zhǔn)備。

“向微服務(wù)的演變就像是從馬到自行車,或從自行車到汽車的過(guò)程。”Solutions By Design II(SBD)公司項(xiàng)目副經(jīng)理Jay Bercher說(shuō)道,這是一家管理咨詢和技術(shù)服務(wù)公司,與聯(lián)邦機(jī)構(gòu)合作,協(xié)助其轉(zhuǎn)向基于微服務(wù)的IT工作方式。

“當(dāng)我們經(jīng)歷演變的多個(gè)階段時(shí),我們會(huì)發(fā)現(xiàn)有更多的東西在變化,”Bercher說(shuō),“每個(gè)變化的東西都需要一定級(jí)別的維護(hù),對(duì)這么多方面的支持和監(jiān)督不僅使解決方案更加復(fù)雜,而且還增加了相關(guān)成本。因此,我們必須仔細(xì)審查我們的決定,以確保這些決定不僅是最佳的技術(shù)決策,而且還具有成本效益?!?/p>

另一個(gè)挑戰(zhàn)是安全性。“我們必須確定是否要在整個(gè)應(yīng)用程序中實(shí)施單一驗(yàn)證解決方案,或者我們是否要對(duì)每個(gè)微服務(wù)都設(shè)置其自己的驗(yàn)證流程,”Bercher說(shuō),“這是一個(gè)必須根據(jù)具體情況做出的決定,并且是每個(gè)項(xiàng)目團(tuán)隊(duì)需要自己做出的決定。”

以下是一些應(yīng)對(duì)挑戰(zhàn)并在微服務(wù)環(huán)境中可以順利發(fā)展的最佳做法。

1.采用領(lǐng)域驅(qū)動(dòng)設(shè)計(jì)

Bercher說(shuō),創(chuàng)建微服務(wù)是為了使服務(wù)松散耦合,并應(yīng)用單一責(zé)任原則。

“盡管有各種開發(fā)方式和方法,但領(lǐng)域驅(qū)動(dòng)設(shè)計(jì)和微服務(wù)似乎是完美組合,”Bercher說(shuō),SBD公司的團(tuán)隊(duì)使用領(lǐng)域驅(qū)動(dòng)設(shè)計(jì),這是一種構(gòu)建應(yīng)用程序的主題方法,可創(chuàng)建一種高效的開發(fā)模式,消除大多數(shù)團(tuán)隊(duì)的相互依賴性。

“在我們的工作中,領(lǐng)域與微服務(wù)的相關(guān)性基本上是一對(duì)一的,”Bercher說(shuō),“因此,每個(gè)開發(fā)團(tuán)隊(duì)都負(fù)責(zé)一個(gè)領(lǐng)域,同時(shí)也負(fù)責(zé)開發(fā)相應(yīng)的微服務(wù)。這就建立了明確的責(zé)任劃分,從而限制了并行開發(fā)工作中可能出現(xiàn)的冗余?!?/p>

2.建立代碼庫(kù)指南

坎貝爾說(shuō),在微服務(wù)環(huán)境下,團(tuán)隊(duì)之間共享代碼相對(duì)困難得多。

“不像在一個(gè)整體架構(gòu)中,公共代碼只是一個(gè)方法調(diào)用,而微服務(wù)架構(gòu)的通用性必須分解到獨(dú)立的服務(wù)中,或者代碼必須打包到一個(gè)共享庫(kù)中。”坎貝爾說(shuō)。

使用這些庫(kù)通常很慢,并且進(jìn)行更改需要在庫(kù)所有者和多個(gè)服務(wù)之間進(jìn)行協(xié)調(diào)?!耙虼耍瑢?duì)于公共庫(kù)和上線產(chǎn)品的要求,各個(gè)組織應(yīng)采用一套強(qiáng)有力的指導(dǎo)方針,這非常重要。”坎貝爾說(shuō)。

3.不要在微服務(wù)之間共享數(shù)據(jù)庫(kù)

“在構(gòu)建我們的解耦合服務(wù)時(shí),我們?cè)试S開發(fā)團(tuán)隊(duì)構(gòu)建自己的數(shù)據(jù)庫(kù),為我們的后端系統(tǒng)提供數(shù)據(jù),這可限制對(duì)其他開發(fā)團(tuán)隊(duì)的依賴性?!盉ercher說(shuō)。

“我們的開發(fā)團(tuán)隊(duì)將他們書寫的內(nèi)容推送到后端,供其他人使用,然后我們的數(shù)據(jù)團(tuán)隊(duì)會(huì)管理這些信息?!盉ercher說(shuō),“這延續(xù)了即插即用的概念,如果您需要更換某一服務(wù),只需將其取出并插入新服務(wù)即可。這就像更換燈泡,只是稍微復(fù)雜一點(diǎn)?!?/p>

由于微服務(wù)在設(shè)計(jì)上是模塊化的,因此開發(fā)過(guò)程主要是即插即用,從而可以非常輕松地解決可能出現(xiàn)的任何問(wèn)題。

“因?yàn)榇a不會(huì)在整個(gè)平臺(tái)上傳播,我們可以快速將問(wèn)題隔離到一個(gè)特定的源,然后在微服務(wù)中對(duì)其跟蹤,”Bercher說(shuō),“通過(guò)允許對(duì)每個(gè)微服務(wù)進(jìn)行零碎的更新和升級(jí),可以輕松更新應(yīng)用程序。你能想象一次升級(jí)一個(gè)系統(tǒng)而不進(jìn)行大規(guī)模替換嗎??jī)H這一概念就徹底改變了系統(tǒng)開發(fā)。”

SBD公司在美國(guó)各地都設(shè)有開發(fā)團(tuán)隊(duì),可以增強(qiáng)微服務(wù)的優(yōu)勢(shì)。位于南卡羅來(lái)納州查爾斯頓的團(tuán)隊(duì)成員具有更高的開發(fā)獨(dú)立性,因?yàn)樗麄冋陂_發(fā)自己的微服務(wù),并可將其加入解決方案中。

4.解決安全問(wèn)題

與IT相關(guān)的任何其他事情一樣,微服務(wù)也有自己的安全問(wèn)題。

“企業(yè)應(yīng)該在軟件開發(fā)生命周期的早期就要頻繁地查找已知的漏洞。”電子商務(wù)、支付和營(yíng)銷服務(wù)提供商數(shù)字湖公司(Digital River)的首席信息官瑞恩·道格拉斯說(shuō),“對(duì)于我們?cè)诳旃?jié)奏環(huán)境中工作的任何IT團(tuán)隊(duì)來(lái)說(shuō),一個(gè)重要信條是識(shí)別和修復(fù)本地解決方案以及第三方軟件的漏洞。這對(duì)維護(hù)安全至關(guān)重要。對(duì)軟件生態(tài)系統(tǒng)采取全局方法,了解它如何協(xié)同工作以及潛在問(wèn)題區(qū)域所在,這是至關(guān)重要的?!?/p>

道格拉斯說(shuō):“使用微服務(wù)時(shí),軟件補(bǔ)丁部署更容易測(cè)試。而且這不僅適用于自己開發(fā)的代碼,IT工程師可以在自己開發(fā)軟件的同時(shí)測(cè)試第三方軟件的漏洞。一旦發(fā)現(xiàn)漏洞,可以比以前的單一代碼結(jié)構(gòu)更快地部署修復(fù)程序?!?/p>

5.避免出現(xiàn)復(fù)雜情況

DXC Technology公司是在CSC公司和惠普企業(yè)部門合并后成立的一家IT服務(wù)提供商,公司的應(yīng)用服務(wù)首席技術(shù)官JP Morgenthal說(shuō),復(fù)雜情況在大型微服務(wù)部署中很容易發(fā)生。

“如果組織機(jī)構(gòu)沒(méi)有謹(jǐn)慎地確保某一系統(tǒng)架構(gòu)來(lái)推動(dòng)微服務(wù)的使用,甚至可能存在遞歸數(shù)據(jù)路徑,”Morgenthal說(shuō),“在使用獨(dú)立的跨職能團(tuán)隊(duì)和服務(wù)存儲(chǔ)庫(kù)時(shí),可能會(huì)出現(xiàn)依賴關(guān)系,從而導(dǎo)致微服務(wù)原則失效?!?/p>

“應(yīng)該能夠更改或刪除單個(gè)微服務(wù),而不會(huì)對(duì)整個(gè)系統(tǒng)產(chǎn)生重大影響?!盡orgenthal表示,最佳做法是使用企業(yè)架構(gòu)來(lái)驗(yàn)證微服務(wù)設(shè)計(jì)。

6.考慮從頭開始構(gòu)建應(yīng)用程序

房地產(chǎn)服務(wù)提供商Carrington Mortgage Holdings推出的直接面向消費(fèi)者的抵押貸款平臺(tái)Vylla.com,該平臺(tái)最近將其技術(shù)架構(gòu)轉(zhuǎn)移到微服務(wù)。

“當(dāng)我們決定遷移到微服務(wù)時(shí),遇到的挑戰(zhàn)之一是,是否要逐個(gè)拆分應(yīng)用程序或進(jìn)行完全重寫?!盋arrington Mortgage公司首席技術(shù)官約翰·尼古拉斯說(shuō)。

“由于一些預(yù)先設(shè)定的業(yè)務(wù)需求,我們需要在很短的時(shí)間內(nèi)提供新功能,”尼古拉斯說(shuō),“起初,我們?cè)噲D通過(guò)一些成功的結(jié)果整合到整體架構(gòu)中。然而,我們也知道,將應(yīng)用程序拆分會(huì)比重寫我們現(xiàn)有的大部分功能更加困難?!?/p>

考慮到這一點(diǎn),開發(fā)團(tuán)隊(duì)決定最好的前進(jìn)方向是從頭開始構(gòu)建新的應(yīng)用程序。“這是一項(xiàng)艱巨的任務(wù),需要我們所有團(tuán)隊(duì)成員付出巨大努力,但自從做出這種轉(zhuǎn)變后,在短時(shí)間內(nèi)就證明了這是值得的?!蹦峁爬拐f(shuō)。

尼古拉斯表示,由于成功部署微服務(wù)需要大量的技術(shù)投資,因此重要的是,必須有一個(gè)明確定義的商業(yè)案例來(lái)概述新技術(shù)如何提高性能或提高運(yùn)營(yíng)效率。

“這里的關(guān)鍵是找到合適的人才,”尼古拉斯說(shuō),“找到有經(jīng)驗(yàn)的工程師能輕松完成這一工作并不容易。我們已經(jīng)能夠建立一個(gè)強(qiáng)大的工程團(tuán)隊(duì),了解正確的架構(gòu),并且有一支強(qiáng)大的質(zhì)量保證團(tuán)隊(duì),圍繞應(yīng)用程序構(gòu)建自動(dòng)化測(cè)試?!?/p>

7.進(jìn)行擴(kuò)展時(shí),需衡量其性能

通過(guò)添加服務(wù)器,可對(duì)整體應(yīng)用程序進(jìn)行全面擴(kuò)展以滿足需求的飆升,SpotCues公司的聯(lián)合創(chuàng)始人Praveen Kanyadi表示,該公司利用人工智能提供生產(chǎn)力軟件。

“對(duì)于微服務(wù)來(lái)說(shuō),模塊化架構(gòu)只允許對(duì)系統(tǒng)的某些部分進(jìn)行擴(kuò)展,”Kanyadi說(shuō),“然而,微服務(wù)需要一種非常不同的擴(kuò)展方法,因?yàn)榈湫偷奈⒎?wù)架構(gòu)部署可能包含在不同服務(wù)器上運(yùn)行的多個(gè)組件以及虛擬化協(xié)同工作。”

這就增加了在識(shí)別哪些單個(gè)組件升級(jí)方面的挑戰(zhàn)。Kanyadi說(shuō):“這是衡量性能變得至關(guān)重要的地方,而像應(yīng)用程序交付控制器等工具可以幫助測(cè)量和檢測(cè)性能問(wèn)題?!?/p>

Kanyadi表示,企業(yè)還應(yīng)考慮根據(jù)業(yè)務(wù)優(yōu)先級(jí)為每個(gè)微服務(wù)的性能和可靠性定義服務(wù)水平協(xié)議(SLA)。

8.專注于變革管理

企業(yè)需要更新變革管理和變更控制流程以及支持文檔,以便從整體架構(gòu)向微服務(wù)架構(gòu)的轉(zhuǎn)變中受益。

Avant Communications公司的首席云計(jì)算官羅恩·海曼說(shuō):“確保您將變更控制和審批流程與您的敏捷開發(fā)生命周期相匹配,更快的開發(fā)過(guò)程很好,但不要因?yàn)楹雎宰兏刂坪推渌匾闹卫砹鞒潭鴣G掉微服務(wù)的好處?!痹摴緸镮T渠道銷售市場(chǎng)提供云服務(wù)。

猜你喜歡
尼古拉斯坎貝爾應(yīng)用程序
完美主義者
完美主義者
坎貝爾 從草根球星到房產(chǎn)大亨
新體育(2019年12期)2019-12-06 07:59:01
刪除Win10中自帶的應(yīng)用程序
坎貝爾和他的幸運(yùn)玩偶
論尼古拉斯·斯帕克斯小說(shuō)翻譯審美再現(xiàn)——以A Walk to Remember為例
關(guān)閉應(yīng)用程序更新提醒
電腦迷(2012年15期)2012-04-29 17:09:47
和弱點(diǎn)面對(duì)面
繩子
讀者(2010年15期)2010-07-04 22:11:57
三星電子將開設(shè)應(yīng)用程序下載商店
米脂县| 应城市| 东乡族自治县| 芜湖县| 科技| 宁强县| 都昌县| 揭阳市| 徐水县| 邵东县| 富民县| 桃园县| 即墨市| 松滋市| 太白县| 高雄县| 广平县| 浑源县| 玛纳斯县| 高阳县| 张北县| 普格县| 乐清市| 青河县| 威远县| 通许县| 永吉县| 射洪县| 海门市| 金秀| 平果县| 托克逊县| 余姚市| 红原县| 根河市| 正阳县| 瓮安县| 德钦县| 扶风县| 兴义市| 临桂县|