Terraform Learning

What is MTC? An experience Center
Experience Lab. to help Degital Transformation
Blue Prism (RPA)
Not technology problem, its usecase problem. How do you aproach towards problem.
netx build MVP (mininum vaiable product)
Do hackthon, leatnthon.

USP is people partner and Place.
MS has Office, Dynamics and Azure.

FPGA -CPU power at cpu cost

MTC Kitchen. Whats cooking. Hydroponics, Azure Sphere -secured MCU, sec os,


------------------------
blog: mithunshanghag.github.io

Deployment Alternatives
-portal
-rm technology
-ps
-cli
-sdk/rest
-Pulumi

Terraform Advantages
-Facilitates multi-cloud deployment
-Integration with multiple cloud provides (e.g. azure, aws, gcp)
-Inegrates with multip configuration managers (e.g ansible, chef, puppet)
-Execution plans (dry run)
-Open Source

Terraform Disadvantages
-HCL Language ()
-Slghtly lagging support for latest & greatest cloud resources

Installation:
1) Windows | Lx |Macos
2) Add terraform.exe locattion to path

2) AZ
3) Code

Terminoloty:
Provider - Azure, aws or local providers (tls)
A provider offers multiple resources & data sources.
Resources can be invoked to create/update infra lockally or remotely
Data soureces are read only  resoureces
Script/configuration are Terraform (.tf) script file in the HCL language.
Modules are reusable liberaries that allow creation of complex resources.
Provisioners are used to execute scripts on a locaton or remote machine.
State is representation of the infra create/update by terraform.
By default state is stored in a local file (terraform.tfstate) but can also be stored in a remote backend.

-note -> alwage check the recource changes, create a service principle

TF provider for azure
provider "azurerm" {
version = "=1.26.0" #pinning to a specific version
}

AzureRM provider
AzureAD provider
AzureStack provider

Authenticate with
Azure CLI
Azure service principle
Azure Managed Sevice Identity

Other useful providers
TLS (create keys, certs, secrets)
Null(run provisioners)
Local ( create local files)
Template (create strings form templates)

Recource meta arguments:
depends_on
count
for_each
lifecycle
resource "aws_instance" "example" {
....
lifecycle


Modules:

MOdule can be loaded from
local path
tf registry
source code repositories
storage blobs/buckets
Typpical Modules:


DEMO:
terraform init  # onetime
terraform validate
terraform plan


===================================
Common commands:
    apply              Builds or changes infrastructure
    console            Interactive console for Terraform interpolations
    destroy            Destroy Terraform-managed infrastructure
    env                Workspace management
    fmt                Rewrites config files to canonical format
    get                Download and install modules for the configuration
    graph              Create a visual graph of Terraform resources
    import             Import existing infrastructure into Terraform
    init               Initialize a Terraform working directory
    output             Read an output from a state file
    plan               Generate and show an execution plan
    providers          Prints a tree of the providers used in the configuration
    refresh            Update local state file against real resources
    show               Inspect Terraform state or plan
    taint              Manually mark a resource for recreation
    untaint            Manually unmark a resource as tainted
    validate           Validates the Terraform files
    version            Prints the Terraform version
    workspace          Workspace management

All other commands:
    0.12upgrade        Rewrites pre-0.12 module source code for v0.12
    debug              Debug output management (experimental)
    force-unlock       Manually unlock the terraform state
    push               Obsolete command for Terraform Enterprise legacy (v1)
    state              Advanced state management
================================================================================

HCL Language
Data TYpes
-Primitives: string number, bool
-Collections: list, map, set
-Structural: object, tuple
 variables-
 Built-in Functions
-Numeric: abs(), ceil(), floor(), log, max(), min()
-string:
-collecton
-Encoding:
-Data time
-Hash/Crypto:
-IP/Ntework
-Type Conversion

Provisioners:
1. Configure remote resource over ssh/winrm connections
2. Commonly userd provisioners
file:
local_exec
remote_exec:





Comments

Popular posts from this blog

Cloud Computing in simple

How to Write an Effective Design Document

Bookmark