Episode 405: Yevgeniy Brikman on Infrastructure as Code Best Practices

Topics covered
Popular Clips
Episode Highlights
IaC Overview
, co-founder of Gruntwork, explains the concept of Infrastructure as Code (IaC), highlighting its roots in the DevOps movement. He describes IaC as the practice of managing and provisioning computing infrastructure through machine-readable definition files, rather than physical hardware configuration or interactive configuration tools 1. This approach allows for faster, more consistent deployments, as infrastructure is managed through code rather than manual processes. emphasizes the shift from traditional server management to cloud-based operations, where infrastructure is increasingly managed through software 2.
Design Patterns
Design patterns in IaC, such as module layering, are crucial for efficient infrastructure management. explains that layering in Terraform involves creating modules that can be reused and combined to build complex infrastructure systems 3. This modular approach allows for flexibility and scalability, as different components can be adjusted or replaced without affecting the entire system. He illustrates this with the example of Vault, a HashiCorp product, where separate modules manage different aspects like security rules and IAM permissions 4.
IaC Benefits
The benefits of IaC are numerous, including automation, consistency, and improved documentation. highlights how IaC automates infrastructure management, reducing human error and enhancing reliability 5. Code serves as documentation, allowing for version control and easier auditing of changes. This approach not only saves time but also improves the overall quality of infrastructure management. "You basically get all of that through versioned releases," he notes, emphasizing the long-term efficiency gains 6.
IaC Challenges
Implementing IaC comes with challenges, particularly in the realm of open source and dependency management. points out that many open-source infrastructure codes lack automated tests, making them difficult to maintain and integrate 7. Additionally, the ecosystem for IaC tools is still developing, lacking the mature dependency management systems found in traditional software development 8. He suggests that while the potential for reusable infrastructure code is high, the current state requires careful consideration and adaptation.
Related Episodes


SE-Radio Episode 268: Kief Morris on Infrastructure as Code
Answers 383 questions

Episode 210: Stefan Tilkov on Architecture and Micro Services
Answers 383 questions

Episode 482: Luke Hoban on Infrastructure as Code
Answers 383 questions

Episode 488: Chris Riccomini and Dmitriy Ryaboy on the Missing Readme
Answers 383 questions

SE Radio 591: Yechezkel Rabinovich on Kubernetes Observability
Answers 383 questions

Episode 506: Rob Hirschfeld on Bare Metal Infrastructure
Answers 383 questions

Episode 495: Vaughn Vernon on Strategic Monoliths and Microservices
Answers 383 questions

Episode 133: Continuous Integration with Chris Read
Answers 383 questions

Episode 216: Adrian Cockcroft on the Modern Cloud-based Platform
Answers 383 questions

Episode 93: Lessons Learned From Architecture Reviews with Rebecca Wirfs-Brock
Answers 383 questions

Episode 47: Interview Grady Booch
Answers 383 questions

Episode 500: Sergey Gorbunov on Blockchain Interoperability
Answers 383 questions

Episode 2: Dependencies
Answers 383 questions
Episode 115: Architecture Analysis
Answers 383 questions













