你必須知道的雲計算知識(下)
- 2020 年 6 月 15 日
- 筆記
- 【016】雲計算與大數據, PaaS, 雲計算
最近訂閱學習了《深入淺出雲計算》專欄,一口氣學完之後,做了一些總結筆記形成此文,特分享與你,希望對你有所幫助!本文為下半部分,主要總結了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)用雲來構建和開展你的業務:讓雲在手中發揮最大的作用和價值,抓住機會上雲用效率贏取競爭優勢;
三、腦圖分享
參考資料
何愷鐸,極客時間《深入淺出雲計算》專欄(推薦訂閱學習)