摘要:微軟已經(jīng)很久沒(méi)有支持開源社區(qū)了,這也是很多公司不采用的原因之一。當(dāng)然微軟總是致力于提供無(wú)的工具簡(jiǎn)單的語(yǔ)法和良好的教程,他們最近也意識(shí)到,開源可以為提供更多的創(chuàng)新和業(yè)務(wù)。
得益于CTO、CEO和CDO們積極的推動(dòng),IT基礎(chǔ)設(shè)施正在向云環(huán)境遷移,底層架構(gòu)師則在熱烈討論圍繞著云原生應(yīng)用的SaaS、PaaS和微服務(wù)架構(gòu),而開發(fā)者們正在大顯身手,努力探索云計(jì)算的魔盒,找出什么是對(duì)業(yè)務(wù)有價(jià)值的,什么又是不需要的。
之所在云上花費(fèi)這大精力,云應(yīng)用所具備的獨(dú)特功能居功至偉,例如支持高度可擴(kuò)展和靈活的分布式架構(gòu),可以在多云環(huán)境中輕松遷移,但云應(yīng)用從開發(fā)到落地生產(chǎn)環(huán)境,需要許多不同的工具和技術(shù)來(lái)提供強(qiáng)有力的支持。本文將討論云環(huán)境中能夠最大化發(fā)揮云計(jì)算優(yōu)勢(shì)的新方法、新工具。
函數(shù)式編程假設(shè)我們希望開發(fā)具有高度可伸縮基礎(chǔ)設(shè)施的服務(wù)來(lái)支持IoT和ybig data平臺(tái),函數(shù)式編程是一項(xiàng)值得考慮的選擇。不同于大多數(shù)人所熟知的編程范式,函數(shù)式編程不需要維護(hù)全局狀態(tài),只需要將輸入數(shù)據(jù)傳給函數(shù)即可,適合用于驗(yàn)證新想法。很多頂級(jí)云供應(yīng)商目前都已經(jīng)支持函數(shù)式編程。
選擇開發(fā)語(yǔ)言在云平臺(tái)上開發(fā)微服務(wù)架構(gòu)時(shí),啟動(dòng)時(shí)間(startup time)、內(nèi)存效率(memory efficiency)、二進(jìn)制大?。╞inary size)和并發(fā)性(consurrency)是關(guān)鍵因素。
Go——Go語(yǔ)言對(duì)于云計(jì)算來(lái)說(shuō),是一種優(yōu)秀的選擇,它具備兵法、輕量級(jí)、靜態(tài)類型和編譯語(yǔ)言等特性。據(jù)了解,英國(guó)的一家銀行(Monzo)完全使用Go語(yǔ)言實(shí)現(xiàn)微服務(wù)架構(gòu)來(lái)構(gòu)建完整的銀行體系結(jié)構(gòu)。
Java——大多數(shù)應(yīng)用都是用Java開發(fā)的,Java也擁有大量的開發(fā)者社區(qū)基礎(chǔ)。Spring Boot和Java modules(JDK-9.0~)是云原生架構(gòu)的最佳選擇之一。這是將以遺留系統(tǒng)遷移到云平臺(tái)的良好開端。
.net core——微軟已經(jīng)很久沒(méi)有支持開源社區(qū)了,這也是很多公司不采用.net core的原因之一。當(dāng)然微軟總是致力于提供無(wú)bug的工具、簡(jiǎn)單的語(yǔ)法和良好的教程,他們最近也意識(shí)到,開源可以為Azure cloud提供更多的創(chuàng)新和業(yè)務(wù)。總而言之,.net core是Azure云平臺(tái)上的最佳選擇之一。
R Math——數(shù)據(jù)科學(xué)(data science)正在席卷整個(gè)計(jì)算機(jī)世界,但卻沒(méi)有一種新的語(yǔ)言可以用來(lái)解決數(shù)據(jù)科學(xué)難題(統(tǒng)計(jì)和數(shù)學(xué))。由于云計(jì)算可以以低成本提供計(jì)算能力,業(yè)界正試圖用舊的技術(shù)工具來(lái)解決人工智能難題。R是S編程語(yǔ)言的實(shí)現(xiàn)。S創(chuàng)建于1976年,R library實(shí)現(xiàn)統(tǒng)計(jì)和數(shù)學(xué)功能。
Python——Python支持多種編程范例和強(qiáng)類型檢查。它易于學(xué)習(xí),有強(qiáng)大的分析庫(kù),并得到了開源社區(qū)的大力支持,這也是Python吸引數(shù)據(jù)科學(xué)家的原因之一。
選擇存儲(chǔ)大規(guī)模伸縮前端服務(wù)時(shí),嘗試使用連接池與RDBMS數(shù)據(jù)庫(kù)進(jìn)行通信可能無(wú)法滿足實(shí)際的用例需求,需要我們選擇以云為中心(cloud-centric)的數(shù)據(jù)庫(kù)來(lái)構(gòu)建強(qiáng)大的存儲(chǔ)平臺(tái)。
Amazon DynamoDB——提供了任何級(jí)別的single-digit-millisecond延遲,數(shù)據(jù)以NoSQL格式存儲(chǔ),支持文檔、鍵值存儲(chǔ)模型和構(gòu)建圖形數(shù)據(jù)庫(kù)。
Azure Cosmos DB——支持具有水平擴(kuò)展的全局分布式數(shù)據(jù)庫(kù)。以NoSQL格式存儲(chǔ)的數(shù)據(jù),保證了99%的single-digit-millisecond延遲。它不僅支持文檔、圖形、鍵值、表和列族數(shù)據(jù)模型,還支持?jǐn)U展到多種語(yǔ)言的API支持。
MongoDB——MongoDB是NoSQL DB的早期版本之一,對(duì)于客戶來(lái)說(shuō)是非常好的開源存儲(chǔ),并且具有不錯(cuò)的成本效益模型。
IBM Cloudera DB——Cassandra是Cloudera的基礎(chǔ)數(shù)據(jù)庫(kù),它支持基于java的api來(lái)與NoSQL數(shù)據(jù)庫(kù)通信。
Oracle NoSQL DB——oracle NoSQL DB并支持水平負(fù)載均衡和節(jié)點(diǎn)擴(kuò)展。
Service Mesh微服務(wù)架構(gòu)微服務(wù)架構(gòu)在帶來(lái)諸多好處的同時(shí),也帶來(lái)了處理故障、路由和服務(wù)發(fā)現(xiàn)方面的挑戰(zhàn)。因此,在大規(guī)模構(gòu)建以云為中心的服務(wù)時(shí),不妨考慮Service Mesh微服務(wù)架構(gòu)。
什么是Service Mesh微服務(wù)架構(gòu)Service Mesh是用于處理服務(wù)間通信的基礎(chǔ)設(shè)施層,用于在云原生應(yīng)用復(fù)雜的服務(wù)拓?fù)渲袑?shí)現(xiàn)可靠的請(qǐng)求傳遞。在實(shí)踐中,Service Mesh通常是一組與應(yīng)用一起部署,但對(duì)應(yīng)用透明的輕量級(jí)網(wǎng)絡(luò)代理。簡(jiǎn)單來(lái)說(shuō),Service Mesh是微服務(wù)通信的代理層。
Linkerd - It communicates between services and provides an abstract layer for accessing microservices. The key features are service discovery, load balancing, circuit breaking, dynamic request routing and distributed tracing.
Linkerd——Linkerd為服務(wù)之間通信提供支持,并為訪問(wèn)微服務(wù)提供抽象層,具有服務(wù)發(fā)現(xiàn)、負(fù)載均衡、斷路、動(dòng)態(tài)請(qǐng)求路由和分布式跟蹤等特性。
Envoy——最初在其內(nèi)部使用,而今作為Service Mesh解決方案開放了源代碼。不過(guò)Envoy并不是為Kubernetes設(shè)計(jì)的。
Istio——Istio使用負(fù)載均衡服務(wù)創(chuàng)建已部署服務(wù)的網(wǎng)絡(luò)以進(jìn)行服務(wù)身份驗(yàn)證。服務(wù)監(jiān)視是它支持的關(guān)鍵特性之一。
Rainbond——Service Mesh微服務(wù)架構(gòu)是開源PaaS Rainbond在v3.6.0版本中的重點(diǎn)新增特性,可以開箱即用。Rainbond通過(guò)插件式擴(kuò)展來(lái)實(shí)現(xiàn)治理功能,并對(duì)spring cloud、api gateway、dubbo等微服務(wù)架構(gòu)框架有良好支持。
消息層IoT是所有行業(yè)都在關(guān)注的增長(zhǎng)領(lǐng)域。相信不少人都聽說(shuō)過(guò),數(shù)據(jù)是一種新的石油這句話。自動(dòng)駕駛、移動(dòng)設(shè)備等等,每天都會(huì)向云平臺(tái)輸送大量數(shù)據(jù)。事件源(event sourcing)是捕獲完整在線用戶活動(dòng)的另一個(gè)領(lǐng)域……種種情形和需求,讓數(shù)據(jù)流工具成為眾多企業(yè)必不可少的一部分。
Kafka——Kafka是一款基于發(fā)布/訂閱的分布式消息系統(tǒng),于2011年成為Apache的孵化項(xiàng)目,隨后于2012年成為Apache的主要項(xiàng)目之一。Kafka使用Scala和Java進(jìn)行編寫,因其快速、可擴(kuò)展的、高吞吐、可容錯(cuò)的特點(diǎn)而逐漸成為一項(xiàng)廣泛使用的技術(shù),適合在messaging、website activity tracking、log aggregation等大規(guī)模消息處理場(chǎng)景中使用。
Kinesis——Amazon Kinesis可讓您輕松收集、處理和分析實(shí)時(shí)流數(shù)據(jù),以便您及時(shí)獲得見解并對(duì)新信息快速做出響應(yīng)。Amazon Kinesis 提供多種核心功能,可以經(jīng)濟(jì)高效地處理任意規(guī)模的流數(shù)據(jù),同時(shí)具有很高的靈活性,讓您可以選擇最符合應(yīng)用程序需求的工具。
容器/架構(gòu)即代碼容器化是對(duì)在云環(huán)境中運(yùn)行應(yīng)用和依賴的打包,即其中包含代碼、環(huán)境變量、庫(kù)等等。容器可以在任意云環(huán)境中運(yùn)行,并為大規(guī)模遷移到不同云環(huán)境中提供靈活性。
Docker——Docker為封裝和分發(fā)容器應(yīng)用提供了一個(gè)開放的標(biāo)準(zhǔn)。Docker engine用于構(gòu)建和運(yùn)行容器,而Docker鏡像一般存儲(chǔ)在Docker hub中。
Kubernetes——Kubernetes現(xiàn)下已成為容器編排的標(biāo)準(zhǔn),在Docker技術(shù)的基礎(chǔ)上,為容器化的應(yīng)用提供部署運(yùn)行、資源調(diào)度、服務(wù)發(fā)現(xiàn)和動(dòng)態(tài)伸縮等一系列完整功能,提高了大規(guī)模容器集群管理的便捷性。
總結(jié)以上工具和技術(shù)只是云平臺(tái)的開始,需要企業(yè),尤其是大型企業(yè)在構(gòu)建云平臺(tái)時(shí),結(jié)合實(shí)際自身情況進(jìn)行選擇,為應(yīng)用開發(fā)、存儲(chǔ)、安全、日志記錄和調(diào)試、監(jiān)視和測(cè)試創(chuàng)建合理的路線圖,這也是為開發(fā)人員增加生產(chǎn)力和實(shí)現(xiàn)目標(biāo)提供清晰思路的有效方法。
END -
開源PaaS Rainbond v3.6.0現(xiàn)已發(fā)布,新增Service Mesh微服務(wù)架構(gòu)開箱即用,通過(guò)插件式擴(kuò)展來(lái)實(shí)現(xiàn)治理功能,并支持spring cloud、api gateway、dubbo等主流微服務(wù)架構(gòu)。
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/25247.html
摘要:近年來(lái),許多專業(yè)人員都已經(jīng)對(duì)簡(jiǎn)歷進(jìn)行了整理,并調(diào)整了技能以從事云計(jì)算方面的工作。這里概述了云計(jì)算的一些常見職業(yè)以及他們所需的技能云管理員企業(yè)需要一個(gè)人來(lái)配置云部署并執(zhí)行管理和監(jiān)控任務(wù)。 近年來(lái),許多IT專業(yè)人員都已經(jīng)對(duì)簡(jiǎn)歷進(jìn)行了整理,并調(diào)整了技能以從事云計(jì)算方面的工作。云行業(yè)持續(xù)快速地增長(zhǎng)。根據(jù)Gartner的報(bào)告,公有云服務(wù)市場(chǎng)在2017年將增長(zhǎng)18%,達(dá)到2486億美元,高于2016年的...
摘要:給開發(fā)人員提供一致的體驗(yàn)是構(gòu)建能支持云應(yīng)用的操作系統(tǒng)的目標(biāo)之一。你們認(rèn)為哪些最適合于云開發(fā)開發(fā)者應(yīng)為些添加哪些東西來(lái)增強(qiáng)其云開發(fā)的能力你們對(duì)基于云的有興趣嗎很個(gè)人的說(shuō)我是有潛在偏見的作為一個(gè)提交者,我很喜歡,也是和的粉絲。 開發(fā)者正在不斷體驗(yàn)多種不同的云環(huán)境。當(dāng)在云中工作時(shí),開發(fā)者應(yīng)如何改變他們的思考方式?是否有某些云環(huán)境更適合于剛準(zhǔn)備入門的開發(fā)者?而那些目前尚未涉及云開發(fā)的開發(fā)者們又如何在...
摘要:到目前為止,云計(jì)算提供商的選擇并不是真正的考慮因素。還有一些以災(zāi)難恢復(fù)為重點(diǎn)的軟件提供商,允許企業(yè)根據(jù)需要在不同的云計(jì)算基礎(chǔ)設(shè)施之間進(jìn)行故障轉(zhuǎn)移。由于業(yè)務(wù)敏捷性和市場(chǎng)競(jìng)爭(zhēng),企業(yè)面臨著將業(yè)務(wù)遷移到云平臺(tái)以及快速遷移的壓力。但重要的是,無(wú)論他們面臨多大的數(shù)字中斷風(fēng)險(xiǎn),都要花費(fèi)時(shí)間創(chuàng)建和實(shí)施他們的云計(jì)算戰(zhàn)略。畢竟,一些企業(yè)可能做出的錯(cuò)誤決定(例如所使用云計(jì)算提供商的云服務(wù)或應(yīng)該將多少業(yè)務(wù)轉(zhuǎn)移到云平...
摘要:工作人員需要注意與分區(qū)操作系統(tǒng)和映像格式的兼容性問(wèn)題,以確保順利遷移。企業(yè)在虛擬機(jī)遷移過(guò)程中需要檢查云計(jì)算兼容性,以確保虛擬機(jī)移動(dòng)到公共云時(shí)盡可能不受干擾。 將虛擬機(jī)(VM)移動(dòng)到公共云時(shí)可能會(huì)出現(xiàn)許多兼容性問(wèn)題。工作人員需要注意與分區(qū)、操作系統(tǒng)和映像格式的兼容性問(wèn)題,以確保順利遷移。?企業(yè)在虛擬機(jī)遷移過(guò)程中...
摘要:工作人員需要注意與分區(qū)操作系統(tǒng)和映像格式的兼容性問(wèn)題,以確保順利遷移。企業(yè)在虛擬機(jī)遷移過(guò)程中需要檢查云計(jì)算兼容性,以確保虛擬機(jī)移動(dòng)到公共云時(shí)盡可能不受干擾。 將虛擬機(jī)(VM)移動(dòng)到公共云時(shí)可能會(huì)出現(xiàn)許多兼容性問(wèn)題。工作人員需要注意與分區(qū)、操作系統(tǒng)和映像格式的兼容性問(wèn)題,以確保順利遷移。?企業(yè)在虛擬機(jī)遷移過(guò)程中需要檢查云計(jì)算兼容性,以確保虛擬機(jī)移動(dòng)到公共云時(shí)盡可能不受干擾。?在理想情況下,任何...
閱讀 1337·2023-04-26 01:03
閱讀 1974·2021-11-23 09:51
閱讀 3337·2021-11-22 15:24
閱讀 2691·2021-09-22 15:18
閱讀 1042·2019-08-30 15:55
閱讀 3555·2019-08-30 15:54
閱讀 2305·2019-08-30 15:53
閱讀 2419·2019-08-30 15:44