Muutke küpsiste eelistusi

E-raamat: Infrastructure as Code, Patterns and Practices: With examples in Python and Terraform

  • Formaat: 400 pages
  • Ilmumisaeg: 20-Sep-2022
  • Kirjastus: Manning Publications
  • Keel: eng
  • ISBN-13: 9781638351115
  • Formaat - EPUB+DRM
  • Hind: 51,64 €*
  • * hind on lõplik, st. muud allahindlused enam ei rakendu
  • Lisa ostukorvi
  • Lisa soovinimekirja
  • See e-raamat on mõeldud ainult isiklikuks kasutamiseks. E-raamatuid ei saa tagastada.
  • Formaat: 400 pages
  • Ilmumisaeg: 20-Sep-2022
  • Kirjastus: Manning Publications
  • Keel: eng
  • ISBN-13: 9781638351115

DRM piirangud

  • Kopeerimine (copy/paste):

    ei ole lubatud

  • Printimine:

    ei ole lubatud

  • Kasutamine:

    Digitaalõiguste kaitse (DRM)
    Kirjastus on väljastanud selle e-raamatu krüpteeritud kujul, mis tähendab, et selle lugemiseks peate installeerima spetsiaalse tarkvara. Samuti peate looma endale  Adobe ID Rohkem infot siin. E-raamatut saab lugeda 1 kasutaja ning alla laadida kuni 6'de seadmesse (kõik autoriseeritud sama Adobe ID-ga).

    Vajalik tarkvara
    Mobiilsetes seadmetes (telefon või tahvelarvuti) lugemiseks peate installeerima selle tasuta rakenduse: PocketBook Reader (iOS / Android)

    PC või Mac seadmes lugemiseks peate installima Adobe Digital Editionsi (Seeon tasuta rakendus spetsiaalselt e-raamatute lugemiseks. Seda ei tohi segamini ajada Adober Reader'iga, mis tõenäoliselt on juba teie arvutisse installeeritud )

    Seda e-raamatut ei saa lugeda Amazon Kindle's. 

Patterns and Practices for Infrastructure as Code teaches patterns for scaling systems and supporting infrastructure for mission-critical applications.

Patterns and Practices for Infrastructure as Code teaches patterns for scaling systems and supporting infrastructure for mission-critical applications. The book is full of flexible automation techniques and universal principles that  are easy to apply to almost any use case, from data centers, to public cloud, to Software-as-a-Service.

Patterns and Practices for Infrastructure as Code teaches you how to automate software infrastructure by capturing your desired configurations as a set of scripts. You’ll learn how to create, test, and deploy infrastructure components in a way that’s easy to scale and share across an entire organization. While the patterns and techniques are tool agnostic, you’ll appreciate the easy-to-follow examples in Python and Terraform.

Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications.

Arvustused

This book has a refreshing take on infrastructure as code. Stanford S.Guillory

Loved the content, especially since the author talks about stuff we've been asking ourselves since forever but never found a clear answer! SylvainMartel



The author provides real-world, hands-on guidance that cuts through the nuances of framework specifics and gets to the heart of great IaC as she discusses tools, techniques and sound practice. JeremyBryan

Provides precious hints to automate the creation of structured infrastructures by coding. Cosimo Attanasi

Kudos all around, very timely and necessary, breaking down this subject in such a clear way. Sean Booker

Preface xi
Acknowledgments xiii
About This Book xv
About The Author xix
About The Cover Illustration xx
Part 1 First Steps 1(108)
1 Introducing infrastructure as code
3(26)
1.1 What is infrastructure?
5(2)
1.2 What is infrastructure as code?
7(4)
Manual configuration of infrastructure
7(1)
Infrastructure as code
8(2)
What is not infrastructure as code?
10(1)
1.3 Principles of infrastructure as code
11(8)
Reproducibility
11(2)
Idempotency
13(2)
Composability
15(1)
Evolvability
16(2)
Applying the principles
18(1)
1.4 Why use infrastructure as code?
19(4)
Change management
19(1)
Return on time investment
20(1)
Knowledge sharing
21(1)
Security
22(1)
1.5 Tools
23(6)
Examples in this book
23(2)
Provisioning
25(1)
Configuration management
26(1)
Image building
27(2)
2 Writing infrastructure as code
29(26)
2.1 Expressing infrastructure change
31(2)
2.2 Understanding immutability
33(11)
Remediating out-of-band changes
35(2)
Migrating to infrastructure as code
37(7)
2.3 Writing clean infrastructure as code
44(11)
Version control communicates context
44(1)
Linting and formatting
45(1)
Naming resources
46(1)
Variables and constants
47(1)
Parametrize dependencies
48(4)
Keeping it a secret
52(3)
3 Patterns for infrastructure modules
55(25)
3.1 Singleton
56(3)
3.2 Composite
59(3)
3.3 Factory
62(3)
3.4 Prototype
65(4)
3.5 Builder
69(6)
3.6 Choosing a pattern
75(5)
4 Patterns for infrastructure dependencies
80(29)
4.1 Unidirectional relationships
81(2)
4.2 Dependency injection
83(11)
Inversion of control
83(2)
Dependency inversion
85(6)
Applying dependency injection
91(3)
4.3 Facade
94(3)
4.4 Adapter
97(6)
4.5 Mediator
103(3)
4.6 Choosing a pattern
106(3)
Part 2 Scaling With Your Team 109(112)
5 Structuring and sharing modules
111(23)
5.1 Repository structure
112(13)
Single repository
112(5)
Multiple repositories
117(3)
Choosing a repository structure
120(5)
5.2 Versioning
125(3)
5.3 Releasing
128(3)
5.4 Sharing modules
131(3)
6 Testing
134(33)
6.1 The infrastructure testing cycle
136(4)
Static analysis
137(1)
Dynamic analysis
138(1)
Infrastructure testing environments
139(1)
6.2 Unit tests
140(8)
Testing infrastructure configuration
141(3)
Testing domain-specific languages
144(3)
When should you write unit tests?
147(1)
6.3 Contract tests
148(3)
6.4 Integration tests
151(6)
Testing modules
151(3)
Testing configuration for environments
154(1)
Testing challenges
155(2)
6.5 End-to-end tests-
157(2)
6.6 Other tests
159(2)
6.7 Choosing tests
161(6)
Module-testing strategy
162(1)
Configuration testing strategy
163(2)
Identifying useful tests
165(2)
7 Continuous delivery and branching models
167(32)
7.1 Delivering changes to production
169(11)
Continuous integration
169(2)
Continuous delivery
171(1)
Continuous deployment
172(2)
Choosing a delivery approach
174(4)
Modules
178(2)
7.2 Branching models
180(11)
Feature-based development
181(4)
Trunk-based development
185(2)
Choosing a branching model
187(4)
7.3 Peer review
191(5)
7.4 GitOps
196(3)
8 Security and compliance
199(22)
8.1 Managing access and secrets
200(5)
Principle of least privilege
201(2)
Protecting secrets in configuration
203(2)
8.2 Tagging infrastructure
205(3)
8.3 Policy as code
208(15)
Policy engines and standards
209(2)
Security tests
211(3)
Policy tests
214(1)
Practices and patterns
215(6)
Part 3 Managing Production Complexity 221(132)
9 Making changes
223(30)
9.1 Pre-change practices
225(7)
Following a checklist
225(2)
Adding reliability
227(5)
9.2 Blue-green deployment
232(16)
Deploying the green infrastructure
234(1)
Deploying high-level dependencies to the green infrastructure
235(3)
Using a canary deployment to the green infrastructure
238(5)
Performing regression testing
243(2)
Deleting the blue infrastructure
245(2)
Additional considerations
247(1)
9.3 Stateful infrastructure
248(5)
Blue-green deployment
248(1)
Update delivery pipeline
249(1)
Canary deployment
250(3)
10 Refactoring
253(30)
10.1 Minimizing the refactoring impact
254(8)
Reduce blast radius with rolling updates
255(1)
Stage refactoring with feature flags
256(6)
10.2 Breaking down monoliths
262(21)
Refactor high-level resources
263(12)
Refactor resources with dependencies
275(5)
Repeat refactoring workflow
280(3)
11 Fixing failures
283(18)
11.1 Restoring functionality
284(3)
Rolling forward to revert changes
285(1)
Rolling forward for new changes
286(1)
11.2 Troubleshooting
287(7)
Check for drift
288(1)
Check for dependencies
289(3)
Check for differences in environments
292(2)
11.3 Fixing
294(7)
Reconcile drift
294(3)
Reconcile differences in environments
297(1)
Implement the original change
298(3)
12 Cost of cloud computing
301(32)
12.1 Manage cost drivers
302(13)
Implement tests to control cost
304(4)
Automate cost estimation
308(7)
12.2 Reduce cloud waste
315(11)
Stop untagged or unused resources
315(1)
Start and stop resources on a schedule
316(2)
Choose the correct resource type and size
318(2)
Enable autoscaling
320(2)
Set a resource expiration tag
322(4)
12.3 Optimize cost
326(7)
Build environments on demand
327(1)
Use multiple clouds
328(1)
Assess data transfer between regions and clouds
329(1)
Test in production
330(3)
13 Managing tools
333(20)
13.1 Using open source tools and modules
334(5)
Functionality
334(2)
Security
336(1)
Life cycle
337(2)
13.2 Upgrading tools
339(7)
Pre-upgrade checklist
340(1)
Backward compatibility
341(2)
Breaking changes in upgrades
343(3)
13.3 Replacing tools
346(3)
New tool supports import
346(1)
No import capability
347(2)
13.4 Event-driven IaC
349(4)
Appendix A Running examples 353(12)
Appendix B Solutions to exercises 365(8)
Index 373
Rosemary Wang is a developer advocate at Hashicorp. She is an educator, contributor, writer, and speaker of many infrastructure as code projects, including HashiCorp Terraform, HashiCorp Vault, and Kubernetes.