Skip to main content

Posts

Showing posts from January, 2021

Enterprise Patterns in Terraform

What are Modules?  - self contained pieces of IAC that abstract the infrastructure deployments  - use clear organization and DRY (Dont Repeat Yourself)  - helps in writing composable, shareable and reusable infrastructures   Scope the requirements into appropriate modules : - When building a module, consider 3 areas:   1. Encapsulation - Group infrastructure that is always deployed together   2. Privileges - Restrict modules to privilege boundaries   3. Voltatility - Separate long lived infrastructure from short-lived (Ex: Database-static vs Application Servers-dynamic)  Create the module MVP : * Always aim to deliver a module that works for 80% of usecases  * Never code for edge cases. A module should be a reusable block of code.  * Avoid conditional expressions in MVP  * Module should only expose the most commonly modified arguments as variables.   Scoping Example - A team wants to provision thei...