github.com/loicalbertin/terraform@v0.6.15-0.20170626182346-8e2583055467/website/docs/backends/index.html.md (about)

     1  ---
     2  layout: "docs"
     3  page_title: "Backends"
     4  sidebar_current: "docs-backends-index"
     5  description: |-
     6    A "backend" in Terraform determines how state is loaded and how an operation such as `apply` is executed. This abstraction enables non-local file state storage, remote execution, etc.
     7  ---
     8  
     9  # Backends
    10  
    11  A "backend" in Terraform determines how state is loaded and how an operation
    12  such as `apply` is executed. This abstraction enables non-local file state
    13  storage, remote execution, etc.
    14  
    15  By default, Terraform uses the "local" backend, which is the normal behavior
    16  of Terraform you're used to. This is the backend that was being invoked
    17  throughout the [introduction](/intro/index.html).
    18  
    19  Here are some of the benefits of backends:
    20  
    21    * **Working in a team**: Backends can store their state remotely and
    22      protect that state with locks to prevent corruption. Some backends
    23      such as Terraform Enterprise even automatically store a history of
    24      all state revisions.
    25  
    26    * **Keeping sensitive information off disk**: State is retrieved from
    27      backends on demand and only stored in memory. If you're using a backend
    28      such as Amazon S3, the only location the state ever is persisted is in
    29      S3.
    30  
    31    * **Remote operations**: For larger infrastructures or certain changes,
    32      `terraform apply` can take a long, long time. Some backends support
    33      remote operations which enable the operation to execute remotely. You can
    34      then turn off your computer and your operation will still complete. Paired
    35      with remote state storage and locking above, this also helps in team
    36      environments.
    37  
    38  **Backends are completely optional**. You can successfully use Terraform without
    39  ever having to learn or use backends. However, they do solve pain points that
    40  afflict teams at a certain scale. If you're an individual, you can likely
    41  get away with never using backends.
    42  
    43  Even if you only intend to use the "local" backend, it may be useful to
    44  learn about backends since you can also change the behavior of the local
    45  backend.