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

Hashicorp: Delivering the Tao of DevOps

Hashicorp: Delivering the Tao of DevOps

HashiCorp is an open-source software company based in San Francisco, California that solves development, operations, and security challenges in infrastructure so organizations can focus on business-critical tasks. HashiCorp provides a set of open-source tools and commercial product offerings.

Ramit Surana

February 05, 2016
Tweet

More Decks by Ramit Surana

Other Decks in Programming

Transcript

  1. Agenda • Introduction to Hashicorp • Why Hashicorp • Hashicorp

    projects • Vagrant • Packer • Serf • Vault • Consul • Terraform • Consul
  2. Who am I? • Open source guy. • Foodie, traveler,Explorer

    • Join me on my network, I promise I won't bite :) • Twitter: @ramitsurana • Github: @ramitsurana • Linkedin: /in/ramitsurana • Mail: [email protected]
  3. Who is Hashicorp ? • Hashicorp is a Devops tools

    and product building company. • Using Hashicorp tools we can automate & redesign the company's infrastructure. • Its open-source.
  4. The Tao of Hashicorp • The tao represents • The

    foundation that guides the vision, roadmap, and product design. • Workflows • Immutability • Simple, Modular, Composable
  5. Hashicorp Navratan • Vagrant • Packer • Consul • Serf

    • Atlas • Otto • Nomad • Terraform • Vault
  6. Vagrant • Tool for building complete development environments. • Machines

    are provisioned on top of VirtualBox, VMware, AWS, or any other provider.
  7. Vagrantfiles • Used to describe the type of machine required

    for a project, and how to configure and provision these machines. • Vagrantfiles are portable across every platform Vagrant supports. • Vagrant is meant to run with one Vagrantfile per project.
  8. Packer • Tool for creating identical machine images for multiple

    platforms from a single source configuration. • Packer is lightweight, runs on every major operating system, and is highly performant, creating machine images for multiple platforms in parallel.
  9. Platforms Supported • Amazon EC2 • DigitalOcean • Docker •

    Google Compute Engine • OpenStack • Parallels • QEMU • VirtualBox • VMware(OVF)
  10. Consul • Tool for discovering and configuring services in your

    infrastructure. • Consul makes it simple for services to register themselves and to discover other services via a DNS or HTTP interface.
  11. Jespen Testing • A Jepsen test runs as a Clojure

    program on a control node. • Jepsen has been used to verify everything from eventually-consistent commutative databases to linearizable coordination systems to distributed task schedulers. • Check out more info on it at https://github.com/aphyr/jepsen.
  12. Serf • It is a tool for cluster membership, failure

    detection, and orchestration that is decentralized, fault-tolerant and highly available. • It relies on an efficient and lightweight gossip protocol to communicate with nodes.
  13. Gossip Protocol • It is a tool for cluster membership,

    failure detection, and orchestration that is decentralized, fault-tolerant and highly available. • Modern distributed systems often use gossip protocols to solve problems that might be difficult to solve in other ways, either because the underlying network has an inconvenient structure, is extremely large, or because gossip solutions are the most efficient ones available.
  14. Otto • Otto automatically builds an infrastructure and deploys your

    application using industry standard tooling and best practices. • Otto automatically fetches dependencies, detects conflicts, and installs and configures these dependencies for development and deployment.
  15. Appfile • The file that Otto uses as a source

    of configuration for an application. • Otto takes this file and compiles it to an internal representation that is used by all the Otto subcommands.
  16. Terraform • Tool for building, changing, and versioning infrastructure safely

    and efficiently. • It can manage existing and popular service providers as well as custom in-house solutions. • The 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.
  17. Resource Graph • It builds a dependency graph from the

    Terraform configurations, and walks this graph to generate plans, refresh state, and more. • To walk the graph, a standard depth-first traversal is done.
  18. Resource Addressing • It is a string that references a

    specific resource in a larger infrastructure. • It is made up of two parts: • Module path: • A module path addresses a module within the tree of modules. • Resource spec: • A resource spec addresses a specific resource in the config.
  19. Vault • It secures, stores, and tightly controls access to

    tokens, passwords, certificates, API keys, and other secrets in modern computing. • Vault encrypts and provides access to any secrets. • Every secret in Vault is associated with a lease. Clients must renew their secret within the lease period, or request a new secret.
  20. Shamir's Secret Sharing • It is a form of secret

    sharing, where a secret is divided into parts, giving each participant its own unique part. • The parts or all of them are needed in order to reconstruct the secret.
  21. 2 man rule • Control mechanism designed to achieve a

    high level of security for especially critical material or operations. • Under this rule all access and actions requires the presence of two authorized people at all times. How I remember it. P.S: Must Watch Show
  22. Nomad • Tool for managing a cluster of machines and

    running applications on them. • It abstracts away machines and the location of applications, and instead enables users to declare what they want to run and Nomad handles where they should run and how to run them.
  23. Consensus Protocol • It is related to CAP Theorem. •

    Built using go-raft library. • Consists of 3 Roles : - The Leader - The Follower - The Candidate
  24. Atlas • Atlas deeply integrates HashiCorp open source tools to

    provide an enterprise delivery pipeline. • Atlas deeply integrates HashiCorp open source tools to provide an enterprise delivery pipeline.
  25. HashiConf • Started in 2015 • Must attend for Hashicorp

    fans • Feel free to join me for the next time I go :)