Dapr 助力应用架构的可持续性
在文章亞馬遜可持續(xù)軟件工程實(shí)踐[1] 有這么一段我們?yōu)槭裁匆P(guān)注“可持續(xù)發(fā)展”:
聯(lián)合國于 2015 年制定了一個(gè)全球框架《巴黎協(xié)定》[2],隨后各締約國紛紛制定了“碳中和”路徑和目標(biāo),對(duì)地球環(huán)境的健康發(fā)展做出承諾。今年兩會(huì),中國也將“碳中和”和“碳達(dá)峰”寫入政府工作報(bào)告,目標(biāo)在 2030 年前實(shí)現(xiàn)“碳達(dá)峰”,2060 年前實(shí)現(xiàn)“碳中和”。毋庸置疑,可持續(xù)發(fā)展已經(jīng)成為不言而喻的社會(huì)共識(shí)。但在社會(huì)共識(shí)之下,還需要個(gè)人、企業(yè)、政府等各類社會(huì)主體的參與——其中體量龐大的科技企業(yè)是至關(guān)重要的參與者。
在探討應(yīng)用程序的碳足跡時(shí),我們通常應(yīng)該考慮兩個(gè)角度。運(yùn)行它使用了多少能量(即內(nèi)核數(shù)量、執(zhí)行時(shí)間、硬件效率等)以及產(chǎn)生多少能量對(duì)環(huán)境產(chǎn)生了影響,這稱為碳強(qiáng)度,取決于位置、時(shí)間和數(shù)據(jù)中心使用的能源類型(天然氣、煤炭、風(fēng)能等)。2016 年的一項(xiàng)研究證明,大約 55% 的消耗能源取決于計(jì)算系統(tǒng),其余 45% 用于支持計(jì)算(冷卻、UPS 等)。
2020 年標(biāo)志著 IT 界開始形成全球共識(shí):軟件和應(yīng)用程序具有必須考慮的足跡,并且正在開發(fā)算法來評(píng)估這些足跡[3]。我最近一直在探索 Dapr 的創(chuàng)新,這是一個(gè)為分布式應(yīng)用程序運(yùn)行時(shí)創(chuàng)建的開源項(xiàng)目,目前是CNCF的孵化項(xiàng)目,項(xiàng)目官網(wǎng):https://dapr.io/。根據(jù)其主頁介紹,“Dapr 是一個(gè)可移植的、事件驅(qū)動(dòng)的運(yùn)行時(shí),它使任何開發(fā)人員都可以輕松構(gòu)建在云和邊緣上運(yùn)行的彈性、無狀態(tài)和有狀態(tài)的應(yīng)用程序,并包含語言和開發(fā)人員框架的多樣性。”? Dapr 的主要夢(mèng)幻般的特性確實(shí)是其實(shí)現(xiàn)的簡單性以及跨任何編程語言、框架和基礎(chǔ)架構(gòu)工作的能力,它促使開發(fā)人員在接近他們的軟件架構(gòu)時(shí)更容易開始考慮IT可持續(xù)性。我們從三個(gè)方面來談?wù)凞apr 在可持續(xù)性方面給開發(fā)人員帶來的方便。
首先是Dapr 助力應(yīng)用程序衡量自身的碳排放。在分布式解決方案中,我們通常可以有幾種不同的基礎(chǔ)設(shè)施環(huán)境和編程語言。理想情況下,這應(yīng)該通過一個(gè)專用的微服務(wù)來完成,該微服務(wù)可以持續(xù)監(jiān)控每種能源的碳排放,并且能夠?yàn)閼?yīng)用程序的其他部分提供這些信息。Dapr 在衡量其基礎(chǔ)設(shè)施的性能影響方面非常精確,并就如何衡量采用 Dapr 的微服務(wù)所使用的性能提供了指導(dǎo)。正如Dapr文檔中提到的,有一些方法可以檢索 CPU 和內(nèi)存使用情況,這有助于消除總體碳影響。此外,以遞歸方式,此微服務(wù)還應(yīng)監(jiān)控其自身的碳排放。
第二點(diǎn)是Dapr 助力應(yīng)用程序通過控制其 IaC(基礎(chǔ)設(shè)施即代碼)來驅(qū)動(dòng)/改變其碳排放,碳排放并不是一個(gè)固定的數(shù)量,并且很大程度上取決于基礎(chǔ)設(shè)施所在數(shù)據(jù)中心的能源狀況,因此應(yīng)用程序可以具有自動(dòng)化,觸發(fā)全部或部分基礎(chǔ)設(shè)施向影響較小的站點(diǎn)或區(qū)域移動(dòng)。對(duì)于某些地區(qū)來說,這可能不是立竿見影的,甚至是不可行的(例如需要考慮數(shù)據(jù)主權(quán)和延遲),但在適用的情況下, 分布式應(yīng)用程序的高度優(yōu)化的可持續(xù)基礎(chǔ)設(shè)施,可以保證在影響較小的環(huán)境中運(yùn)行基礎(chǔ)設(shè)施(出于同樣的原因,可能是最便宜的),Dapr 非常容易就可以做到環(huán)境的適應(yīng)性。從目前全球情況來看,亞馬遜、谷歌、微軟這三家世界級(jí)科技巨頭引領(lǐng)了“綠色云”改造。亞馬遜表示將提前十年達(dá)成《巴黎協(xié)定》,并在 2025 年實(shí)現(xiàn) 100% 可再生能源。并且還成立了 20 億美元的氣候承諾基金,投資那些能幫助亞馬遜達(dá)成目標(biāo)的公司。谷歌大膽承諾,到 2030 年實(shí)現(xiàn)數(shù)據(jù)中心全天候無碳運(yùn)行,而不是依靠每年的直接能源匹配。微軟(Microsoft)自 2012 年起實(shí)現(xiàn)碳中和,并承諾通過電力購買協(xié)議,到 2025 年實(shí)現(xiàn)數(shù)據(jù)中心完全使用可再生能源。而在中國,互聯(lián)網(wǎng)科技企業(yè)也都在不斷加大力量投入到碳中和改造中。今年 8 月國際環(huán)保組織綠色和平(Greenpeace)發(fā)布了中國科技巨頭《綠色云端2021》[5]排行榜,從能源信息披露、節(jié)能減碳表現(xiàn)、可再生能源方面合梳理了中國互聯(lián)網(wǎng)科技企業(yè)的氣候行動(dòng),相比去年,中國互聯(lián)網(wǎng)科技企業(yè)整體平均得分上升 11%。
第三點(diǎn)是Dapr 助力應(yīng)用程序根據(jù)用戶行為驅(qū)動(dòng)/改變其碳排放影響,應(yīng)用程序可以根據(jù)功能的碳排放提供不同級(jí)別的功能,并根據(jù)功能的影響級(jí)別提供多樣化的用戶體驗(yàn),將知情權(quán)選擇留給最終用戶。有更多的空閑時(shí)間嗎?你為什么不試試這個(gè)稍微高一點(diǎn)的延遲水平,通過使用更環(huán)保的基礎(chǔ)設(shè)施來節(jié)省 xx% 的碳?你真的需要加載所有高分辨率圖片嗎?等等。這顯然會(huì)在編程方面帶來一些開銷,但其執(zhí)行的美妙之處在于應(yīng)用程序?qū)⒍x并教育最終用戶對(duì)其影響發(fā)表意見,并且在一段時(shí)間后通過監(jiān)控用戶所做的選擇,您還可以擁有關(guān)于他們希望如何與您的軟件交互的反饋。隨著時(shí)間的推移,您將清楚地了解哪種組合可以更好地平衡性能和節(jié)能。Dapr 偏愛異步架構(gòu)模式,尤其是依賴于微服務(wù)之間的發(fā)布/訂閱交互。通過向外擴(kuò)展和向內(nèi)擴(kuò)展來處理請(qǐng)求,可以在對(duì)用戶需求的動(dòng)態(tài)響應(yīng)和對(duì)我們希望為工作負(fù)載提供的資源的控制之間實(shí)現(xiàn)最佳折衷。
IT可持續(xù)性是我們?cè)谠O(shè)計(jì)應(yīng)用程序時(shí)必須開始考慮的工作了,優(yōu)化工作負(fù)載以提高利用率,我們可以分散定時(shí)任務(wù),降低負(fù)載峰值,達(dá)到調(diào)整 CPU 使用效率的目的。重要的是,優(yōu)化并不是只考慮某一個(gè)地方就可以,需要我們?cè)诩軜?gòu)和系統(tǒng)層面去思考,每位開發(fā)者都可以從現(xiàn)在開始去理解“可持續(xù)性”相關(guān)的術(shù)語和原則,在工作中尋找優(yōu)化負(fù)載的機(jī)會(huì)。Dapr 在架構(gòu)和系統(tǒng)層面為我們?cè)O(shè)計(jì) 可持續(xù)的應(yīng)用程序提供了秘密武器。
[1]亞馬遜可持續(xù)軟件工程實(shí)踐:?https://www.infoq.cn/article/9dIy3T8NEmohhPU9QFe2?
[2]巴黎協(xié)定:https://zh.wikipedia.org/wiki/%E5%B7%B4%E9%BB%8E%E5%8D%94%E5%AE%9A
[3]綠色軟件工程原理:?https://principles.green/
[4] Dapr :?https://dapr.io/
[5]綠色云端 :https://www.eet-china.com/mp/a69760.html
總結(jié)
以上是生活随笔為你收集整理的Dapr 助力应用架构的可持续性的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 浅谈C#字符串构建利器StringBui
- 下一篇: 我的技术回顾那些与ABP框架有关的故事-