摘要:嚴(yán)格禁止鏡像或配置,除了服務(wù)本身所需功能之外,不允許訪問單個(gè)容器。團(tuán)隊(duì)?wèi)?yīng)該能夠查看整個(gè)應(yīng)用程序及其中的所有服務(wù),并能檢查單個(gè)容器。專注于服務(wù)的目標(biāo)是避免分心,只專注于服務(wù)功能。月日,北京海航萬豪酒店,容器技術(shù)大會即將舉行。
現(xiàn)階段而言,容器聽起來可能很酷,但這種現(xiàn)狀或許不會持續(xù)太久??梢灶A(yù)見的是,容器將來也僅僅是一種基礎(chǔ)設(shè)施。經(jīng)驗(yàn)豐富的開發(fā)人員對部署應(yīng)用程序的方法和其它幾種類型的基礎(chǔ)設(shè)施可能已經(jīng)很熟悉了。容器對他們來說沒什么大不了的。
然而,通過容器架構(gòu)應(yīng)用程序,能為基礎(chǔ)設(shè)施帶來新機(jī)遇,并且市場前景巨大,這就是為什么微服務(wù)應(yīng)用程序中的服務(wù)比其運(yùn)行的容器化基礎(chǔ)設(shè)施要重要得多。
模塊化一直是應(yīng)用程序架構(gòu)的目標(biāo),如今,微服務(wù)的設(shè)想已成為可能,如何構(gòu)建這些服務(wù)最終決定了它們將在哪里運(yùn)行以及它們將以何種方式部署。應(yīng)用程序的功能通過服務(wù)滿足用戶需求,其價(jià)值也通過服務(wù)來實(shí)現(xiàn)。
這就是為什么如果你想充分利用容器,那你應(yīng)該考慮的不應(yīng)該僅僅只是容器。你必須關(guān)注服務(wù),因?yàn)樗鼈兪侨萜鲉⒂玫年P(guān)鍵。
服務(wù)和容器為了便于對話,服務(wù)和容器是可以互換使用的,因?yàn)槿萜骰瘧?yīng)用程序的理想用例是解構(gòu)到服務(wù)中,每個(gè)服務(wù)都被部署為一個(gè)或多個(gè)容器。
但是,策略不盡相同。服務(wù)是一種隱含的基礎(chǔ)設(shè)施,更重要的是應(yīng)用程序體系結(jié)構(gòu)。當(dāng)您談到作為應(yīng)用程序一部分的服務(wù)時(shí),該服務(wù)是持久性的。例如,在沒有登錄頁面或購物車的情況下,你無法臨時(shí)擁有一個(gè)應(yīng)有程序,還指望其進(jìn)展順意。
另一方面,容器的生命周期在設(shè)計(jì)之初就被限定在極短的范圍內(nèi)。理想情況下, 在每次部署或還原時(shí), 一旦新的部署生效并且流量被路由到該容器就被終止。因此容器并不持久。如果交貨鏈正常運(yùn)行,那根本就不重要。只要新部署已存在并且通信流路由到該容器, 就會立即將其殺死。所以容器不是持久的。如果交付鏈正常運(yùn)行, 即使容器終止也無關(guān)緊要。
微服務(wù),既是一個(gè)應(yīng)用程序,也是一個(gè)基礎(chǔ)設(shè)施術(shù)語,它有一些與之相關(guān)聯(lián)的獨(dú)特元素,從而使它進(jìn)一步分化。
單個(gè)服務(wù)可以部署在多個(gè)區(qū)域。
每個(gè)區(qū)域都可以有多個(gè)版本——例如,A / B測試或Canary版本。
每個(gè)服務(wù)可能具有不同的生命周期。特定于后端的服務(wù)可能比前端服務(wù)部署的要少。
它甚至不一定意味著一個(gè)服務(wù)等于一個(gè)容器或一個(gè)主機(jī)。該服務(wù)是來自應(yīng)用程序中功能的邏輯抽象,并不直接與任何基礎(chǔ)設(shè)施相關(guān)。
以服務(wù)為中心意味著什么?專注于您的服務(wù)意味著開發(fā)人員不會花時(shí)間優(yōu)化或修改容器編排或配置。如果最終版本的鏡像已經(jīng)準(zhǔn)備好,開發(fā)者只要關(guān)心提交他們的代碼就可以了。如果開發(fā)人員還需要把容器也納入考慮范圍,那就會打破某種平衡。
開發(fā)人員只有在開發(fā)環(huán)境中才需要考慮容器相關(guān)的事宜。開發(fā)環(huán)境和生產(chǎn)環(huán)境之間的平衡非常重要。要確保開發(fā)人員正在對正確的Docker鏡像進(jìn)行測試,并能夠訪問其他服務(wù),而左移QA是緩解“它在我的機(jī)器上明明能正常工作”這一問題的唯一途徑。這是通過強(qiáng)大的容器鏡像倉庫實(shí)現(xiàn)的。
然而,即使是開發(fā)環(huán)境也應(yīng)該被放在最末來考慮。
如何實(shí)現(xiàn)以服務(wù)為中心的工作流我希望我可以說,專注于服務(wù)是一項(xiàng)獨(dú)立的開發(fā)任務(wù),但其實(shí)不是。開發(fā)人員已著眼于正在構(gòu)建的功能,如果他們因容器和業(yè)務(wù)流程而分心,那也是因?yàn)樗麄兪羌夹g(shù)狂人,他們想要修補(bǔ)問題,而不是因?yàn)樗麄冇X得這是他們的主要職責(zé)。
以服務(wù)為中心,是團(tuán)隊(duì)中的每個(gè)人的責(zé)任。包括如何架構(gòu)交付鏈——不僅要快,而且要避免更廣泛的團(tuán)隊(duì)需要與之進(jìn)行交互。因此,“以服務(wù)為中心”需要從管理開始,下放到傳遞鏈(或DevOps),再到工具,最終,開發(fā)人員要么保留基礎(chǔ)設(shè)施包,要么可以自由工作。以下是服務(wù)重點(diǎn)的三個(gè)關(guān)鍵原則:
規(guī)范開發(fā)環(huán)境。您可以通過找到一個(gè)強(qiáng)大的容器鏡像倉庫、審查圖像和標(biāo)準(zhǔn)化開發(fā)人員在其框中的工具來執(zhí)行此操作。由于服務(wù)是獨(dú)立開發(fā)的,其中一個(gè)挑戰(zhàn)是在整個(gè)應(yīng)用程序的服務(wù)中看到新的功能。因此,開發(fā)人員每次提交都可以部署的按需集成環(huán)境就顯得尤為重要。
保持不可變,不要只是掛在嘴邊。要想要以服務(wù)中心,你必須將“基礎(chǔ)設(shè)施不可變”付諸實(shí)踐,而不僅僅是嘴上說說。這意味著在部署容器后將不得再進(jìn)行更改,只能選擇運(yùn)行或刪除。嚴(yán)格禁止Snowflake鏡像或配置,除了服務(wù)本身所需功能之外,不允許訪問單個(gè)容器。
創(chuàng)建可見性。基于服務(wù)的應(yīng)用程序確實(shí)有多個(gè)單片應(yīng)用程序的移動(dòng)部件。這意味著創(chuàng)建可見性并為所有涉眾提供訪問權(quán)限至關(guān)重要??梢娦赃€應(yīng)支持基礎(chǔ)設(shè)施和應(yīng)用程序可見性。團(tuán)隊(duì)?wèi)?yīng)該能夠查看整個(gè)應(yīng)用程序及其中的所有服務(wù),并能檢查單個(gè)容器。因此對開發(fā)團(tuán)隊(duì)來說,應(yīng)用程序的可見性是最重要的。
為避免發(fā)生重大故障,DevOps團(tuán)隊(duì)還需要盡可能地減少網(wǎng)絡(luò)和安全性的影響,其目標(biāo)是盡可能多地卸載編排工具。
專注于服務(wù)的目標(biāo)是避免分心,只專注于服務(wù)功能。如果開發(fā)人員專注于構(gòu)建一個(gè)偉大的產(chǎn)品,而DevOps則專注于構(gòu)建最佳的交付鏈,那么工具鏈和流程將會隨之就緒以提供支持——如今,這種偉大的產(chǎn)品誕生了,那就是容器和強(qiáng)大的編排工具。
用戶總是傾向于使用更優(yōu)質(zhì)的應(yīng)有程序,這就促使公司更加精益求精、日臻完善,至于達(dá)到這一目標(biāo)的機(jī)制,并非問題的關(guān)鍵所在。因此,下次您再談?wù)摰饺萜鲿r(shí),不妨考慮把重點(diǎn)放在如何構(gòu)建更好的服務(wù)上。
9月27日,北京海航萬豪酒店,容器技術(shù)大會Container Day 2017即將舉行。
CloudStack之父、海航科技技術(shù)總監(jiān)、華為PaaS部門部長、恒豐銀行科技部總經(jīng)理、阿里云PaaS工程總監(jiān)、民生保險(xiǎn)CIO······均已加入豪華講師套餐!
11家已容器落地企業(yè),15位真·云計(jì)算大咖,13場純·技術(shù)演講,結(jié)合實(shí)戰(zhàn)場景,聚焦落地經(jīng)驗(yàn)。免費(fèi)參會+超高規(guī)格,詳細(xì)議程及注冊鏈接請戳
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/26976.html
摘要:此時(shí),可以構(gòu)建映像,并將其部署為容器。從執(zhí)行以下操作以上命令將使用文件中定義的端口,構(gòu)建對應(yīng)鏡像和部署成為容器。 showImg(https://segmentfault.com/img/remote/1460000010122752); 數(shù)人云之前分享了《如何用Docker實(shí)現(xiàn)PHP命令行程序的CI/CD》,詳細(xì)地介紹了整體過程中的思路以及以及注意事項(xiàng),今天帶來的文章將闡述怎樣部署一...
摘要:然而,在使用無服務(wù)器架構(gòu)計(jì)算方面,這一情況可能會有所不同。事實(shí)上,當(dāng)你把無服務(wù)器架構(gòu)帶入企業(yè)內(nèi)部時(shí),你就開始喪失你最初的優(yōu)勢,亞馬遜公司推廣人員說道。鑒于容器技術(shù)的重要性,這種說法令人吃驚。像Docker這樣的容器技術(shù)功能非常強(qiáng)大,但是這需要你擁有很稀缺的人才。無服務(wù)器架構(gòu)計(jì)算可提供相同的優(yōu)勢,借助技術(shù)人才您就可以真正獲得其優(yōu)勢。通常情況下,主流企業(yè)接受前沿技術(shù)的速度很慢,而初創(chuàng)公司和其他早...
摘要:安全基準(zhǔn)測試工具互聯(lián)網(wǎng)安全中心為容器安全提供了指導(dǎo)方針,這一方針已被和類似的安全基準(zhǔn)工具所采用。該容器安全工具可以利用機(jī)器學(xué)習(xí)提供自適應(yīng)威脅保護(hù)這是一個(gè)可以掃描容器鏡像的托管安全解決方案,它甚至可以允許企業(yè)在它們的環(huán)境內(nèi)執(zhí)行安全策略。 在Docker容器技術(shù)興起的初期,對于許多企業(yè)而言,容器安全問題一直是他們在生產(chǎn)環(huán)境中采用Docker的一大障礙。然而,在過去的一年中,許多開源項(xiàng)目、初...
摘要:小編一哥們和我吐槽自家的煩惱原本一個(gè)有錢有閑的證券行業(yè)經(jīng)理一年前被老板派去支持創(chuàng)新業(yè)務(wù)探索因?yàn)樾滦蜆I(yè)務(wù)在不斷加速鋪開當(dāng)前的單體式應(yīng)用復(fù)雜度越來越高業(yè)務(wù)上線過程繁瑣流程冗長資源分配耗時(shí)較多更新頻率越來越低人員也越來越顯得捉襟見肘這哥們于是開始 小編一哥們和我吐槽自家的煩惱原本一個(gè)有錢有閑的證券行業(yè)IT經(jīng)理一年前被老板派去支持創(chuàng)新業(yè)務(wù)探索因?yàn)樾滦蜆I(yè)務(wù)在不斷加速鋪開當(dāng)前的單體式應(yīng)用復(fù)雜度越來...
摘要:入門篇學(xué)習(xí)總結(jié)時(shí)間年月日星期三說明本文部分內(nèi)容均來自慕課網(wǎng)。主要的功能是日志記錄,性能統(tǒng)計(jì),安全控制,事務(wù)處理,異常處理等等。 《Spring入門篇》學(xué)習(xí)總結(jié) 時(shí)間:2017年1月18日星期三說明:本文部分內(nèi)容均來自慕課網(wǎng)。@慕課網(wǎng):http://www.imooc.com教學(xué)示例源碼:https://github.com/zccodere/s...個(gè)人學(xué)習(xí)源碼:https://git...
閱讀 1034·2021-11-23 10:11
閱讀 3869·2021-11-16 11:50
閱讀 937·2021-10-14 09:43
閱讀 2722·2021-10-14 09:42
閱讀 2722·2021-09-22 16:02
閱讀 1068·2019-08-29 10:57
閱讀 3386·2019-08-29 10:57
閱讀 2276·2019-08-26 13:52