By Craig Carl
tl;dr – it's new, it's awesome, get it here.
Ten years into the rise of IaaS as the dominant compute solution, we've moved past the idea of managing a single instance or a single network or a single anything into an orchestration and automation model, "infrastructure as code." With Terraform support, customers can manage the entire lifecycle of dozens of virtual datacenters: on-demand, temporary Hadoop clusters; steady-state ERP and CRM solutions; 50,000 container Kubernetes fleets. Once you templatize and automate infrastructure, you've truly begun to harness the power of the cloud.
I'm excited to release our Terraform provider today. This is a leap forward in the rapid and continuing evolution of Oracle Bare Metal Cloud Services.
With the new Terraform provider Oracle customers have access to an enterprise class, developer friendly orchestration tool they can use to manage Oracle Bare Metal Cloud Service resources as well as the Oracle Compute Cloud. This new Terraform provider is open-source software, available to all Oracle customers at no charge. We're looking forward to some great contributions from the community, keep reading for details and free stuff!
What Is Terraform and How Does It Work?
Terraform is an OSS for building, changing, and versioning Cloud infrastructure safely and efficiently.
Infrastructure as Code: Infrastructure is described using a high-level configuration syntax. The code is stored and managed in a set of text files called "configurations." This allows a blueprint of your data center to be versioned and treated as you would any other code. Additionally, infrastructure can be shared and re-used.
Execution Plans: Terraform has a "planning" step where it generates an execution plan. The execution plan shows what Terraform will do when you call apply. This lets you avoid any surprises when Terraform manipulates infrastructure.
Resource Graph: Terraform builds a graph of all your resources, and parallelizes the creation and modification of any non-dependent resources. Because of this, Terraform builds infrastructure as efficiently as possible, and operators get insight into dependencies in their infrastructure.
Change Automation: Complex change sets can be applied to your infrastructure with minimal human interaction. With the previously mentioned execution plan and resource graph, you know exactly what Terraform will change and in what order, avoiding many possible human errors.
Even more good news: OS configuration tools like Chef, Puppet, Salt, Fabric, Ansible all integrate seamlessly with Terraform, so customers can easily move their existing knowledge, teams, and tooling to the Bare Metal Cloud.
Getting Started with Terraform
- The Terraform book: We're giving copies away! Keep reading to find out how you can get a copy.
- Terraform documentation:
- Scott Lowe writes a great blog, including this introduction to Terraform.
Terraform Examples for Oracle Bare Metal Cloud Services:
We've got a great collection of examples included in the provider:
- Complex configurations:
- Network resources:
- Compute resources:
- Identity and Access management:
Get Some Free Stuff!
We're looking forward to seeing the Terraform configurations customers contribute back to the community; the first ten customers to contribute a configuration that implements any secure, highly available, cross-AD, big-data solution will receive a copy of the Terraform e-book and some Oracle swag. To contribute a configuration just submit a pull request or email me at craig.carl [at] oracle.com.
Technical questions and feedback on this post are both encouraged: craig.carl [at] oracle.com.
$ terraform plan ~/tf/obmcs/secure-mongo/
$ terraform apply ~/tf/obmcs/secure-mongo/
$ sudo ship_it