Git Product home page Git Product logo

jamesdld / terraform Goto Github PK

View Code? Open in Web Editor NEW
69.0 13.0 80.0 4.83 MB

Share Terraform best practices and custom modules with the community

Home Page: https://jamesdld.github.io/terraform/

License: The Unlicense

HCL 34.67% Shell 0.25% HTML 0.02% JavaScript 65.07%
azurerm azurerm-terraform-provider terraform-resource vaults-template remote-backends azure vm scaleset load-balancer nsg

terraform's Introduction

Repository inventory

Id Description Build Status
Application Gateway Tutoriel on medium.com on how to build an Azure Application Gateway N/A
Best-Practice Share a list of best practices and tutoriels when using Terraform on Azure Build Status
Azure DevOps - Intro Share articles about CI/CD, Azure DevOps and Terraform on Azure. Build Status
CreateAzureRm-Infra Share Terraform script that reveal how to create a VPC in Azure and how application client can create their resources Build Status

Azure and Terraform

Simple and Powerful

HashiCorp Terraform enables you to safely and predictably create, change, and improve infrastructure. It is an open source tool that codifies APIs into declarative configuration files that can be shared among team members, treated as code, edited, reviewed, and versioned.

The following table is a quick comparison feedback between Terraform and Azure ARM template.

Comparison Terraform ARM Template
Pro Common language to deal with several providers (Azure including AzureRm and Azure AD, AWS, Nutanix, VMware, Docker,...)

Detect if a resource's parameter could be updated in place or if the resources need to be re created

Compliant test could be done easily to ensure that what you have deployed remains coherent

Facilitating CICD testing as the "plan" function tells you exactly what need to be done

If the Terraform resource doesn't exist we can execute ARM template from the Terraform resource "azurerm_template_deployment"
Microsoft Azure ownership

Detect if a resource's parameter could be updated in place or if the resources need to be re created through the What-if feature

Compliant test could be done easily to ensure that what you have deployed remains coherent through the What-if feature

Facilitating CICD testing as the the What-if feature tells you exactly what need to be done

If the ARM template could not be used, we can launch a Deployment Scripts from an ARM template

Variety of parameters types

Deployment log stored in the Azure Resource Group
Cons Could not use secure object as parameter

New release might not be delivered as fast if it was the provider own tool
AzureRm only, we can mitigate this cons using Deployment Scripts

The deployment mode "complete" permits to guarantee that your RG contains exactly what you want but the ARM template could be hard to read depending on the number of resources you put on it

On of the objective here is to share Terraform custom modules with the community with the following guidelines :

  • a module is used when we need to call a given number of resources several times and the same way, for exemple : when creating a VM we need nic, disks, backup, log monitoring, etc ..
  • a module doesn't contain any static values
  • a module is called using variables

terraform's People

Contributors

lenvolk avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.