虛擬化、云、容器、服務(wù)器自動(dòng)化以及軟件自定義網(wǎng)絡(luò)的初衷是簡化IT運(yùn)維,然而應(yīng)用了這些技術(shù)之后,很多組織發(fā)現(xiàn)它們不斷增長,蔓延成了一個(gè)無法管理的系統(tǒng)。這正是基礎(chǔ)設(shè)施即代碼的用武之地。在這本務(wù)實(shí)的指導(dǎo)之作中,來自ThoughtWorks的Kief Morris展示了如何有效地使用DeV0ps運(yùn)動(dòng)所倡導(dǎo)的原則、時(shí)間和模式,來管理云時(shí)代的基礎(chǔ)設(shè)施。
對(duì)于系統(tǒng)管理員、基礎(chǔ)設(shè)施工程師、團(tuán)隊(duì)領(lǐng)袖以及架構(gòu)師來說,這是一本難得的佳作。它描述了可以用來實(shí)現(xiàn)基礎(chǔ)設(shè)施即代碼的多種工具、技巧和模式。在基弗·莫里斯著的這本《基礎(chǔ)設(shè)施即代碼(影印版)(英文版)》的三個(gè)部分中,你將學(xué)習(xí)用來創(chuàng)建和配置基礎(chǔ)設(shè)施元素的平臺(tái)和工具、使用這些工具的模式以及在你自身環(huán)境中落實(shí)基礎(chǔ)設(shè)施即代碼的實(shí)踐。
檢查那些當(dāng)企業(yè)采用新一代基礎(chǔ)設(shè)施技術(shù)時(shí)常掉入的陷阱
理解動(dòng)態(tài)基礎(chǔ)設(shè)施平臺(tái)的能力和服務(wù)模型
學(xué)習(xí)提供、開通和配置核心基礎(chǔ)設(shè)置資源的工具
探索管理動(dòng)態(tài)基礎(chǔ)設(shè)施的服務(wù)和工具
學(xué)習(xí)開通服務(wù)器、構(gòu)建服務(wù)器模板和更新運(yùn)行時(shí)服務(wù)器的特定模式和實(shí)踐
Kief Morris,ThoughtWorks首席云技術(shù)專家,已經(jīng)從事設(shè)計(jì)、構(gòu)建和運(yùn)行自動(dòng)化IT服務(wù)器基礎(chǔ)設(shè)施相關(guān)工作接近20年。作為一名ThoughtWorks咨詢師,他和客戶一起工作,使用來自Lean、Continuous Delivery和DevOps的理念,幫助客戶規(guī)劃、設(shè)計(jì)并實(shí)現(xiàn)流程及系統(tǒng),以交付和托管軟件。
Preface
Part Ⅰ. Foundations
1. Challenges and Principles
Why Infrastructure as Code?
What Is Infrastructure as Code?
Goals of Infrastructure as Code
Challenges with Dynamic Infrastructure
Server Sprawl
Configuration Drift
Snowflake Servers
Fragile Infrastructure
Automation Fear
Erosion
Principles of Infrastructure as Code
Systems Can Be Easily Reproduced
Systems Are Disposable
Systems Are Consistent
Processes Are Repeatable
Design Is Always Changing
Practices
Use Definition Files
Self-Documented Systems and Processes
Version All the Things
Continuously Test Systems and Processes
Small Changes Rather Than Batches
Keep Services Available Continuously
Antifragility: Beyond "Robust"
The Secret Ingredient of Antifragile IT Systems
Conclusion
What's Next?
2. Dynamic Infrastructure Platforms
What Is a Dynamic Infrastructure Platform?
Requirements for a Dynamic Infrastructure Platform
Programmable
On-Demand
Self-Service
Infrastructure Resources Provided by the Platform
Compute Resources
Storage Resources
Network Resources
Types of Dynamic Infrastructure Platforms
Public IaaS Cloud
Community IaaS Cloud
Private IaaS Cloud
Antipattern: Hand-Cranked Cloud
Hybrid and Mixed Cloud Options
Bare-Metal Clouds
Deciding on a Dynamic Infrastructure Platform
Public or Private?
Cloud Portability
Mechanical Sympathy with the Cloud and Virtualization
Conclusion
3. Infrastructure Definition Tools
Choosing Tools for Infrastructure as Code
Requirement: Scriptable Interface
Requirement: Unattended Mode for Command-Line Tools
Requirement: Support for Unattended Execution
Requirement: Externalized Configuration
Configuration Definition Files
Reusability with Configuration Definitions
Working with Infrastructure Definition Tools
Provisioning Infrastructure with Procedural Scripts
Defining Infrastructure Declaratively
Using Infrastructure Definition Tools
Configuring Servers
……
Part Ⅱ.Patterns
Part Ⅲ.Practices