Muutke küpsiste eelistusi

Terraform: Up & Running: Writing Infrastructure as Code 2nd New edition [Pehme köide]

4.25/5 (1367 hinnangut Goodreads-ist)
  • Formaat: Paperback / softback, 225 pages, kõrgus x laius: 233x178 mm
  • Ilmumisaeg: 04-Oct-2019
  • Kirjastus: O'Reilly Media
  • ISBN-10: 1492046906
  • ISBN-13: 9781492046905
Teised raamatud teemal:
  • Pehme köide
  • Hind: 74,79 €*
  • * saadame teile pakkumise kasutatud raamatule, mille hind võib erineda kodulehel olevast hinnast
  • See raamat on trükist otsas, kuid me saadame teile pakkumise kasutatud raamatule.
  • Kogus:
  • Lisa ostukorvi
  • Tasuta tarne
  • Lisa soovinimekirja
  • Formaat: Paperback / softback, 225 pages, kõrgus x laius: 233x178 mm
  • Ilmumisaeg: 04-Oct-2019
  • Kirjastus: O'Reilly Media
  • ISBN-10: 1492046906
  • ISBN-13: 9781492046905
Teised raamatud teemal:
Terraform has become a key player in the DevOps world for defining, launching, and managing infrastructure as code (IaC) across a variety of cloud and virtualization platforms, including AWS, Google Cloud, Azure, and more. This hands-on second edition, expanded and thoroughly updated for Terraform version 0.12 and beyond, shows you the fastest way to get up and running.

Gruntwork cofounder Yevgeniy (Jim) Brikman walks you through code examples that demonstrate Terraform's simple, declarative programming language for deploying and managing infrastructure with a few commands. Veteran sysadmins, DevOps engineers, and novice developers will quickly go from Terraform basics to running a full stack that can support a massive amount of traffic and a large team of developers.

Explore changes from Terraform 0.9 through 0.12, including backends, workspaces, and first-class expressions Learn how to write production-grade Terraform modules Dive into manual and automated testing for Terraform code Compare Terraform to Chef, Puppet, Ansible, CloudFormation, and Salt Stack Deploy server clusters, load balancers, and databases Use Terraform to manage the state of your infrastructure Create reusable infrastructure with Terraform modules Use advanced Terraform syntax to achieve zero-downtime deployment
Preface ix
1 Why Terraform
1(34)
The Rise of DevOps
1(2)
What Is Infrastructure as Code?
3(12)
Ad Hoc Scripts
4(1)
Configuration Management Tools
5(2)
Server Templating Tools
7(5)
Orchestration Tools
12(2)
Provisioning Tools
14(1)
The Benefits of Infrastructure as Code
15(2)
How Terraform Works
17(2)
How Terraform Compares to Other IaC Tools
19(14)
Configuration Management Versus Provisioning
20(1)
Mutable Infrastructure Versus Immutable Infrastructure
21(1)
Procedural Language Versus Declarative Language
22(3)
Master Versus Masterless
25(1)
Agent Versus Agentless
26(2)
Large Community Versus Small Community
28(2)
Mature Versus Cutting Edge
30(1)
Using Multiple Tools Together
31(2)
Conclusion
33(2)
2 Getting Started with Terraform
35(40)
Setting Up Your AWS Account
36(3)
Install Terraform
39(1)
Deploy a Single Server
40(8)
Deploy a Single Web Server
48(7)
Deploy a Configurable Web Server
55(6)
Deploying a Cluster of Web Servers
61(3)
Deploying a Load Balancer
64(9)
Cleanup
73(1)
Conclusion
74(1)
3 How to Manage Terraform State
75(34)
What Is Terraform State?
76(1)
Shared Storage for State Files
77(8)
Limitations with Terraform's Backends
85(2)
Isolating State Files
87(11)
Isolation via Workspaces
88(6)
Isolation via File Layout
94(4)
The terraform_remote_state Data Source
98(10)
Conclusion
108(1)
4 How to Create Reusable Infrastructure with Terraform Modules
109(24)
Module Basics
112(2)
Module Inputs
114(4)
Module Locals
118(2)
Module Outputs
120(3)
Module Gotchas
123(3)
File Paths
123(1)
Inline Blocks
124(2)
Module Versioning
126(6)
Conclusion
132(1)
5 Terraform Tips and Tricks: Loops, If-Statements, Deployment, and Gotchas
133(52)
Loops
134(17)
Loops with the count Parameter
134(6)
Loops with for_each Expressions
140(6)
Loops with for Expressions
146(4)
Loops with the for String Directive
150(1)
Conditionals
151(12)
Conditionals with the count Parameter
151(10)
Conditionals with for_each and for Expressions
161(1)
Conditionals with the if String Directive
162(1)
Zero-Downtime Deployment
163(12)
Terraform Gotchas
175(9)
Count and for_each Have Limitations
175(3)
Zero-Downtime Deployment Has Limitations
178(1)
Valid Plans Can Fail
178(2)
Refactoring Can Be Tricky
180(3)
Eventual Consistency Is Consistent...Eventually
183(1)
Conclusion
184(1)
6 Production-Grade Terraform Code
185(36)
Why It Takes So Long to Build Production-Grade Infrastructure
187(2)
The Production-Grade Infrastructure Checklist
189(2)
Production-Grade Infrastructure Modules
191(28)
Small Modules
191(6)
Composable Modules
197(8)
Testable Modules
205(3)
Releasable modules
208(4)
Beyond Terraform Modules
212(7)
Conclusion
219(2)
7 How to Test Terraform Code
221(62)
Manual Tests
222(7)
Manual Testing Basics
224(3)
Cleaning Up After Tests
227(2)
Automated Tests
229(51)
Unit Tests
230(28)
Integration Tests
258(15)
End-to-End Tests
273(6)
Other Testing Approaches
279(1)
Conclusion
280(3)
8 How to Use Terraform as a Team
283(42)
Adopting IaC in Your Team
284(6)
Convince Your Boss
284(3)
Work Incrementally
287(1)
Give Your Team the Time to Learn
288(2)
A Workflow for Deploying Application Code
290(9)
Use Version Control
290(1)
Run the Code Locally
291(1)
Make Code Changes
291(1)
Submit Changes for Review
292(1)
Run Automated Tests
293(1)
Merge and Release
294(1)
Deploy
295(4)
A Workflow for Deploying Infrastructure Code
299(21)
Use Version Control
300(4)
Run the Code Locally
304(1)
Make Code Changes
305(1)
Submit Changes for Review
306(2)
Run Automated Tests
308(2)
Merge and Release
310(1)
Deploy
310(10)
Putting It All Together
320(2)
Conclusion
322(3)
A Recommended Reading 325(4)
Index 329
Yevgeniy (Jim) Brikman loves programming, writing, speaking, traveling, and lifting heavy things. He is the co-founder of Gruntwork, a company that helps startups get up and running on AWS with DevOps best practices and world-class infrastructure. He's also the author of "Hello, Startup: A Programmer's Guide to Building Products, Technologies, and Teams," a book published by O'Reilly Media that has a 4.9/5.0 rating on Amazon and 4.5/5.0 rating on GoodReads. Previously, he worked as a software engineer at LinkedIn, TripAdvisor, Cisco Systems, and Thomson Financial and got his BS and Masters at Cornell University