數據工程師必備的雲計算技術 Cloud Computing for Data Analysis: The missing semester of Data Science

Noah Gift 劉紅泉 譯

買這商品的人也買了...

商品描述

本書以項目為基礎,全面介紹如何將雲計算應用於數據分析,內容涵蓋大數據和機器學習。
首先討論異步技術並介紹雲計算基礎知識以及虛擬化、容器化和彈性化,
然後討論分佈式計算、無服務器ETL技術和可管理的機器學習系統,還展示了數據科學案例研究,
作者還分享了一些見解以及對職業化規劃的建議。
本書包含大量的實踐作業,使用了豐富的資源,包括Python在雲平台(谷歌、AWS、Azure)上的交互式實驗室。

作者簡介

Noah Gift

加州大學戴維斯分校管理研究生院MSBA項目的講師和顧問。
Noah擁有大約20年的Python編程經驗,是Python軟件基金會成員。
他曾在多家公司擔任過首席技術官、總經理、諮詢首席技術官和雲架構師。
目前,他正在為初創企業和其他公司提供機器學習和雲架構方面的諮詢,
並通過Noah Gift Consulting從事CTO級別的諮詢工作。
他已經出版了近100種技術出版物,其中包括兩本關於從雲機器學習到DevOps的書籍。
他還是一名已認證的AWS解決方案架構師。

目錄大綱

前 言
第1章 開始 1
1.1 有效的異步技術討論 1
1.1.1 可複制代碼 1
1.1.2 音頻、視頻和圖像 5
1.1.3 製作一次,重複使用多次 6
1.1.4 技術討論作為一種主動學習的形式 6
1.1.5 結論 6
1.1.6 練習:創造技術性帖子 6
1.2 有效的異步技術項目管理 7
1.2.1 為什麼軟件項目失敗了 7
1.2.2 如何按時交付高質量的軟件 7
1.2.3 其他高失敗率的例子 9
1.2.4 練習:為最終項目創建一個技術項目計劃 10
1.3 上AWS、GCP和Azure雲 10
1.3.1 AWS 10
1.3.2 微軟的Azure 12
1.3.3 GCP 16
1.3.4 練習:設置CI雲 18
1.3.5 練習:上雲實驗室 19
1.3.6 高級案例研究:使用Docker和CircleCI從零開始建立雲環境持續集成 19
1.3.7 使用Docker容器來擴展Makefile的使用 23
1.4 總結 24
1.5 其他相關資源 25

第2章 雲計算基礎 26
2.1 為什麼應該考慮使用基於雲的開發環境 26
2.2 雲計算概述 27
2.2.1 雲計算的經濟效益 27
2.2.2 雲服務模型:SaaS、PaaS、IaaS、MaaS、Serverless 27
2.3 PaaS持續交付 29
2.3.1 谷歌應用引擎和雲構建持續交付 29
2.3.2 建立多種類型的網站 36
2.3.3 練習:創建四個網站 39
2.4 基礎設施即代碼 39
2.5 什麼是持續交付和持續部署 40
2.6 從零開始持續交付Hugo靜態站點 40
2.7 總結 60

第3章 虛擬化、容器化和彈性化 61
3.1 彈性資源 61
3.2 容器:Docker 63
3.2.1 Docker入門 63
3.2.2 容器的真實例子 65
3.2.3 運行Docker容器 66
3.2.4 容器註冊表 69
3.2.5 在AWS Cloud9上從零開始構建容器化應用 69
3.2.6 練習:在AWS Cloud9中構建Hello World容器 72
3.3 Kubernetes 72
3.3.1 安裝Kubernetes 73
3.3.2 Kubernetes概述 73
3.3.3 自動伸縮的Kubernetes 77
3.3.4 雲中的Kubernetes 78
3.3.5 混合雲和多雲Kubernetes 78
3.3.6 Kubernetes總結 79
3.4 運行微服務概述 79
3.4.1 創建有效的報警 82
3.4.2 Prometheus入門 84
3.4.3 使用Flask創建Locust負載測試 86
3.4.4 微服務的無服務器最佳實踐、災難恢復和備份 88
3.5 練習:運行Kubernetes Engine 89
3.6 總結 90

第4章 分佈式計算的挑戰和機遇 91
4.1 最終一致性 91
4.2 CAP定理 92
4.3 阿姆達爾定律 92
4.4 彈性 93
4.5 高可用 93
4.6 摩爾定律的終結 94
4.7 ASIC:GPU、TPU、FPGA 95
4.7.1 ASIC、CPU與GPU 95
4.7.2 使用GPU和JIT 97
4.7.3 練習:GPU編程 100
4.8 總結 100

第5章 雲存儲 101
5.1 雲存儲類型 101
5.2 數據治理 103
5.3 雲數據庫 104
5.4 鍵-值數據庫 105
5.5 圖形數據庫 106
5.5.1 為什麼不是關係型數據庫而是圖形數據庫 107
5.5.2 AWS Neptune 107
5.5.3 Neo4j 108
5.5.4 大數據的三個“V” 116
5.6 批處理數據與流數據和機器學習 117
5.7 雲數據倉庫 118
5.8 GCP BigQuery 118
5.9 AWS Redshift 123
5.9.1 Redshift工作流中的關鍵操作 123
5.9.2 AWS Redshift總結 124
5.10 總結 124

第6章 無服務器ETL技術 125
6.1 AWS Lambda 125
6.2 使用AWS Cloud9開發AWS Lambda函數 128
6.2.1 構建一個API 128
6.2.2 構建一個無服務器數據工程管道 129
6.2.3 使用AWS Lambda在AWS S3桶上實現計算機視覺 130
6.2.4 練習:AWS Lambda Step Function 130
6.3 函數即服務 131
6.4 AWS Lambda的Chalice框架 132
6.5 谷歌云函數 133
6.6 Azure Flask無服務器機器學習 141
6.7 Cloud ETL 142
6.8 使用ETL從零開始構建社交網絡的現實問題 143
6.8.1 冷啟動問題 143
6.8.2 從零開始構建社交網絡機器學習管道 144
6.8.3 案例研究:如何構建一個新聞提要 146
6.9 總結 146

第7章 可管理的機器學習系統 147
7.1 Jupyter Notebook工作流 147
7.2 AWS Sagemaker概述 152
7.2.1 AWS Sagemaker彈性架構 152
7.2.2 練習:使用Sagemaker 152
7.3 Azure ML Studio概述 154
7.4 谷歌AutoML計算機視覺 154
7.5 總結 155

第8章 數據科學案例研究和項目 156

第9章 隨筆 163
9.1 為什麼在2029年前將不會有數據科學這個職位 163
9.2 利用教育的拆分 165
9.3 垂直集成的AI棧將如何影響IT機構 168
9.4 notebook來了 170
9.5 雲原生機器學習和AI 172
9.6 到2021年會培訓100萬人 174
9.6.1 高等教育的現狀將會被打破 175
9.6.2 地方就業市場將會被打破 179
9.6.3 招聘流