序
我們生活在一個(gè)有趣的時(shí)代,可以稱它是一個(gè)軟件的寒武紀(jì)大爆炸。在這個(gè)過(guò)程中,構(gòu)建新系統(tǒng)的成本呈數(shù)量級(jí)式下降,同時(shí)系統(tǒng)之間的關(guān)聯(lián)程度也呈同等數(shù)量級(jí)的增長(zhǎng)。借助于Amazon的AWS、微軟的Azure和Google的GCP等資源,我們可以將系統(tǒng)在物理上擴(kuò)展到一個(gè)幾年前還只能想象的規(guī)模。
這些資源及其似乎無(wú)限的能力,正在以各種前所未見(jiàn)的方式,將新的思想、產(chǎn)品和市場(chǎng)極其快速地傳播出去。但是,只有當(dāng)我們構(gòu)建的系統(tǒng)可以保持?jǐn)U展的同時(shí),所有這些探索才能成為可能。與以前相比,雖然構(gòu)建小型系統(tǒng)變得容易很多,但是構(gòu)建一個(gè)可以快速、可靠擴(kuò)展的系統(tǒng),并不像增加更多的硬件和存儲(chǔ)空間那么容易,實(shí)際證明,這要難得多。
每個(gè)軟件系統(tǒng)都會(huì)經(jīng)歷一個(gè)可預(yù)見(jiàn)的生命周期,從一個(gè)人能夠完全理解的、小型的、設(shè)計(jì)精妙的解決方案,迅速增長(zhǎng)為一個(gè)積累了大量技術(shù)債務(wù)的龐大系統(tǒng),隨后又逐漸分裂成由一些不完善的服務(wù)隨機(jī)組成的組合,并最終演化成在廣度(更多用戶)和深度(更多功能)方面均可穩(wěn)定擴(kuò)展的、設(shè)計(jì)良好的分布式系統(tǒng)。對(duì)于這樣的系統(tǒng)來(lái)說(shuō),我們很容易從外部了解要做哪些事情(讓它變得更加可靠!),但又很難了解它內(nèi)部的細(xì)節(jié)。幸運(yùn)的是,本書(shū)是一本關(guān)于這方面不可或缺的指南,從可用性到服務(wù)層,從比賽日到風(fēng)險(xiǎn)模型,Lee一步步介紹了影響大規(guī)模系統(tǒng)的各個(gè)關(guān)鍵因素和實(shí)踐方式。
Lee加入我們的時(shí)候,是NewRelic第一次從僅擁有一個(gè)產(chǎn)品正在向多個(gè)產(chǎn)品轉(zhuǎn)型的時(shí)期,當(dāng)時(shí)我們正沉浸在用戶極速增長(zhǎng)和公司成功的喜悅中。Lee的到來(lái),為我們帶來(lái)了他在Amazon的豐富經(jīng)驗(yàn),不管是零售業(yè)務(wù)還是AWS業(yè)務(wù)都曾經(jīng)歷過(guò)巨大的增長(zhǎng)。Lee曾是這些團(tuán)隊(duì)的領(lǐng)頭人,曾經(jīng)積極參與過(guò)與可擴(kuò)展性有關(guān)的所有事情,也遇到過(guò)很多失敗。對(duì)我們來(lái)說(shuō),幸運(yùn)的是,他已經(jīng)經(jīng)歷過(guò)這些挫折與困苦,其中的教訓(xùn)可以讓我們避免再犯同樣的錯(cuò)誤。
在Lee加入NewRelic之前,多年以來(lái),我們一直經(jīng)歷著系統(tǒng)服務(wù)不可用的尷尬處境。我們?cè)械凝嫶笙到y(tǒng)也逐漸無(wú)法支持業(yè)務(wù)的發(fā)展,不管是可用性、可靠性還是性能都不是很好。但是,通過(guò)充分運(yùn)用Lee在本書(shū)中所寫(xiě)的各項(xiàng)技巧,我們逐漸克服了這些困難,并構(gòu)建了如今穩(wěn)定可靠的企業(yè)級(jí)服務(wù)。其中我們使用的一個(gè)工具,建立了可用性工程的四個(gè)級(jí)別:青銅、白銀、黃金和白金。要達(dá)到青銅級(jí),團(tuán)隊(duì)必須擁有風(fēng)險(xiǎn)模型以及預(yù)定義的SLA標(biāo)準(zhǔn)。要達(dá)到白銀級(jí),團(tuán)隊(duì)必須能夠監(jiān)控風(fēng)險(xiǎn)模型中標(biāo)識(shí)出來(lái)的問(wèn)題,并使用比賽日的方式來(lái)解決。黃金級(jí)意味著風(fēng)險(xiǎn)已經(jīng)被緩解掉了。白金級(jí)如同CMM5級(jí)一樣,不僅系統(tǒng)可以自愈,而且我們關(guān)注持續(xù)性的改進(jìn)。我們首先集中精力對(duì)第一級(jí)的服務(wù)進(jìn)行改進(jìn),然后上升到第二級(jí)的服務(wù),逐步推進(jìn),最終使得所有團(tuán)隊(duì)都至少達(dá)到了白銀級(jí),并且大多數(shù)團(tuán)隊(duì)通過(guò)了黃金級(jí),甚至有幾個(gè)團(tuán)隊(duì)達(dá)到了白金級(jí)。
后來(lái)我加入了InVisionApp這個(gè)更年輕的公司。我又一次經(jīng)歷著從早期成功向高速增長(zhǎng)的過(guò)程,一直推動(dòng)大家去使用Lee之前帶給我的技術(shù)和工具。在這個(gè)新系統(tǒng)、新產(chǎn)品、新公司的爆炸年代,我強(qiáng)烈建議大家跟我做一樣的事:向Lee學(xué)習(xí)如何構(gòu)建可伸縮的系統(tǒng)。
——BjornFreeman-Benson博士,InVisionApp首席技術(shù)官
前言
當(dāng)應(yīng)用程序開(kāi)始增長(zhǎng)時(shí),通常會(huì)出現(xiàn)兩件事情:它們明顯變得更加復(fù)雜(也更加脆弱),并且需要處理顯著增加的流量(需要更先進(jìn)、更復(fù)雜的管理機(jī)制)。這會(huì)讓?xiě)?yīng)用程序逐漸陷入一個(gè)死亡漩渦,用戶會(huì)不斷經(jīng)歷著限流、宕機(jī)以及其他服務(wù)質(zhì)量和可用性方面的問(wèn)題。
但是你的用戶不會(huì)關(guān)心這些。他們只希望使用應(yīng)用來(lái)做他們希望做的事情。如果你的應(yīng)用程序宕機(jī)、響應(yīng)緩慢或者信息不一致,用戶會(huì)馬上拋棄你,轉(zhuǎn)而投靠能夠幫助他們處理生意的競(jìng)爭(zhēng)對(duì)手。
本書(shū)可教會(huì)你一些如何構(gòu)建并管理大規(guī)模應(yīng)用程序的基本技巧,幫助你避免陷入如上所述的死亡漩渦。一旦你掌握了這些技巧,你的系統(tǒng)就能夠可靠處理海量的流量,從容面對(duì)流量中大量的不確定性,同時(shí)不會(huì)對(duì)用戶期望造成任何影響。
本書(shū)的讀者對(duì)象
本書(shū)的目標(biāo)讀者包括構(gòu)建和管理大規(guī)模應(yīng)用程序和系統(tǒng)的軟件工程師、架構(gòu)師、技術(shù)經(jīng)理以及總監(jiān)。如果你管理著軟件開(kāi)發(fā)人員、系統(tǒng)可靠性工程師、DevOps工程師,或者你經(jīng)營(yíng)著一個(gè)擁有大規(guī)模應(yīng)用程序和系統(tǒng)的機(jī)構(gòu),本書(shū)中所提供的建議和指導(dǎo)都能夠幫助你,讓你的系統(tǒng)運(yùn)行得更加平穩(wěn)和可靠。
如果你的應(yīng)用程序已經(jīng)從很小的規(guī)模變得很大(并且正在經(jīng)歷著增長(zhǎng)所帶來(lái)的各種問(wèn)題),你可能正在為系統(tǒng)的低可靠性和低可用性煩惱。如果你正在頭疼如何管理技術(shù)債務(wù)以及相關(guān)的系統(tǒng)故障,本書(shū)恰好提供了這些方面的指導(dǎo),能夠幫助你通過(guò)降低技術(shù)債務(wù),讓?xiě)?yīng)用程序更輕松地?cái)U(kuò)展到更大規(guī)模。
編寫(xiě)本書(shū)的原因
在Amazon零售和AWS業(yè)務(wù)多年從事構(gòu)建高可伸縮應(yīng)用程序之后,我加入了NewRelic這個(gè)正在迅速成長(zhǎng)的公司。當(dāng)時(shí),NewRelic已經(jīng)感受到了因?yàn)槿鄙俟芾砀呖缮炜s應(yīng)用程序的系統(tǒng)、流程所帶來(lái)的痛苦,但是尚未完整形成能夠擴(kuò)大其應(yīng)用程序規(guī)模的流程和規(guī)范。
在NewRelic,我親眼目睹了一個(gè)公司在擴(kuò)張規(guī)模過(guò)程中所經(jīng)歷的痛苦與掙扎,同時(shí)也意識(shí)到,還有很多其他公司每天都在經(jīng)歷著這些痛苦。
編寫(xiě)本書(shū)的初衷,是為了幫助那些正在面對(duì)其應(yīng)用程序高速增長(zhǎng)的人們,使其了解到一些有用的流程和最佳實(shí)踐,避免他們?cè)俚羧胍?guī)模擴(kuò)張過(guò)程的各種陷阱之中。
無(wú)論你的應(yīng)用程序每年增長(zhǎng)十倍還是百分之十,也無(wú)論增長(zhǎng)的是用戶數(shù)量、交易數(shù)量、數(shù)據(jù)存儲(chǔ)量還是代碼復(fù)雜性,本書(shū)都可以在構(gòu)建和維護(hù)應(yīng)用程序方面為你提供幫助,讓它們?cè)诒3指呖捎眯缘那疤嵯聦?shí)現(xiàn)增長(zhǎng)。
現(xiàn)在我們所說(shuō)的規(guī)模
基于云的服務(wù)正在以極快的速度增長(zhǎng)和擴(kuò)張。這主要?dú)w功于對(duì)云服務(wù)的大量需求,“軟件即服務(wù)(SaaS)”逐漸成為應(yīng)用程序開(kāi)發(fā)的標(biāo)準(zhǔn)。由于SaaS應(yīng)用程序天生多租戶的特點(diǎn),它們對(duì)于規(guī)模上的問(wèn)題尤其敏感。
隨著世界的改變,以及我們對(duì)SaaS服務(wù)、云服務(wù)、海量應(yīng)用程序越來(lái)越多的關(guān)注,規(guī)模性問(wèn)題也變得越來(lái)越重要。似乎我們看不到,云應(yīng)用程序在體積和復(fù)雜性方面會(huì)出現(xiàn)增長(zhǎng)到頭的情況。
關(guān)鍵的機(jī)制在于,我們當(dāng)前用來(lái)管理大規(guī)模系統(tǒng)的前沿科技,很可能會(huì)成為明天的基礎(chǔ)工具,而明天我們可能遇到的規(guī)模問(wèn)題,也會(huì)讓當(dāng)前的解決方案相形見(jiàn)絀。我們需要越來(lái)越復(fù)雜的系統(tǒng)和架構(gòu),來(lái)處理將來(lái)可能無(wú)限增長(zhǎng)的規(guī)模。
本書(shū)的目的,就是為了提供可以禁得起時(shí)間考驗(yàn)的知識(shí)。
本書(shū)導(dǎo)讀
管理規(guī)模并不只是管理流量,還包括管理風(fēng)險(xiǎn)和可用性。通常來(lái)說(shuō),所有這些東西都是描述相同問(wèn)題的不同方式,并且它們息息相關(guān)。因此,為了能夠合理地討論規(guī)模問(wèn)題,我們還必須考慮到可用性、風(fēng)險(xiǎn)管理以及像微服務(wù)和云服務(wù)這樣的現(xiàn)代架構(gòu)模型。因此,本書(shū)按照如下章節(jié)來(lái)劃分內(nèi)容。
第Ⅰ部分:可用性
當(dāng)某個(gè)應(yīng)用程序開(kāi)始擴(kuò)張規(guī)模時(shí),可用性和可用性管理通常是最先受到影響的部分。
第1章,什么是可用性為了更好地讓讀者理解,我們會(huì)講解一下高可用性的意義,以及它與可靠性之間的區(qū)別。
第2章,提高應(yīng)用程序可用性的五個(gè)要點(diǎn)
在本章中,我針對(duì)如何提高應(yīng)用程序的可用性提出了五個(gè)核心方向。
第3章,測(cè)量可用性
本章會(huì)介紹一種測(cè)量可用性的標(biāo)準(zhǔn)算法,并進(jìn)一步講解高可用性的作用和價(jià)值。
第4章,提高下降的可用性如果你的應(yīng)用程序正遇到可用性的問(wèn)題(或者你想知道這是否正在發(fā)生),我們提供了一些管理手段,來(lái)幫助你提高應(yīng)用程序的可用性。
第Ⅱ部分:風(fēng)險(xiǎn)管理
理解系統(tǒng)中的風(fēng)險(xiǎn),對(duì)于提高應(yīng)用程序的可用性,以及它后續(xù)向更大規(guī)模發(fā)展的能力是至關(guān)重要的。
第5章,什么是風(fēng)險(xiǎn)管理
本章會(huì)通過(guò)介紹風(fēng)險(xiǎn)管理的基本知識(shí),引出如何管理高可伸縮應(yīng)用程序的話題。
第6章,可能性與嚴(yán)重性本章會(huì)討論風(fēng)險(xiǎn)發(fā)生時(shí)的嚴(yán)重性與可能性之間的區(qū)別。它們都非常重要,但是方式不同。
第7章,風(fēng)險(xiǎn)模型
在本章中,我會(huì)以一個(gè)精心設(shè)計(jì)的系統(tǒng)為例,來(lái)幫助你理解和管理系統(tǒng)中的風(fēng)險(xiǎn)。
第8章,風(fēng)險(xiǎn)緩和
本章會(huì)討論如何處理系統(tǒng)中已知的風(fēng)險(xiǎn),并減少它們對(duì)應(yīng)用程序的影響。
第9章,比賽日本章會(huì)介紹如何對(duì)風(fēng)險(xiǎn)管理計(jì)劃、風(fēng)險(xiǎn)緩和計(jì)劃以及容災(zāi)計(jì)劃進(jìn)行持續(xù)的測(cè)試和評(píng)估。本章回顧了在生產(chǎn)環(huán)境實(shí)現(xiàn)比賽日所需的技術(shù),以及它所帶來(lái)的好處。
第10章,構(gòu)建低風(fēng)險(xiǎn)系統(tǒng)
在本章中,我會(huì)給出如何降低應(yīng)用程序中的風(fēng)險(xiǎn),以及如何構(gòu)建低風(fēng)險(xiǎn)系統(tǒng)的建議。
第Ⅲ部分:服務(wù)和微服務(wù)
服務(wù)和微服務(wù)都是一種架構(gòu)方案,用于構(gòu)建需要更大規(guī)模運(yùn)行的、更加大型且復(fù)雜的應(yīng)用程序。
第11章,為什么使用服務(wù)
本章會(huì)介紹為什么服務(wù)對(duì)于構(gòu)建高度可擴(kuò)展的應(yīng)用程序如此重要。
第12章,使用微服務(wù)
在本章中,我會(huì)介紹如何創(chuàng)建基于微服務(wù)的架構(gòu),主要關(guān)注于如何對(duì)服務(wù)大小進(jìn)行合理分割,確定服務(wù)的邊界,以便提高可擴(kuò)展性和可用性。
第13章,處理服務(wù)故障
在本部分的最后一章中,我們會(huì)來(lái)討論如何構(gòu)建能夠處理故障的服務(wù)。
第Ⅳ部分:如何讓?xiě)?yīng)用程序具有伸縮性
“伸縮”其實(shí)不僅僅與流量有關(guān),它關(guān)系你的組織,以及你的組織如何來(lái)響應(yīng)更大的應(yīng)用程序需求。
第14章,兩次失誤的高度
本章會(huì)介紹如何在出現(xiàn)故障的情況下,依然能夠通過(guò)伸縮系統(tǒng)來(lái)保持高可用性。
第15章,服務(wù)所有權(quán)
本章會(huì)講解,關(guān)注服務(wù)的所有權(quán),能如何幫助你擴(kuò)展組織和應(yīng)用程序。
第16章,服務(wù)分級(jí)
本章會(huì)介紹如何區(qū)分各個(gè)服務(wù)的關(guān)鍵程度,從而幫助管理對(duì)服務(wù)的期望。
第17章,使用服務(wù)分級(jí)
當(dāng)制訂服務(wù)分級(jí)制度之后,我們會(huì)介紹如何通過(guò)它來(lái)管理服務(wù)故障的影響、響應(yīng)性需求以及期望管理。
第18章,服務(wù)等級(jí)協(xié)議
在本章中,我們會(huì)討論如何使用SLA來(lái)管理服務(wù)所有者之間的相互依賴。
第19章,持續(xù)改進(jìn)
本章會(huì)就如何改進(jìn)應(yīng)用程序整體的可擴(kuò)展性,提供相應(yīng)的技術(shù)和指導(dǎo)。
第Ⅴ部分:云服務(wù)
對(duì)于構(gòu)建和管理需要極強(qiáng)可伸縮能力的大型、關(guān)鍵性系統(tǒng)來(lái)說(shuō),基于云的服務(wù)正在變得日益重要。
第20章,變化和云服務(wù)本章介紹了云服務(wù)對(duì)構(gòu)建高度可伸縮的Web應(yīng)用程序所帶來(lái)的改變。
第21章,云上的
目錄
序. .......................... xv
前言. ......................xvii
第 1章 什么是可用性... 2
可用性與可靠性 ............................................... 3
什么導(dǎo)致了低可用性 ....................................... 4
第 2章 提高應(yīng)用程序可用性的五個(gè)要點(diǎn)......................................... 6
要點(diǎn) 1:時(shí)刻考慮應(yīng)對(duì)故障 ............................. 7
要點(diǎn) 2:時(shí)刻考慮如何伸縮 ............................. 8
要點(diǎn) 3:緩和風(fēng)險(xiǎn) ............................................ 9
要點(diǎn) 4:監(jiān)控可用性 ...................................... 10
要點(diǎn) 5:以預(yù)測(cè)和確定的方式來(lái)應(yīng)對(duì)可用性問(wèn)題 ...................................................... 11
做好準(zhǔn)備 ........................................................ 12
第 3章 測(cè)量可用性... 13
N個(gè) 9 14
什么樣的可用性是合理的 ...................... 14
不要上當(dāng) ........................................................ 14
通過(guò)數(shù)字來(lái)體現(xiàn)可用性.................................. 15
測(cè)試并跟蹤當(dāng)前的可用性 .............................. 17
將手動(dòng)流程自動(dòng)化 ......................................... 17
自動(dòng)化部署............................................. 18
配置管理 ................................................ 18
更改實(shí)驗(yàn)和高頻次更改 .......................... 19
自動(dòng)化的變更完備性測(cè)試 ...................... 20
改進(jìn)你的系統(tǒng) ................................................ 20
不斷變化和發(fā)展中的應(yīng)用程序 ...................... 20
時(shí)刻關(guān)注可用性 ............................................. 21
第 5章 什么是風(fēng)險(xiǎn)管理. .......................................................... 24
管理風(fēng)險(xiǎn) ........................................................ 25
識(shí)別風(fēng)險(xiǎn) ........................................................ 25
消除最嚴(yán)重的風(fēng)險(xiǎn) ......................................... 26
風(fēng)險(xiǎn)緩和 ........................................................ 26
定期檢查 ........................................................ 27
對(duì)風(fēng)險(xiǎn)管理的總結(jié) ......................................... 27
第 6章 可能性與嚴(yán)重性. .......................................................... 28
10佳列表:低可能性,低嚴(yán)重性 .................. 29
訂單數(shù)據(jù)庫(kù):低可能性,高嚴(yán)重性 ............... 29
自定義字體:高可能性,低嚴(yán)重性 ............... 30
T恤圖片:高可能性,高嚴(yán)重性 ................... 31
第 7章 風(fēng)險(xiǎn)模型...... 32
風(fēng)險(xiǎn)模型的作用域 ......................................... 34
創(chuàng)建風(fēng)險(xiǎn)模型 ................................................ 34
通過(guò)頭腦風(fēng)暴建立風(fēng)險(xiǎn)列表 .................. 35
填寫(xiě)可能性和嚴(yán)重性字段 ...................... 36
風(fēng)險(xiǎn)項(xiàng)詳情............................................. 37
觸發(fā)計(jì)劃 ................................................ 37
使用風(fēng)險(xiǎn)模型來(lái)制訂計(jì)劃 .............................. 37
維護(hù)風(fēng)險(xiǎn)模型 ................................................ 38
第 8章 風(fēng)險(xiǎn)緩和...... 40
恢復(fù)計(jì)劃 ........................................................ 41
容災(zāi)計(jì)劃 ........................................................ 42
改進(jìn)我們的風(fēng)險(xiǎn)狀況 ..................................... 43
第 9章 比賽日......... 44
預(yù)發(fā)布環(huán)境和生產(chǎn)環(huán)境.................................. 44
在生產(chǎn)環(huán)境中舉行比賽日的擔(dān)心 ................... 46
比賽日測(cè)試 .................................................... 47
第 10章 構(gòu)建低風(fēng)險(xiǎn)系統(tǒng)......................................................... 48
冗余 .. 48
冪等接口示例 ................................................ 49
增加了復(fù)雜性的冗余改進(jìn) .............................. 49
獨(dú)立性 ............................................................ 50
安全 .. 51
簡(jiǎn)單性 ............................................................ 51
自修復(fù) ............................................................ 52
運(yùn)維流程 ........................................................ 53
第 11章 為什么使用服務(wù). ......................................................... 56
單體應(yīng)用程序 ................................................ 56
基于服務(wù)的應(yīng)用程序 ..................................... 57
所有權(quán)收益 .................................................... 58
規(guī)模收益 ........................................................ 60
如何定義服務(wù) ................................................ 63
深入了解服務(wù) ......................................... 63
指導(dǎo)原則 1:特定的業(yè)務(wù)需求 ................ 63
指導(dǎo)原則 2:清晰和獨(dú)立的團(tuán)隊(duì)所有權(quán) . 64
指導(dǎo)原則 3:天然隔離的數(shù)據(jù) ................ 65
指導(dǎo)原則 4:共享的能力 /數(shù)據(jù) ............. 67
多種原因 ................................................ 67
過(guò)猶不及 ........................................................ 68
適當(dāng)?shù)钠胶?.................................................... 69
第 13章 處理服務(wù)故障............................................................ 70
級(jí)聯(lián)式的服務(wù)故障 ......................................... 70
如何響應(yīng)服務(wù)故障 ......................................... 71
可預(yù)測(cè)的響應(yīng) ......................................... 72
可理解的響應(yīng) ......................................... 73
合理的響應(yīng)............................................. 73
如何確定故障 ................................................ 74
適當(dāng)?shù)男袨?.................................................... 76
優(yōu)雅降級(jí) ................................................ 76
優(yōu)雅補(bǔ)償 ................................................ 77
盡早失敗 ................................................ 77
用戶導(dǎo)致的問(wèn)題 ..................................... 78
第Ⅳ部分 如何讓?xiě)?yīng)用程序具有伸縮性
第 14章 兩次失誤的高度......................................................... 82
什么是“兩次失誤的高度” ............................ 83
實(shí)踐中的“兩次失誤的高度” ........................ 83
丟失一個(gè)節(jié)點(diǎn) ......................................... 83
升級(jí)過(guò)程中出現(xiàn)的問(wèn)題 .......................... 85
數(shù)據(jù)中心恢復(fù) ......................................... 86
隱蔽的共享故障類型 .............................. 88
管理你的應(yīng)用程序 ......................................... 90
航天飛機(jī) ........................................................ 90
第 15章 服務(wù)所有權(quán).. 92
由獨(dú)立團(tuán)隊(duì)負(fù)責(zé)的服務(wù)架構(gòu) .......................... 92
STOSA應(yīng)用程序和組織的好處 ..................... 94
成為一個(gè)服務(wù)所有者意味著什么 ................... 94
第 16章 服務(wù)分級(jí). .... 97
應(yīng)用復(fù)雜性 .................................................... 97
什么是服務(wù)分級(jí) ............................................. 98
為服務(wù)分配服務(wù)級(jí)別標(biāo)簽 .............................. 99
1級(jí)服務(wù) ................................................. 99
2級(jí)服務(wù) ................................................. 99
3級(jí)服務(wù) ............................................... 100
4級(jí)服務(wù) ............................................... 100
示例:在線商店 ........................................... 100
接下來(lái)呢 ...................................................... 103
第 17章 使用服務(wù)分級(jí).......................................................... 104
期望 104
響應(yīng)性 .......................................................... 104
依賴 106
關(guān)鍵依賴 .............................................. 106
非關(guān)鍵依賴........................................... 107
小結(jié) 107
第 18章 服務(wù)等級(jí)協(xié)議.......................................................... 108
什么是服務(wù)等級(jí)協(xié)議 ................................... 108
外部 SLA與內(nèi)部 SLA的對(duì)比 ..................... 110
為什么內(nèi)部 SLA很重要 .............................. 110
SLA可以作為一種信任的手段 .....................111
SLA可以用于問(wèn)題診斷 ................................111
限定 SLA .............................................. 113
排名 SLA .............................................. 113
延遲分組 .............................................. 115
究竟應(yīng)當(dāng)定義多少內(nèi)部 SLA,以及定義哪些內(nèi)部 SLA ........................................... 116
關(guān)于 SLA的其他評(píng)價(jià) .................................. 116
第 19章 持續(xù)改進(jìn). ... 117
定期檢查你的應(yīng)用程序................................ 117
微服務(wù) .......................................................... 118
服務(wù)所有權(quán) .................................................. 118
無(wú)狀態(tài)服務(wù) .................................................. 118
數(shù)據(jù)在哪里 .................................................. 118
數(shù)據(jù)分區(qū) ...................................................... 119
持續(xù)改進(jìn)的重要性 ....................................... 121
第 20章 變化和云服務(wù). ..........................................................124
云服務(wù)有哪些變化 ....................................... 124
對(duì)基于微服務(wù)架構(gòu)的認(rèn)可 .................... 124
更小、更專業(yè)的服務(wù) ............................ 125
更專注于應(yīng)用程序 ............................... 125
微型初創(chuàng)公司 ....................................... 125
安全和合規(guī)已經(jīng)成熟 ............................ 125
變化還在繼續(xù) .............................................. 125
第 21章 云上的分布.127
AWS的架構(gòu) ................................................. 127
AWS區(qū)域 ............................................. 127
AWS可用區(qū) ......................................... 128
數(shù)據(jù)中心 .............................................. 128
總體架構(gòu)概述 .............................................. 129
第 22章 托管的基礎(chǔ)設(shè)施....................................................... 134
基于云的服務(wù)架構(gòu) ....................................... 134
原生資源 .............................................. 135
托管資源(基于服務(wù)器) ....................... 136
托管資源(不基于服務(wù)器) ................... 137
使用托管資源的影響 ................................... 138
使用非托管資源的影響................................ 138
監(jiān)控和 CloudWatch ...................................... 138
第 23章 云資源分配. ............................................................ 140
固定額度的資源分配 ................................... 140
調(diào)整分配 .............................................. 141
預(yù)留容量 .............................................. 142
基于使用量的資源分配................................ 143
基于使用量分配資源的好處 ................ 144
資源分配技術(shù)的利與弊................................ 145
第 24章 可伸縮的計(jì)算選項(xiàng).................................................... 146
云服務(wù)器 ...................................................... 147
優(yōu)點(diǎn) ...................................................... 147
缺點(diǎn) ...................................................... 147
適用場(chǎng)景 .............................................. 147
計(jì)算分片 ...................................................... 147
優(yōu)點(diǎn) ...................................................... 147
缺點(diǎn) ...................................................... 148
適用場(chǎng)景 .............................................. 148
動(dòng)態(tài)容器 ...................................................... 148
優(yōu)點(diǎn) ...................................................... 148
缺點(diǎn) ...................................................... 149
適用場(chǎng)景 .............................................. 149
微計(jì)算 .......................................................... 149
優(yōu)點(diǎn) ...................................................... 149
缺點(diǎn) ...................................................... 150
第 25章 AWS.Lambda....................................................... 151
使用 Lambda ................................................ 151
事件處理 .............................................. 151
手機(jī)應(yīng)用后臺(tái) ....................................... 152
物聯(lián)網(wǎng)數(shù)據(jù)采集 ................................... 153
Lambda的優(yōu)缺點(diǎn)......................................... 154
第Ⅵ部分 總結(jié)
第 26章 融會(huì)貫通...156
可用性 .......................................................... 156
風(fēng)險(xiǎn)管理 ...................................................... 157
服務(wù) 157
擴(kuò)展 157
云服務(wù) .......................................................... 158
面向可伸縮的架構(gòu) ....................................... 158
索引. ..................... 159