{"id":1394,"date":"2021-04-14T00:22:04","date_gmt":"2021-04-14T00:22:04","guid":{"rendered":"https:\/\/www.letscloud.io\/blog\/?p=1394"},"modified":"2021-04-14T00:26:23","modified_gmt":"2021-04-14T00:26:23","slug":"lets-terraform-a-guide-to-understanding-and-installing","status":"publish","type":"post","link":"https:\/\/www.letscloud.io\/blog\/lets-terraform-a-guide-to-understanding-and-installing\/","title":{"rendered":"Lets Terraform &#8211; A guide to understanding and installing"},"content":{"rendered":"\n<p>Terraform is a really handy tech tool for DevOps. They can run a single application or your entire datacenter.<\/p>\n\n\n\n<p>But how?<\/p>\n\n\n\n<p>Through its infrastructure as a service in a multi-cloud environment with ease of customization through plugins.<\/p>\n\n\n\n<p>Ready to learn more about Terraform?<\/p>\n\n\n\n<p>So, read on!<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Terraform &#8211; What is so special about it?<\/h2>\n\n\n\n<p>Until recently, I was unaware of Terraform. For me, it was an item on Elon Musk&#8217;s to-do list: terraform Mars! Or even it was about an old memory of a game: Spore, back in 2008, good times.<\/p>\n\n\n\n<p>But, in the world of cloud instances, Terraform is guided by all the weekly meetings I attend.<\/p>\n\n\n\n<p>Terraform is a tool for building, changing, and versioning infrastructure safely and efficiently. Terraform is built on a plugin-based architecture, enabling developers to extend Terraform by writing new plugins or compiling modified versions of existing plugins.<\/p>\n\n\n\n<p>Terraform transforms our environment the way we want, due to the provision of automated infrastructure.<\/p>\n\n\n\n<p>It is open source and was developed in Golang by Hashicorp.<\/p>\n\n\n\n<p>Hashicorp created the HCL (HashiCorp Configuration Language). With that, the tool became very friendly and easy to use.<\/p>\n\n\n\n<p>Focused on the Multi-Cloud market, so DevOps can provision multiple environments in different cloud providers using a single tool.<\/p>\n\n\n\n<p>The infrastructure Terraform can manage includes low-level components such as compute instances, storage, and networking, as well as high-level components such as DNS entries, SaaS features, etc.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">What are Terraform Core and Terraform Plugins?<\/h2>\n\n\n\n<p>Terraform is logically split into two main parts: Terraform Core and Terraform Plugins.<\/p>\n\n\n\n<p>Terraform Core is a statically-compiled binary written in the Go programming language.<\/p>\n\n\n\n<p>The compiled binary is the command-line tool (CLI) terraform, the entry point for anyone using Terraform. The code is open source and hosted at github.com\/hashicorp\/terraform.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">The primary responsibilities of Terraform Core are:<\/h3>\n\n\n\n<ul class=\"wp-block-list\"><li>Infrastructure as code: reading and interpolating configuration files and modules<\/li><li>Resource state management<\/li><li>Construction of the <a href=\"https:\/\/www.terraform.io\/docs\/internals\/graph.html\" rel=\"noreferrer noopener\" target=\"_blank\">Resource Graph<\/a><\/li><li>Plan execution<\/li><li>Communication with plugins over RPC<\/li><\/ul>\n\n\n\n<p>Terraform Core uses remote procedure calls (RPC) to communicate with Terraform Plugins and offers multiple ways to discover and load plugins to use.<\/p>\n\n\n\n<p>Terraform Plugins are written in Go and are executable binaries invoked by Terraform Core over RPC. Each plugin exposes an implementation for a specific service or provisioner, such as bash.<\/p>\n\n\n\n<p>Terraform Plugins are responsible for the domain specific implementation of their type.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">The primary responsibilities of Provider Plugins are:<\/h3>\n\n\n\n<ul class=\"wp-block-list\"><li>Initialization of any included libraries used to make API calls;<\/li><li>Authentication with the Infrastructure Provider;<\/li><li>Define Resources that map to specific Services.<\/li><\/ul>\n\n\n\n<p>With the advantages of language and integration with Core and Plugins, it is easy to understand how Terraform gains more and more fans. Using Terraform in your instances is a lot easier than terraforming Mars.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Let&#8217;s get to the action: How to Terraform your LetsCloud instance?<\/h2>\n\n\n\n<p>Did you understand how easy it is to use Terraform?<\/p>\n\n\n\n<p>This ease of using such a powerful tool brings a more organized and optimized world to the DevOps culture.<\/p>\n\n\n\n<p>We hope you will incorporate this tool into your projects, whatever their size.<\/p>\n\n\n\n<p>Follow our social networks and keep learning in our community.<\/p>\n\n\n\n<p>Needing assistance in your LetsCloud instance, just access our support channels.<\/p>\n\n\n\n<p>And if you haven&#8217;t created your instance with us yet, it&#8217;s time to check it out and be surprised.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Terraform is a really handy tech tool for DevOps. They can run a single application or your entire datacenter.<\/p>\n","protected":false},"author":1,"featured_media":1395,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"inline_featured_image":false,"footnotes":""},"categories":[7],"tags":[],"class_list":["post-1394","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-development","entry"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Lets Terraform - A guide to understanding and installing - LetsCloud Blog<\/title>\n<meta name=\"description\" content=\"Terraform is a really handy tech tool for DevOps. They can run a single application or your entire datacenter. Read more!\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.letscloud.io\/blog\/lets-terraform-a-guide-to-understanding-and-installing\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Lets Terraform - A guide to understanding and installing - LetsCloud Blog\" \/>\n<meta property=\"og:description\" content=\"Terraform is a really handy tech tool for DevOps. They can run a single application or your entire datacenter. Read more!\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.letscloud.io\/blog\/lets-terraform-a-guide-to-understanding-and-installing\/\" \/>\n<meta property=\"og:site_name\" content=\"LetsCloud Blog\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/LetsCloudOfficial\" \/>\n<meta property=\"article:published_time\" content=\"2021-04-14T00:22:04+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2021-04-14T00:26:23+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.letscloud.io\/blog\/wp-content\/uploads\/2021\/04\/twitter.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1200\" \/>\n\t<meta property=\"og:image:height\" content=\"628\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"LetsCloud Team\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:image\" content=\"https:\/\/www.letscloud.io\/blog\/wp-content\/uploads\/2021\/04\/twitter.png\" \/>\n<meta name=\"twitter:creator\" content=\"@letscloudInc\" \/>\n<meta name=\"twitter:site\" content=\"@letscloudInc\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"LetsCloud Team\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"3 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.letscloud.io\\\/blog\\\/lets-terraform-a-guide-to-understanding-and-installing\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.letscloud.io\\\/blog\\\/lets-terraform-a-guide-to-understanding-and-installing\\\/\"},\"author\":{\"name\":\"LetsCloud Team\",\"@id\":\"https:\\\/\\\/www.letscloud.io\\\/blog\\\/#\\\/schema\\\/person\\\/db5dc1b68cac3498c8aeb0b56f1dbdf6\"},\"headline\":\"Lets Terraform &#8211; A guide to understanding and installing\",\"datePublished\":\"2021-04-14T00:22:04+00:00\",\"dateModified\":\"2021-04-14T00:26:23+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.letscloud.io\\\/blog\\\/lets-terraform-a-guide-to-understanding-and-installing\\\/\"},\"wordCount\":560,\"commentCount\":0,\"image\":{\"@id\":\"https:\\\/\\\/www.letscloud.io\\\/blog\\\/lets-terraform-a-guide-to-understanding-and-installing\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.letscloud.io\\\/blog\\\/wp-content\\\/uploads\\\/2021\\\/04\\\/feature-blog.png\",\"articleSection\":[\"Development\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.letscloud.io\\\/blog\\\/lets-terraform-a-guide-to-understanding-and-installing\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.letscloud.io\\\/blog\\\/lets-terraform-a-guide-to-understanding-and-installing\\\/\",\"url\":\"https:\\\/\\\/www.letscloud.io\\\/blog\\\/lets-terraform-a-guide-to-understanding-and-installing\\\/\",\"name\":\"Lets Terraform - A guide to understanding and installing - LetsCloud Blog\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.letscloud.io\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.letscloud.io\\\/blog\\\/lets-terraform-a-guide-to-understanding-and-installing\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.letscloud.io\\\/blog\\\/lets-terraform-a-guide-to-understanding-and-installing\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.letscloud.io\\\/blog\\\/wp-content\\\/uploads\\\/2021\\\/04\\\/feature-blog.png\",\"datePublished\":\"2021-04-14T00:22:04+00:00\",\"dateModified\":\"2021-04-14T00:26:23+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/www.letscloud.io\\\/blog\\\/#\\\/schema\\\/person\\\/db5dc1b68cac3498c8aeb0b56f1dbdf6\"},\"description\":\"Terraform is a really handy tech tool for DevOps. They can run a single application or your entire datacenter. Read more!\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.letscloud.io\\\/blog\\\/lets-terraform-a-guide-to-understanding-and-installing\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.letscloud.io\\\/blog\\\/lets-terraform-a-guide-to-understanding-and-installing\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.letscloud.io\\\/blog\\\/lets-terraform-a-guide-to-understanding-and-installing\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.letscloud.io\\\/blog\\\/wp-content\\\/uploads\\\/2021\\\/04\\\/feature-blog.png\",\"contentUrl\":\"https:\\\/\\\/www.letscloud.io\\\/blog\\\/wp-content\\\/uploads\\\/2021\\\/04\\\/feature-blog.png\",\"width\":910,\"height\":506,\"caption\":\"Lets Terraform - Provider da LetsCloud\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.letscloud.io\\\/blog\\\/lets-terraform-a-guide-to-understanding-and-installing\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.letscloud.io\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Lets Terraform &#8211; A guide to understanding and installing\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.letscloud.io\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/www.letscloud.io\\\/blog\\\/\",\"name\":\"LetsCloud Blog\",\"description\":\"Everything you need. Nothing you don\u2019t.\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.letscloud.io\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.letscloud.io\\\/blog\\\/#\\\/schema\\\/person\\\/db5dc1b68cac3498c8aeb0b56f1dbdf6\",\"name\":\"LetsCloud Team\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/ccae1dbb34f990736eba7967e6dfaf22ad95b4790915f19a175e53d146ad0a71?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/ccae1dbb34f990736eba7967e6dfaf22ad95b4790915f19a175e53d146ad0a71?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/ccae1dbb34f990736eba7967e6dfaf22ad95b4790915f19a175e53d146ad0a71?s=96&d=mm&r=g\",\"caption\":\"LetsCloud Team\"},\"url\":\"https:\\\/\\\/www.letscloud.io\\\/blog\\\/author\\\/letscloud\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Lets Terraform - A guide to understanding and installing - LetsCloud Blog","description":"Terraform is a really handy tech tool for DevOps. They can run a single application or your entire datacenter. Read more!","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.letscloud.io\/blog\/lets-terraform-a-guide-to-understanding-and-installing\/","og_locale":"en_US","og_type":"article","og_title":"Lets Terraform - A guide to understanding and installing - LetsCloud Blog","og_description":"Terraform is a really handy tech tool for DevOps. They can run a single application or your entire datacenter. Read more!","og_url":"https:\/\/www.letscloud.io\/blog\/lets-terraform-a-guide-to-understanding-and-installing\/","og_site_name":"LetsCloud Blog","article_publisher":"https:\/\/www.facebook.com\/LetsCloudOfficial","article_published_time":"2021-04-14T00:22:04+00:00","article_modified_time":"2021-04-14T00:26:23+00:00","og_image":[{"width":1200,"height":628,"url":"https:\/\/www.letscloud.io\/blog\/wp-content\/uploads\/2021\/04\/twitter.png","type":"image\/png"}],"author":"LetsCloud Team","twitter_card":"summary_large_image","twitter_image":"https:\/\/www.letscloud.io\/blog\/wp-content\/uploads\/2021\/04\/twitter.png","twitter_creator":"@letscloudInc","twitter_site":"@letscloudInc","twitter_misc":{"Written by":"LetsCloud Team","Est. reading time":"3 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.letscloud.io\/blog\/lets-terraform-a-guide-to-understanding-and-installing\/#article","isPartOf":{"@id":"https:\/\/www.letscloud.io\/blog\/lets-terraform-a-guide-to-understanding-and-installing\/"},"author":{"name":"LetsCloud Team","@id":"https:\/\/www.letscloud.io\/blog\/#\/schema\/person\/db5dc1b68cac3498c8aeb0b56f1dbdf6"},"headline":"Lets Terraform &#8211; A guide to understanding and installing","datePublished":"2021-04-14T00:22:04+00:00","dateModified":"2021-04-14T00:26:23+00:00","mainEntityOfPage":{"@id":"https:\/\/www.letscloud.io\/blog\/lets-terraform-a-guide-to-understanding-and-installing\/"},"wordCount":560,"commentCount":0,"image":{"@id":"https:\/\/www.letscloud.io\/blog\/lets-terraform-a-guide-to-understanding-and-installing\/#primaryimage"},"thumbnailUrl":"https:\/\/www.letscloud.io\/blog\/wp-content\/uploads\/2021\/04\/feature-blog.png","articleSection":["Development"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.letscloud.io\/blog\/lets-terraform-a-guide-to-understanding-and-installing\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.letscloud.io\/blog\/lets-terraform-a-guide-to-understanding-and-installing\/","url":"https:\/\/www.letscloud.io\/blog\/lets-terraform-a-guide-to-understanding-and-installing\/","name":"Lets Terraform - A guide to understanding and installing - LetsCloud Blog","isPartOf":{"@id":"https:\/\/www.letscloud.io\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.letscloud.io\/blog\/lets-terraform-a-guide-to-understanding-and-installing\/#primaryimage"},"image":{"@id":"https:\/\/www.letscloud.io\/blog\/lets-terraform-a-guide-to-understanding-and-installing\/#primaryimage"},"thumbnailUrl":"https:\/\/www.letscloud.io\/blog\/wp-content\/uploads\/2021\/04\/feature-blog.png","datePublished":"2021-04-14T00:22:04+00:00","dateModified":"2021-04-14T00:26:23+00:00","author":{"@id":"https:\/\/www.letscloud.io\/blog\/#\/schema\/person\/db5dc1b68cac3498c8aeb0b56f1dbdf6"},"description":"Terraform is a really handy tech tool for DevOps. They can run a single application or your entire datacenter. Read more!","breadcrumb":{"@id":"https:\/\/www.letscloud.io\/blog\/lets-terraform-a-guide-to-understanding-and-installing\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.letscloud.io\/blog\/lets-terraform-a-guide-to-understanding-and-installing\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.letscloud.io\/blog\/lets-terraform-a-guide-to-understanding-and-installing\/#primaryimage","url":"https:\/\/www.letscloud.io\/blog\/wp-content\/uploads\/2021\/04\/feature-blog.png","contentUrl":"https:\/\/www.letscloud.io\/blog\/wp-content\/uploads\/2021\/04\/feature-blog.png","width":910,"height":506,"caption":"Lets Terraform - Provider da LetsCloud"},{"@type":"BreadcrumbList","@id":"https:\/\/www.letscloud.io\/blog\/lets-terraform-a-guide-to-understanding-and-installing\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.letscloud.io\/blog\/"},{"@type":"ListItem","position":2,"name":"Lets Terraform &#8211; A guide to understanding and installing"}]},{"@type":"WebSite","@id":"https:\/\/www.letscloud.io\/blog\/#website","url":"https:\/\/www.letscloud.io\/blog\/","name":"LetsCloud Blog","description":"Everything you need. Nothing you don\u2019t.","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.letscloud.io\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/www.letscloud.io\/blog\/#\/schema\/person\/db5dc1b68cac3498c8aeb0b56f1dbdf6","name":"LetsCloud Team","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/ccae1dbb34f990736eba7967e6dfaf22ad95b4790915f19a175e53d146ad0a71?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/ccae1dbb34f990736eba7967e6dfaf22ad95b4790915f19a175e53d146ad0a71?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/ccae1dbb34f990736eba7967e6dfaf22ad95b4790915f19a175e53d146ad0a71?s=96&d=mm&r=g","caption":"LetsCloud Team"},"url":"https:\/\/www.letscloud.io\/blog\/author\/letscloud\/"}]}},"_links":{"self":[{"href":"https:\/\/www.letscloud.io\/blog\/wp-json\/wp\/v2\/posts\/1394","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.letscloud.io\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.letscloud.io\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.letscloud.io\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.letscloud.io\/blog\/wp-json\/wp\/v2\/comments?post=1394"}],"version-history":[{"count":0,"href":"https:\/\/www.letscloud.io\/blog\/wp-json\/wp\/v2\/posts\/1394\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.letscloud.io\/blog\/wp-json\/wp\/v2\/media\/1395"}],"wp:attachment":[{"href":"https:\/\/www.letscloud.io\/blog\/wp-json\/wp\/v2\/media?parent=1394"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.letscloud.io\/blog\/wp-json\/wp\/v2\/categories?post=1394"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.letscloud.io\/blog\/wp-json\/wp\/v2\/tags?post=1394"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}