Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Collaborative Application and Infrastructure wo...

Collaborative Application and Infrastructure workflow using GitHub Actions and HashiCorp Terraform

Speed is an important success metric for modern development teams. As enterprises start to scale in multi-cloud environments, the Continuous Integration/Continuous Deployment (CI/CD) process is no longer just a developer specific workflow, but a DevOps workflow where both development and operations coordinate their tasks to move forward rapidly. GitHub and HashiCorp are working closely to build an end-to-end DevOps workflow encompassing the entire application development lifecycle. Together we help provide a powerful CI/CD solution that prevents developers and operators from having to wait for their respective tasks to be completed, accelerating delivery. Join this session to learn and see how an updated GitHub Actions and HashiCorp Terraform workflow can simplify collaboration and increase your development team’s velocity through infrastructure automation and applications both delivered as code and on-demand.

GitHub Satellite 2020: https://githubsatellite.com/schedule/#collaborative-application-and-infrastructure-workflow-using-github-actions-and-hashicorp-terraform

Anubhav Mishra

May 06, 2020
Tweet

More Decks by Anubhav Mishra

Other Decks in Technology

Transcript

  1. Copyright © 2019 HashiCorp Collaborative Application and Infrastructure workflow using

    GitHub Actions and HashiCorp Terraform Anubhav Mishra Technical Advisor of the CTO, HashiCorp
  2. About HashiCorp Leading Cloud Infrastructure Automation Our software stack enables

    the provisioning, securing, connecting and running of apps and the infrastructure to support them. We unlock the cloud operating model for every business Founded 2012 Employees 900+ Funding 349M
  3. The Process Transition Traditional Datacenter “Static” Dedicated
 Infrastructure Modern Datacenter

    “Dynamic” AWS Azure GCP + + + Private Cloud + ITIL / ITSM TICKET DRIVEN SERVICE DEVOPS API DRIVEN SELF-SERVICE
  4. HashiCorp Terraform Goal Provide a Unified Workflow Using Infrastructure as

    Code to Iterate Over Infrastructure Safely that is Capable of Provisioning Anything Anywhere.
  5. Cloud Provisioning with Terraform Core + Provider Model ▪ Expose

    the unique services of each infrastructure platform, but provide a consistent workflow

  6. Cloud Provisioning with Terraform Core + Provider Model ▪ Expose

    the unique services of each infrastructure platform, but provide a consistent workflow ▪ 200+ Providers exist for any infrastructure or application element – Enabled by the open source model of 1200+ contributors

  7. Managing Github with Terraform CODE EDITOR resource "github_membership" "membership_for_some_user" {

    username = "admin" role = "owner" } resource "github_repository" "example" { name = "example" description = "My awesome codebase" private = true template { owner = "github" repository = "terraform-module-template" } }
  8. Terraform Workflow DEVELOPER/ OPERATOR TERRAFORM PLAN $ terraform plan +

    resource "github_repository" “example” ….. 
 Plan: 1 to add, 0 to change, 0 to destroy.
  9. Terraform Workflow DEVELOPER/ OPERATOR TERRAFORM PLAN $ terraform plan +

    resource "github_repository" “example” ….. 
 Plan: 1 to add, 0 to change, 0 to destroy.
  10. Terraform Workflow DEVELOPER/ OPERATOR TERRAFORM PLAN TERRAFORM APPLY $ terraform

    plan + resource "github_repository" “example” ….. 
 Plan: 1 to add, 0 to change, 0 to destroy.
  11. Terraform Workflow DEVELOPER/ OPERATOR TERRAFORM PLAN TERRAFORM APPLY $ terraform

    plan + resource "github_repository" “example” ….. 
 Plan: 1 to add, 0 to change, 0 to destroy. $ terraform apply ….. 
 Apply complete!
  12. Terraform Workflow DEVELOPER/ OPERATOR TERRAFORM PLAN TERRAFORM APPLY $ terraform

    plan + resource "github_repository" “example” ….. 
 Plan: 1 to add, 0 to change, 0 to destroy. $ terraform apply ….. 
 Apply complete!
  13. Terraform Workflow DEVELOPER/ OPERATOR TERRAFORM PLAN TERRAFORM APPLY $ terraform

    plan + resource "github_repository" “example” ….. 
 Plan: 1 to add, 0 to change, 0 to destroy. $ terraform apply ….. 
 Apply complete!
  14. Terraform Workflow DEVELOPER/ OPERATOR TERRAFORM PLAN TERRAFORM APPLY $ terraform

    plan + resource "github_repository" “example” ….. 
 Plan: 1 to add, 0 to change, 0 to destroy. $ terraform apply ….. 
 Apply complete!
  15. Terraform Workflow DEVELOPER/ OPERATOR TERRAFORM PLAN API/GUI TERRAFORM APPLY $

    terraform plan + resource "github_repository" “example” ….. 
 Plan: 1 to add, 0 to change, 0 to destroy. $ terraform apply ….. 
 Apply complete!
  16. Collaborating with Terraform GITHUB ACCESS DEVELOPERS OPERATIONS TEAM resource "github_membership"

    "membership_for_some_user" { username = "admin" role = "owner" }
  17. Collaborating with Terraform GITHUB ACCESS DEVELOPERS OPERATIONS TEAM resource "github_membership"

    "membership_for_some_user" { username = "admin" role = "owner" }
  18. Collaborating with Terraform GITHUB ACCESS DEVELOPERS OPERATIONS TEAM resource "github_membership"

    "membership_for_some_user" { username = "admin" role = "owner" }
  19. Collaborating with Terraform GITHUB ACCESS DEVELOPERS OPERATIONS TEAM resource "github_membership"

    "membership_for_some_user" { username = "admin" role = "owner" }
  20. Collaborating with Terraform GITHUB ACCESS DEVELOPERS OPERATIONS TEAM resource "github_membership"

    "membership_for_some_user" { username = "admin" role = "owner" }
  21. Terraform and GitHub Manage Infrastructure and Application Lifecycles DEVELOPER/ OPERATOR

    TERRAFORM CLOUD INFRASTRUCTURE AS CODE TERRAFORM PLAN REVIEW
  22. Terraform and GitHub Manage Infrastructure and Application Lifecycles DEVELOPER/ OPERATOR

    TERRAFORM CLOUD INFRASTRUCTURE AS CODE TERRAFORM PLAN REVIEW
  23. Terraform and GitHub Manage Infrastructure and Application Lifecycles DEVELOPER/ OPERATOR

    TERRAFORM CLOUD INFRASTRUCTURE AS CODE TERRAFORM PLAN REVIEW
  24. Terraform and GitHub Manage Infrastructure and Application Lifecycles DEVELOPER/ OPERATOR

    TERRAFORM CLOUD INFRASTRUCTURE AS CODE TERRAFORM PLAN REVIEW TERRAFORM CLOUD
  25. Terraform and GitHub Manage Infrastructure and Application Lifecycles DEVELOPER/ OPERATOR

    TERRAFORM CLOUD INFRASTRUCTURE AS CODE TERRAFORM PLAN REVIEW TERRAFORM CLOUD
  26. Terraform and GitHub Manage Infrastructure and Application Lifecycles DEVELOPER/ OPERATOR

    TERRAFORM CLOUD INFRASTRUCTURE AS CODE TERRAFORM PLAN REVIEW TERRAFORM CLOUD
  27. Terraform and GitHub Manage Infrastructure and Application Lifecycles DEVELOPER/ OPERATOR

    TERRAFORM CLOUD INFRASTRUCTURE AS CODE TERRAFORM PLAN REVIEW TERRAFORM CLOUD
  28. Terraform and GitHub Manage Infrastructure and Application Lifecycles DEVELOPER/ OPERATOR

    TERRAFORM CLOUD INFRASTRUCTURE AS CODE TERRAFORM PLAN REVIEW CLOUD TERRAFORM CLOUD