得益于CTO、CEO和CDO們積極的推動,IT基礎設施正在向云環境遷移,底層架構師則在熱烈討論圍繞著云原生應用的SaaS、PaaS和微服務架構,而開發者們正在大顯身手,努力探索云計算的魔盒,找出什么是對業務有價值的,什么又是不需要的。
尚志網站制作公司哪家好,找創新互聯建站!從網頁設計、網站建設、微信開發、APP開發、響應式網站開發等網站項目制作,到程序開發,運營維護。創新互聯建站2013年至今到現在10年的時間,我們擁有了豐富的建站經驗和運維經驗,來保證我們的工作的順利進行。專注于網站建設就選創新互聯建站。之所在云上花費這大精力,云應用所具備的獨特功能居功至偉,例如支持高度可擴展和靈活的分布式架構,可以在多云環境中輕松遷移,但云應用從開發到落地生產環境,需要許多不同的工具和技術來提供強有力的支持。本文將討論云環境中能夠大化發揮云計算優勢的新方法、新工具。
函數式編程
假設我們希望開發具有高度可伸縮基礎設施的服務來支持IoT和ybig data平臺,函數式編程是一項值得考慮的選擇。不同于大多數人所熟知的編程范式,函數式編程不需要維護全局狀態,只需要將輸入數據傳給函數即可,適合用于驗證新想法。很多頂級云供應商目前都已經支持函數式編程。
選擇開發語言
在云平臺上開發微服務架構時,啟動時間(startup time)、內存效率(memory efficiency)、二進制大?。╞inary size)和并發性(consurrency)是關鍵因素。
Go——Go語言對于云計算來說,是一種優秀的選擇,它具備兵法、輕量級、靜態類型和編譯語言等特性。據了解,英國的一家銀行(Monzo)完全使用Go語言實現微服務架構來構建完整的銀行體系結構。
Java——大多數應用都是用Java開發的,Java也擁有大量的開發者社區基礎。Spring Boot和Java modules(JDK-9.0~)是云原生架構的最佳選擇之一。這是將以遺留系統遷移到云平臺的良好開端。
.net core——微軟已經很久沒有支持開源社區了,這也是很多公司不采用.net core的原因之一。當然微軟總是致力于提供無bug的工具、簡單的語法和良好的教程,他們最近也意識到,開源可以為Azure cloud提供更多的創新和業務??偠灾?,.net core是Azure云平臺上的最佳選擇之一。
R Math——數據科學(data science)正在席卷整個計算機世界,但卻沒有一種新的語言可以用來解決數據科學難題(統計和數學)。由于云計算可以以低成本提供計算能力,業界正試圖用舊的技術工具來解決人工智能難題。R是S編程語言的實現。S創建于1976年,R library實現統計和數學功能。
Python——Python支持多種編程范例和強類型檢查。它易于學習,有強大的分析庫,并得到了開源社區的大力支持,這也是Python吸引數據科學家的原因之一。
選擇存儲
大規模伸縮前端服務時,嘗試使用連接池與RDBMS數據庫進行通信可能無法滿足實際的用例需求,需要我們選擇以云為中心(cloud-centric)的數據庫來構建強大的存儲平臺。
Amazon DynamoDB——提供了任何級別的single-digit-millisecond延遲,數據以NoSQL格式存儲,支持文檔、鍵值存儲模型和構建圖形數據庫。
Azure Cosmos DB——支持具有水平擴展的全局分布式數據庫。以NoSQL格式存儲的數據,保證了99%的single-digit-millisecond延遲。它不僅支持文檔、圖形、鍵值、表和列族數據模型,還支持擴展到多種語言的API支持。
MongoDB——MongoDB是NoSQL DB的早期版本之一,對于客戶來說是非常好的開源存儲,并且具有不錯的成本效益模型。
IBM Cloudera DB——Cassandra是Cloudera的基礎數據庫,它支持基于java的api來與NoSQL數據庫通信。
Oracle NoSQL DB——oracle NoSQL DB并支持水平負載均衡和節點擴展。
Service Mesh微服務架構
微服務架構在帶來諸多好處的同時,也帶來了處理故障、路由和服務發現方面的挑戰。因此,在大規模構建以云為中心的服務時,不妨考慮Service Mesh微服務架構。
什么是Service Mesh微服務架構
Service Mesh是用于處理服務間通信的基礎設施層,用于在云原生應用復雜的服務拓撲中實現可靠的請求傳遞。在實踐中,Service Mesh通常是一組與應用一起部署,但對應用透明的輕量級網絡代理。簡單來說,Service Mesh是微服務通信的代理層。
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為服務之間通信提供支持,并為訪問微服務提供抽象層,具有服務發現、負載均衡、斷路、動態請求路由和分布式跟蹤等特性。
Envoy——最初在其內部使用,而今作為Service Mesh解決方案開放了源代碼。不過Envoy并不是為Kubernetes設計的。
Istio——Istio使用負載均衡服務創建已部署服務的網絡以進行服務身份驗證。服務監視是它支持的關鍵特性之一。
Rainbond——Service Mesh微服務架構是開源PaaS Rainbond在v3.6.0版本中的重點新增特性,可以開箱即用。Rainbond通過插件式擴展來實現治理功能,并對spring cloud、api gateway、dubbo等微服務架構框架有良好支持。
消息層
IoT是所有行業都在關注的增長領域。相信不少人都聽說過,數據是一種新的石油這句話。自動駕駛、移動設備等等,每天都會向云平臺輸送大量數據。事件源(event sourcing)是捕獲完整在線用戶活動的另一個領域……種種情形和需求,讓數據流工具成為眾多企業必不可少的一部分。
Kafka——Kafka是一款基于發布/訂閱的分布式消息系統,于2011年成為Apache的孵化項目,隨后于2012年成為Apache的主要項目之一。Kafka使用Scala和Java進行編寫,因其快速、可擴展的、高吞吐、可容錯的特點而逐漸成為一項廣泛使用的技術,適合在messaging、website activity tracking、log aggregation等大規模消息處理場景中使用。
Kinesis——Amazon Kinesis可讓您輕松收集、處理和分析實時流數據,以便您及時獲得見解并對新信息快速做出響應。Amazon Kinesis 提供多種核心功能,可以經濟高效地處理任意規模的流數據,同時具有很高的靈活性,讓您可以選擇最符合應用程序需求的工具。
容器/架構即代碼
容器化是對在云環境中運行應用和依賴的打包,即其中包含代碼、環境變量、庫等等。容器可以在任意云環境中運行,并為大規模遷移到不同云環境中提供靈活性。
Docker——Docker為封裝和分發容器應用提供了一個開放的標準。Docker engine用于構建和運行容器,而Docker鏡像一般存儲在Docker hub中。
Kubernetes——Kubernetes現下已成為容器編排的標準,在Docker技術的基礎上,為容器化的應用提供部署運行、資源調度、服務發現和動態伸縮等一系列完整功能,提高了大規模容器集群管理的便捷性。
總結
以上工具和技術只是云平臺的開始,需要企業,尤其是大型企業在構建云平臺時,結合實際自身情況進行選擇,為應用開發、存儲、安全、日志記錄和調試、監視和測試創建合理的路線圖,這也是為開發人員增加生產力和實現目標提供清晰思路的有效方法。
END -
開源PaaSRainbondv3.6.0現已發布,新增Service Mesh微服務架構開箱即用,通過插件式擴展來實現治理功能,并支持spring cloud、api gateway、dubbo等主流微服務架構。
當前標題:關于云平臺,開發者需要做哪些準備?
網頁鏈接:http://m.newbst.com/article38/decsp.html
成都網站建設公司_創新互聯,為您提供品牌網站建設、網站維護、響應式網站、網站排名、網站設計公司、網站設計
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯