幫助中心 | 我的帳號 | 關於我們

雲原生落地(企業級DevOps實踐)

  • 作者:應闊浩//李建宇//付天時//趙耀|責編:韓蕊
  • 出版社:機械工業
  • ISBN:9787111710455
  • 出版日期:2022/08/01
  • 裝幀:平裝
  • 頁數:386
人民幣:RMB 109 元      售價:
放入購物車
加入收藏夾

內容大鋼
    這是一本指導企業如何向雲原生架構轉型的實戰性著作。
    經過2年多的改造,自如的技術架構成功實現向雲原生架構轉型,大幅度提高了服務穩定性和開發效率,同時降低了運維成本,因此自如的雲原生實踐也成為行業公認的標桿。
    自如的核心技術團隊在本書中對他們的雲原生實踐的完整過程進行了深度復盤,詳細闡述了雲原生架構下Kubernetes的組件選型、企業級PaaS平台開發、CI/CD的Z佳實踐、服務網格的平滑落地,並結合實際的案例把雲原生實踐過程中的思考、得失融入其中,助力企業更優雅地實現雲原生架構的落地。
    通過閱讀本書,你將獲得以下知識:
    透徹理解雲原生的發展歷程與意義;
    了解雲原生實踐應重點關注哪些方向;
    Kubernetes管理後台、關鍵組件選型以及定製化開發;
    如何研發自定義的企業級Paas平台;
    如何設計持續集成的環境與分支選型;
    如何打造一個一流的CI/CD平台;
    如何選擇流水線工具;
    如何設計企業級的持續部署平台;
    如何為工程師打造NPS高的配套工具;
    如何去通過服務網格解決通用的熔斷、限流問題;
    如何運營和推廣雲原生平台,讓它100%落地。

作者介紹
應闊浩//李建宇//付天時//趙耀|責編:韓蕊

目錄
讚譽

前言
第一部分  雲原生基礎
  第1章  雲原生概述
    1.1  雲原生的概念
      1.1.1  初識雲原生
      1.1.2  官方的定義
    1.2  雲原生的特性
    1.3  微服務
      1.3.1  微服務與單體架構的區別
      1.3.2  什麼是微服務
      1.3.3  微服務架構的優點
    1.4  容器化
      1.4.1  虛擬化與容器化的區別
      1.4.2  容器化的核心原理
      1.4.3  Docker的優點
    1.5  編排
      1.5.1  為什麼要有編排
      1.5.2  什麼是編排
      1.5.3  編排的優點
    1.6  CI/CD
      1.6.1  CI/CD誕生的背景
      1.6.2  什麼是CI/CD
      1.6.3  CI/CD的優點
    1.7  服務網格
      1.7.1  服務網格誕生的背景
      1.7.2  什麼是服務網格
      1.7.3  服務網格的優點
    1.8  不可變基礎設施和聲明式API
      1.8.1  什麼是不可變基礎設施
      1.8.2  可變與不可變基礎設施之間的差異
      1.8.3  不可變基礎設施的優點
    1.9  本章小結
  第2章  自如架構演進
    2.1  技術架構的演進
      2.1.1  架構的定義與分類
      2.1.2  單體架構
      2.1.3  分散式架構
      2.1.4  微服務架構
      2.1.5  中台架構
    2.2  自如的技術發展史
      2.2.1  業務背景介紹
      2.2.2  自如的技術演進過程
      2.2.3  當前技術架構
    2.3  自如技術架構遇到的問題
      2.3.1  穩定性問題
      2.3.2  研發效率問題
      2.3.3  流程體系問題
    2.4  本章小結

  第3章  開啟雲原生之路
    3.1  制定雲原生戰略
      3.1.1  行業趨勢分析
      3.1.2  戰略方向分析
    3.2  建設DevOps體系
      3.2.1  DevOps體系的發展方向
      3.2.2  開發能力差距分析
      3.2.3  建設DevOps體系的路線圖
    3.3  從KVM遷移到Docker
      3.3.1  現狀分析
      3.3.2  按環境遷移
      3.3.3  按業務線遷移
    3.4  本章小結
  第4章  Docker的基礎知識與核心原理
    4.1  容器與Docker
      4.1.1  虛擬化技術
      4.1.2  容器技術
      4.1.3  Docker架構
      4.1.4  Docker安裝與命令
      4.1.5  Docker常用命令
    4.2  鏡像管理
      4.2.1  什麼是鏡像
      4.2.2  鏡像倉庫服務
      4.2.3  鏡像的創建與操作
      4.2.4  Dockerf?ile
    4.3  Docker網路管理
    4.4  容器核心原理
      4.4.1  Namespace資源隔離
      4.4.2  Cgroups資源限制
      4.4.3  聯合文件系統
      4.4.4  runC
    4.5  本章小結
第二部分  雲原生落地
  第5章  Kubernetes基礎知識
    5.1  初識Kubernetes
      5.1.1  Kubernetes架構
      5.1.2  Kubernetes核心概念
      5.1.3  Kubernetes設計理念
    5.2  Kubernetes資源對象
      5.2.1  Pod
      5.2.2  集群資源管理
      5.2.3  控制器
      5.2.4  Service
    5.3  Kubernetes網路體系
      5.3.1  Kubernetes網路模型
      5.3.2  Kubernetes網路的主要實現方案
      5.3.3  Kubernetes網路中Pod的通信
    5.4  存儲體系
      5.4.1  ETCD
      5.4.2  Conf?igMap

      5.4.3  Volume
      5.4.4  Persistent Volume
      5.4.5  Storage Class
    5.5  命令工具
      5.5.1  集群管理
      5.5.2  集群維護
    5.6  生產級高可用Kubernetes集群方案
      5.6.1  Kubernetes部署方案
      5.6.2  Kubernetes部署架構
      5.6.3  Kubernetes多集群部署架構
    5.7  本章小結
  第6章  運維管理後台方案選型
    6.1  Wayne
    6.2  Rancher
    6.3  常用公有雲
      6.3.1  阿里雲
      6.3.2  騰訊雲
      6.3.3  華為雲
    6.4  運維管理方案對比
    6.5  本章小結
  第7章  雲原生基礎組件選型
    7.1  持久化存儲方案
      7.1.1  存儲的選型
      7.1.2  Ceph在Kubernetes中的使用
    7.2  鏡像管理
      7.2.1  高可用鏡像方案
      7.2.2  鏡像清理策略
    7.3  Ingress實戰
      7.3.1  什麼是Ingress-nginx
      7.3.2  多集群多機房高可用負載均衡架構設計
    7.4  日誌採集和展示
      7.4.1  雲原生下日誌採集的3種方式
      7.4.2  日誌採集設計思路
      7.4.3  日誌效果展示
      7.4.4  注意事項和思考
    7.5  監控告警
      7.5.1  Prometheus Operator
      7.5.2  告警系統的存儲選型
    7.6  網路方案
      7.6.1  Flannel網路
      7.6.2  Calico網路
      7.6.3  直接路由
      7.6.4  網路方案對比
      7.6.5  直接路由方案落地實踐
    7.7  本章小結
  第8章  Kubernetes開發實戰
    8.1  初識client-go
      8.1.1  client-go客戶端對象
      8.1.2  KubeConf?ig集群配置
    8.2  client-go核心組件Informer

      8.2.1  Informer介紹
      8.2.2  Informer的架構設計
      8.2.3  面向用戶的Informer資源
      8.2.4  Ref?lector
      8.2.5  DeltaFIFO
      8.2.6  Indexer
      8.2.7  WorkQueue
      8.2.8  EventBroadcaster
      8.2.9  大管家Controller
    8.3  client-go實戰開發
      8.3.1  連接Kubernetes集群
      8.3.2  對Kubernetes資源對象進行增刪改查
      8.3.3  併發控制
    8.4  本章小結
  第9章  使用client-go構建企業級PaaS平台
    9.1  PaaS平台常用功能實戰
      9.1.1  申請應用的資源
      9.1.2  應用活性檢測策略
      9.1.3  展示應用容器狀態
      9.1.4  離線故障應用容器
      9.1.5  重啟應用容器
    9.2  PaaS平台進階功能實戰
      9.2.1  容器Web終端
      9.2.2  發布完成通知
    9.3  PaaS平台企業級發布功能開發實戰
      9.3.1  灰度發布
      9.3.2  雲原生下金絲雀發布的實現原理
      9.3.3  佳實踐
      9.3.4  Kubernetes Operator預熱基礎概念
      9.3.5  開發一個生產級金絲雀Operator
    9.4  本章小結
第三部分  雲原生髮布平台
  第10章  元數據管理
    10.1  應用管理
    10.2  環境管理
      10.2.1  開發環境和臨時環境
      10.2.2  測試環境與穩定環境
      10.2.3  日常環境
      10.2.4  預發環境
      10.2.5  生產環境和Beta環境
      10.2.6  環境的後台實現
    10.3  資源管理
    10.4  配置管理
      10.4.1  配置文件管理
      10.4.2  配置中心
    10.5  本章小結
  第11章  分支管理
    11.1  分支模型的選擇
      11.1.1  Gitf?low
      11.1.2  主幹開發模型

      11.1.3  Aone Flow
    11.2  實踐Aone Flow的準備工作
      11.2.1  分支命名規範
      11.2.2  特性分支
      11.2.3  與GitLab集成
    11.3  Aone Flow的實踐
      11.3.1  創建第一個特性分支
      11.3.2  解決單一代碼庫分支復用問題
      11.3.3  創建發布分支
      11.3.4  合併到發布分支
      11.3.5  分支衝突與解決
      11.3.6  分支上線
    11.4  本章小結
  第12章  持續集成
    12.1  從源碼到鏡像
      12.1.1  手動構建應用鏡像
      12.1.2  通過Maven插件生成Dockerf?ile
      12.1.3  多階段構建
      12.1.4  標準化構建流程
      12.1.5  構建聲明式鏡像
    12.2  CI工具選型
      12.2.1  Jenkins還是GitLab CI
      12.2.2  GitLab Runner的安裝與配置
      12.2.3  應用.gitlab-ci.yml初始化
    12.3  流水線
      12.3.1  如何定義流水線
      12.3.2  發布流水線
      12.3.3  為什麼不支持完全自定義編排
    12.4  本章小結
  第13章  持續部署
    13.1  Kubernetes資源管理
      13.1.1  Namespace與集群規劃
      13.1.2  集群拆分
      13.1.3  Kubernetes資源管理
    13.2  發布策略
      13.2.1  填寫部署單
      13.2.2  金絲雀發布
      13.2.3  分批發布
    13.3  優雅發布
      13.3.1  容器探針
      13.3.2  摘除容器流量
    13.4  回滾
    13.5  本章小結
  第14章  配套工具
    14.1  研發工具集成
      14.1.1  集成Arthas
      14.1.2  Pinpoint鏈路追蹤
      14.1.3  Apollo配置中心集成
    14.2  特性環境
      14.2.1  環境治理

      14.2.2  環境申請
      14.2.3  流量隔離
    14.3  數據驅動優化
      14.3.1  找到黃金指標
      14.3.2  儀錶盤
    14.4  本章小結
第四部分  雲原生迭代
  第15章  從試運行到100%覆蓋
    15.1  從0開始
      15.1.1  內部試點
      15.1.2  OS與Omega並存階段
    15.2  從1%到10%
      15.2.1  外部宣導:尋找早期用戶
      15.2.2  橫向運營:覆蓋新增應用
      15.2.3  縱向運營:覆蓋某業務線
    15.3  從10%到90%
      15.3.1  OKR管理
      15.3.2  迭代優化
    15.4  從90%到100%
    15.5  本章小結
  第16章  基於Istio的Service Mesh
    16.1  Service Mesh
      16.1.1  微服務帶來的挑戰
      16.1.2  微服務治理的3種方式
      16.1.3  初步了解Istio
      16.1.4  Istio提供的三大能力
    16.2  開始接入Istio:精準攔截服務的流量
      16.2.1  我只想治理HTTP的流量
      16.2.2  Inbound和Outbound
      16.2.3  設置流量的攔截策略
      16.2.4  iptables策略的創建流程和源碼分析
      16.2.5  精準攔截HTTP流量
    16.3  數據面的配置管理
      16.3.1  Sidecar注入原理
      16.3.2  管理Envoy代理日誌
      16.3.3  定義容器的啟動順序
      16.3.4  注入iptables管理容器
    16.4  HTTP的流量治理實踐
      16.4.1  Istio的數據面Envoy
      16.4.2  限速
      16.4.3  限流和熔斷
      16.4.4  平台效果展示
    16.5  經驗分享和總結
    16.6  本章小結
  第17章  雲原生的得與失
    17.1  雲原生落地的收益
      17.1.1  降本
      17.1.2  增效
      17.1.3  標準化
      17.1.4  組織能力提升

    17.2  經驗和教訓
      17.2.1  成功經驗
      17.2.2  運維側的教訓
      17.2.3  開發側的教訓
      17.2.4  QA集錦
    17.3  展望
      17.3.1  資源調度
      17.3.2  HPA
      17.3.3  冷熱部署
    17.4  本章小結

  • 商品搜索:
  • | 高級搜索
首頁新手上路客服中心關於我們聯絡我們Top↑
Copyrightc 1999~2008 美商天龍國際圖書股份有限公司 臺灣分公司. All rights reserved.
營業地址:臺北市中正區重慶南路一段103號1F 105號1F-2F
讀者服務部電話:02-2381-2033 02-2381-1863 時間:週一-週五 10:00-17:00
 服務信箱:bookuu@69book.com 客戶、意見信箱:cs@69book.com
ICP證:浙B2-20060032