關(guān)于云平臺(tái),開發(fā)者需要做哪些準(zhǔn)備?

得益于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à)值的,什么又是不需要的。

尚志網(wǎng)站制作公司哪家好,找創(chuàng)新互聯(lián)建站!從網(wǎng)頁設(shè)計(jì)、網(wǎng)站建設(shè)、微信開發(fā)、APP開發(fā)、響應(yīng)式網(wǎng)站開發(fā)等網(wǎng)站項(xiàng)目制作,到程序開發(fā),運(yùn)營(yíng)維護(hù)。創(chuàng)新互聯(lián)建站2013年至今到現(xiàn)在10年的時(shí)間,我們擁有了豐富的建站經(jīng)驗(yàn)和運(yùn)維經(jīng)驗(yàn),來保證我們的工作的順利進(jìn)行。專注于網(wǎng)站建設(shè)就選創(chuàng)新互聯(lián)建站

之所在云上花費(fèi)這大精力,云應(yīng)用所具備的獨(dú)特功能居功至偉,例如支持高度可擴(kuò)展和靈活的分布式架構(gòu),可以在多云環(huán)境中輕松遷移,但云應(yīng)用從開發(fā)到落地生產(chǎn)環(huán)境,需要許多不同的工具和技術(shù)來提供強(qiáng)有力的支持。本文將討論云環(huán)境中能夠大化發(fā)揮云計(jì)算優(yōu)勢(shì)的新方法、新工具。

函數(shù)式編程

假設(shè)我們希望開發(fā)具有高度可伸縮基礎(chǔ)設(shè)施的服務(wù)來支持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ā)語言

在云平臺(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語言對(duì)于云計(jì)算來說,是一種優(yōu)秀的選擇,它具備兵法、輕量級(jí)、靜態(tài)類型和編譯語言等特性。據(jù)了解,英國(guó)的一家銀行(Monzo)完全使用Go語言實(shí)現(xiàn)微服務(wù)架構(gòu)來構(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)很久沒有支持開源社區(qū)了,這也是很多公司不采用.net core的原因之一。當(dāng)然微軟總是致力于提供無bug的工具、簡(jiǎn)單的語法和良好的教程,他們最近也意識(shí)到,開源可以為Azure cloud提供更多的創(chuàng)新和業(yè)務(wù)??偠灾?net core是Azure云平臺(tái)上的最佳選擇之一。

R Math——數(shù)據(jù)科學(xué)(data science)正在席卷整個(gè)計(jì)算機(jī)世界,但卻沒有一種新的語言可以用來解決數(shù)據(jù)科學(xué)難題(統(tǒng)計(jì)和數(shù)學(xué))。由于云計(jì)算可以以低成本提供計(jì)算能力,業(yè)界正試圖用舊的技術(shù)工具來解決人工智能難題。R是S編程語言的實(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)大的分析庫,并得到了開源社區(qū)的大力支持,這也是Python吸引數(shù)據(jù)科學(xué)家的原因之一。

選擇存儲(chǔ)

大規(guī)模伸縮前端服務(wù)時(shí),嘗試使用連接池與RDBMS數(shù)據(jù)庫進(jìn)行通信可能無法滿足實(shí)際的用例需求,需要我們選擇以云為中心(cloud-centric)的數(shù)據(jù)庫來構(gòu)建強(qiáng)大的存儲(chǔ)平臺(tái)。

Amazon DynamoDB——提供了任何級(jí)別的single-digit-millisecond延遲,數(shù)據(jù)以NoSQL格式存儲(chǔ),支持文檔、鍵值存儲(chǔ)模型和構(gòu)建圖形數(shù)據(jù)庫。

Azure Cosmos DB——支持具有水平擴(kuò)展的全局分布式數(shù)據(jù)庫。以NoSQL格式存儲(chǔ)的數(shù)據(jù),保證了99%的single-digit-millisecond延遲。它不僅支持文檔、圖形、鍵值、表和列族數(shù)據(jù)模型,還支持?jǐn)U展到多種語言的API支持。

MongoDB——MongoDB是NoSQL DB的早期版本之一,對(duì)于客戶來說是非常好的開源存儲(chǔ),并且具有不錯(cuò)的成本效益模型。

IBM Cloudera DB——Cassandra是Cloudera的基礎(chǔ)數(shù)據(jù)庫,它支持基于java的api來與NoSQL數(shù)據(jù)庫通信。

Oracle NoSQL DB——oracle NoSQL DB并支持水平負(fù)載均衡和節(jié)點(diǎn)擴(kuò)展。

Service Mesh微服務(wù)架構(gòu)

微服務(wù)架構(gòu)在帶來諸多好處的同時(shí),也帶來了處理故障、路由和服務(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)單來說,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ù)提供抽象層,具有服務(wù)發(fā)現(xiàn)、負(fù)載均衡、斷路、動(dòng)態(tài)請(qǐng)求路由和分布式跟蹤等特性。

Envoy——最初在其內(nèi)部使用,而今作為Service Mesh解決方案開放了源代碼。不過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通過插件式擴(kuò)展來實(shí)現(xiàn)治理功能,并對(duì)spring cloud、api gateway、dubbo等微服務(wù)架構(gòu)框架有良好支持。

消息層

IoT是所有行業(yè)都在關(guān)注的增長(zhǎng)領(lǐng)域。相信不少人都聽說過,數(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)境變量、庫等等。容器可以在任意云環(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 -

開源PaaSRainbondv3.6.0現(xiàn)已發(fā)布,新增Service Mesh微服務(wù)架構(gòu)開箱即用,通過插件式擴(kuò)展來實(shí)現(xiàn)治理功能,并支持spring cloud、api gateway、dubbo等主流微服務(wù)架構(gòu)。

當(dāng)前標(biāo)題:關(guān)于云平臺(tái),開發(fā)者需要做哪些準(zhǔn)備?
網(wǎng)頁鏈接:http://muchs.cn/article38/decsp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站建設(shè)、網(wǎng)站維護(hù)響應(yīng)式網(wǎng)站、網(wǎng)站排名網(wǎng)站設(shè)計(jì)公司、網(wǎng)站設(shè)計(jì)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

成都seo排名網(wǎng)站優(yōu)化