你必須知道的雲端計算知識(下)
最近訂閱學習了《深入淺出雲端計算》專欄,一口氣學完之後,做了一些總結筆記形成此文,特分享與你,希望對你有所幫助!本文為下半部分,主要總結了PaaS篇的核心要點。
一、PaaS篇
1、正確評估和理解PaaS
PaaS的核心概念是Platform-as-a-Service,即雲端計算提供的平臺類服務。它是抽象和可複用的單元,讓使用者將更多精力放在業務邏輯上。
PaaS的核心優勢在於生產力/效率,尤其體現在搭建和運維層面。
怎樣學習和研究PaaS呢?可以參照以下幾個維度:
(1)第一維度:服務是否帶有內生的執行環境;
(2)第二維度:PaaS服務存在的位置和範圍及給予你的控制粒度;
(3)第三維度:服務是否是“有狀態的”;
(4)第四維度:支援PaaS的虛擬機器是否對外暴露;
怎樣衡量和評估PaaS呢?由於PaaS的核心在於封裝,既帶來了效率優勢也帶來了靈活性上的犧牲,因此我們需要檢查PaaS服務的限制,它們有:功能遮蔽、版本選擇、效能極限、更新頻率、版本陷阱;
此外,當雲上官方的PaaS不滿足需求時也可以考慮第三方PaaS。
2、物件儲存服務
物件儲存的主要功能:它是雲上建立的一種“網盤”,可以儲存任意結構化的和非結構化的二進位制檔案,使用者可以隨時上傳下載、修改刪除。物件儲存服務保證了資料的可靠性、可用性和擴充套件性。
物件儲存和雲硬碟的區別:
(1)訪問的介面和形式不同 => 雲硬碟作為虛擬機器的塊儲存裝置而存在,物件儲存本質是一個網路化的服務;
(2)物件儲存內本身不存在一個真正的檔案系統,它是一個鍵值形式的儲存服務;
(3)物件儲存的巨大容量,能夠輕鬆容納PB級的大容量資料;
物件儲存的高階特性:
(1)儲存分層 => 設定訪問頻率從高頻到低頻等不同的儲存級別;
(2)生命週期管理 => 允許設定一定的過期規則,自動執行一些清理操作;
(3)物件的版本管理 => 啟用此特性會自動記錄版本號以便進行回滾和恢復;
總的來說,物件儲存的應用場景就是一切需要儲存資料的地方!
3、應用託管服務
正確理解應用託管服務
應用託管服務本質是為應用提供一個隔離的獨立執行環境,讓使用者只專注於業務邏輯而無須關注運維。
目前主流雲廠商的該項服務的產品有:AWS ElasticBeanstalk、阿里雲Web應用託管服務(Web+)、Azure應用服務(Azure App Service)。
應用託管的增值服務
(1)監控:針對Web應用的特點而進行的HTTP層面的監控,基於這些監控指標可以指定相應的報警規則;
(2)擴充套件:既包含了底層機器配置的垂直擴充套件,也包含了機器數量層面的水平擴充套件;
(3)整合:與其他PaaS服務的整合很方便,與雲上DevOps元件和流程的無縫對接;
4、雲上資料庫服務
理解資料庫服務
資料庫PaaS服務是將資料庫服務搬到雲上,讓使用者更方便輕鬆地使用、管理和維護資料庫。
資料庫PaaS服務和傳統關係型資料庫的共同點:外部互動層面,保持了和原版資料庫幾乎一致的程式設計介面和使用體驗。
和傳統關係型資料庫的差異點:搭建、運維和管理層面實現了相當程度的智慧化和自動化,極大提升使用者友好度,降低使用門檻。
雲上資料庫最具代表的高階特性:
(1)支援讀寫分離 => 只需在後臺略加操作配置即可完成;
(2)支援自動調優 => 自帶有效能分析和改進模組幫助發現效能熱點;
新一代雲原生資料庫
目前主流雲原生資料庫產品有:AWS Aurora、阿里雲 PolarDB、Azure Cosmos DB;
目前雲原生資料庫的特點:
(1)更強的可擴充套件性 => 儲存規模和算力;
(2)更高的可用性和可靠性 => 預設多副本高可用;
(3)支援多種資料模型 => 相容關係型與NoSQL;
(4)低成本啟動 => 自然地跟隨業務增長,經濟適用;
資料庫服務為何能不斷佔領市場
除了上面提到的易用性和豐富功能性外,雲廠商能夠端到端地掌控影響一個數據庫的設計和效能的所有因素,為它配備了最新最好的軟硬體組合。
藉助雲端計算平臺,雲資料庫擁有非常好的流量入口,Gartner甚至大膽預測到2023年全球3/4的資料庫都會跑在雲上!
使用雲資料庫的建議
如果是老的應用遷移/與自建資料庫保持高度相容性的場合 => 使用經典RDS服務
如果應用場景中資料量大、效能要求高/沒有歷史負擔 => 直接考慮雲原生資料庫服務
5、雲上大資料服務
理解雲上大資料服務
大資料是技術手段,而云是一種資源和能力的載體!如果雲是一艘航母,是一個大型綜合作戰品臺,那大資料就好比戰鬥機,在航母上就是艦載機。
雲上大資料的特點
(1)簡單易用,方便管理:大大降低了學習和應用大資料技術的門檻
(2)儘可能的保證了相容性:和熟知的大資料技術別無他樣
(3)解耦了大資料架構中的計算和儲存:儲存端一般優先選擇物件儲存,計算端叢集可以動態地建立和銷燬
(4)提供了很多增值服務:如效能監控、Jupyter Notebook等;
主流雲廠商的大資料服務
(1)大資料計算:AWS EMR、阿里雲 MaxCompute / E-MapReduce、Azure HDInsight
(2)大資料儲存:AWS S3(EMRFS)、阿里雲 OSS / JindoFS、Azure Blob Storage / Data Lake Storage Gen2
基於阿里雲MaxCompute的日誌大資料分析案例
6、雲上容器服務
容器和雲的關係
一方面,容器和雲是相輔相成的:雲承載著容器的執行,容器生態也驅動著雲的發展。
另一方面,容器與雲廠商力推的一些雲服務存在競爭和替代關係:其實部分PaaS服務也可以使用IaaS服務來實現,又如Google積極創立和發展CNCF推動容器應用標準化。
雲上Kubernetes服務的特點
(1)雲端的多租戶特性,可以免除在Master節點方面的開銷;
(2)雲廠商做了很多工作,使得K8s可以和IaaS/PaaS元件有很好的的整合;
(3)易部署多叢集,保證不同的叢集有更好的隔離性;
騰訊雲TKE產品架構
雲上容器映象服務
雲廠商都提供了自己的容器映象服務,如AWS ECR、Azure ACR等。
騰訊雲容器映象服務助力實現容器持續部署
全託管容器例項服務
“全託管”思想在容器服務商的體現有以下幾個點:
(1)不用關心底層基礎設施;
(2)AWS Fargate、阿里雲彈性容器例項等;
(3)適合有容器映象且想要儘快在雲上跑起來的場景;
Azure Container Instance容器例項服務建立容器例項
7、無伺服器計算服務
理解無伺服器計算
無伺服器:“無伺服器”是雲端計算中資源抽象的極致體現,使用者感覺不到伺服器的存在,可以專注於業務邏輯而不再關心基礎設施;
無伺服器計算服務:完全遮蔽計算資源,引導不再關心底層環境,主流的無伺服器計算服務有AWS Lambda、阿里雲函式計算 以及 Azure Functions。
無伺服器計算的計費機制
兩個指標:呼叫次數 和 呼叫時長。
適合場景:偶爾觸發、短時間執行的工作。
無伺服器計算是多面手
(1)事件模型是無伺服器的核心程式設計模型和執行邏輯;
(2)雲上Serverless服務一般都配套提供了多種多樣的觸發器;
(3)多樣的外部互動方式也讓無伺服器計算能夠對外訪問,並向下遊輸出;
(4)以工作流的方式進行雲函式等事件處理單元的組合和編排;
無伺服器計算服務的限制
無伺服器計算服務的主要限制還是在於它是一個受限的環境,比如:冷啟動的延時、記憶體的限制、雲函式的執行時長、併發數上限等等。
8、雲上AI服務
開箱即用的API服務
這類服務將非結構化資料處理分析的通用需求場景,進行了封裝和開放。非結構化資料包括:影象、視訊、語音、文字等等。
我們可以通過雲端標準的API和SDK來進行呼叫,一般按呼叫次數進行收費。
現在各領域的AI服務有:
(1)計算機視覺:人臉識別、物體檢測、OCR、安全掃描等;
(2)自然語言處理:機器翻譯、文字分析等;
(3)語音類智慧服務:語音識別、語音合成等;
(4)視訊類智慧服務:視訊分析、使用者內容審查等;
百度雲圖片識別服務識別到花瓶和水杯
構建自己的AI模型
實際應用中,很多企業都需要按照特定的需求來構建自己的定製模型,是普遍而常見的場景。
因此,雲廠商開始提供幫助使用者構建AI模型的基礎設施服務:
(1)主流的產品有:AWS SageMaker、Azure Machine Learning 以及 阿里雲機器學習平臺PAI;
(2)適合的物件由:資料科學家、演算法工程師;
此外,雲上機器學習服務可以幫助進行貫穿生命週期的模型構建和管理:
(1)資料準備:集成了資料標註相關的功能簡化操作難度;
(2)模型訓練:內建常見機器學習和深度學習演算法 以及 也相容開源的機器學習和深度學習框架;
(3)模型釋出和部署:簡化了模型部署和推理呼叫操作難度;
百度雲EasyDL定製化影象識別模型訓練報告
二、結束語
1、再看雲端計算
(1)雲端計算是一個載體和平臺,承載著從IaaS到PaaS林林總總的能力;
(2)每項能力中既包含了資源,也體現了技術,並且以產品和服務的形態開放;
(3)雲的承載性是雲得以包羅永珍,並且與時俱進的根本原因;
2、雲原生的本質
(1)雲原生的本質是用於構建現代雲端應用的一系列架構理念,以及幫助這些理念落地的技術支撐和最佳實踐;
(2)雲原生的核心理念包括無狀態、分散式、服務化、彈性擴充套件等等;
(3)雲原生的狹義的定義:特指容器化、容器編排和微服務架構,此外雲廠商在宣傳K8s服務和產品時所說的“雲原生”;
(4)雲原生的廣義視角:只要是適合在雲上執行,具備和符合雲上架構特點的應用,都可以說是屬於“雲原生”範疇;
3、面向未來的建議
(1)跟隨雲的發展腳步來不斷提升自己:比如考取雲廠商的認證(比如阿里雲ACP認證)、參加雲端計算大會、積極參與雲生態等;
(2)用雲來構建和開展你的業務:讓雲在手中發揮最大的作用和價值,抓住機會上雲用效率贏取競爭優勢;
三、腦圖分享
點此檢視完整腦圖
參考資料
何愷鐸,極客時間《深入淺出雲端計算》專欄(推薦訂閱學習)
作者:周旭龍
出處:https://edisonchou.cnblogs.com
本文版權歸作者和部落格園共有,歡迎轉載,但未經作者同意必須保留此段宣告,且在文章頁面明顯位置給出原文連結。