Giter Club home page Giter Club logo

terraform-azure-data's Introduction

Azure Data Services deployment using Terraform

Description

Terraform-based deployment of the following Azure resources (default deployment settings are in the parenthesis):

  • Azure Service Bus (Standard, namespace,topic,subscription, auth. rules)
  • Azure Data Lake Storage (ZRS, Hot, Secured, StandardV2)
  • Azure Data Factory (w/Git or without)
  • Azure Data Factory linked with Data Lake Storage
  • Azure Data Factory Pipeline
  • Azure DataBricks WorkSpace (Standard)
  • Azure EventHub (Standard, namespace)
  • Azure Functions (Dynamic, LRS storage, Python, w/App.Insights or without)
  • Azure Data Explorer (Kusto, Standard_D11_v2, 2 nodes)
  • Azure Analysis Server (backup-enabled,S0, LRS, Standard)
  • Azure Event Grid (domain, EventGridSchema)
  • Azure SQL Server (version 12.0)
  • Azure SQL Database (ElasticPool, 5 GB max data size)
  • Azure SQL Elastic Pool (StandartPool, LicenseIncluded, 50 eDTU, 50GB max data size)

Content

  • auth.tf - Azure ARM provider authentication and version settings
  • main.tf - Main configuration file that describes desired Azure infrastructure
  • terraform.tfvars - Variables values to control/change the deployment settings
  • variables.tf - List of variables used in the configuration
  • outputs.tf - Outputs some useful info at the end of deployment (URLs and etc.)

Usage

Control the deployment size:

  • Open the terraform.tfvars file
  • Identify the "What Should Be Deployed?" section
  • Use true/false to setup your configuration
  • Check or change Azure service settings in the appropriate sections
  • Run terraform init to get required Terraform providers
  • Run terraform plan to initiate pre-deployment check
  • Run terraform apply to start deployment
  • (optional) terraform destroy to delete Azure resources

Tested with the latest terraform 0.15.5 and AzureRM provider 2.62.0:

Download the latest terraform: https://www.terraform.io/downloads.html

Count blocks are used frequently in this repo. If you need example of for_each block, check my gist: https://gist.github.com/rlevchenko/358ad95cc5641bc26d2a5705c2c8dbfd

Requirements

Azure Service Principal with Contributor rights or higher:

  • subscription id
  • client id
  • tenant id
  • principal secret

If Analysis Server is going to be deployed:

  • valid Azure AD user(s) UPN(s) (will be AS admin(s))

Result

Azure Resources

Terraform output

terraform-azure-data's People

Contributors

rlevchenko 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

Watchers

 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.