45
Hashicorp Ramit Surana @ramitsurana /in/ramitsurana Delivering the Tao of devops …

Hashicorp: Delivering the Tao of DevOps

Embed Size (px)

Citation preview

Page 1: Hashicorp: Delivering the Tao of DevOps

Hashicorp

Ramit Surana

@ramitsurana

/in/ramitsurana

Delivering the Tao of devops …

Page 2: Hashicorp: Delivering the Tao of DevOps

Agenda

• Introduction to Hashicorp

• Why Hashicorp

• Hashicorp projects

• Vagrant

• Packer

• Serf

• Vault

• Consul

• Terraform

• Consul

Page 3: Hashicorp: Delivering the Tao of DevOps

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]

Page 4: Hashicorp: Delivering the Tao of DevOps

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.

Page 5: Hashicorp: Delivering the Tao of DevOps

The Tao of Hashicorp

• The tao represents

• The foundation that guides the vision, roadmap, and product design.

• Workflows

• Immutability

• Simple, Modular, Composable

Page 6: Hashicorp: Delivering the Tao of DevOps

Why Hashicorp ?

Page 7: Hashicorp: Delivering the Tao of DevOps

Hashicorp Navratan

• Vagrant

• Packer

• Consul

• Serf

• Atlas

• Otto

• Nomad

• Terraform

• Vault

Page 8: Hashicorp: Delivering the Tao of DevOps

Vagrant

Page 9: Hashicorp: Delivering the Tao of DevOps

Vagrant

• Tool for building complete development environments.

• Machines are provisioned on top of VirtualBox, VMware, AWS, orany other provider.

Page 10: Hashicorp: Delivering the Tao of DevOps

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.

Page 11: Hashicorp: Delivering the Tao of DevOps

Packer

Page 12: Hashicorp: Delivering the Tao of DevOps

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.

Page 13: Hashicorp: Delivering the Tao of DevOps

Platforms Supported

• Amazon EC2

• DigitalOcean

• Docker

• Google Compute Engine

• OpenStack

• Parallels

• QEMU

• VirtualBox

• VMware(OVF)

Page 14: Hashicorp: Delivering the Tao of DevOps

Consul

Page 15: Hashicorp: Delivering the Tao of DevOps

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.

Page 16: Hashicorp: Delivering the Tao of DevOps

Consul Architecture

Page 17: Hashicorp: Delivering the Tao of DevOps

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.

Page 18: Hashicorp: Delivering the Tao of DevOps

Serf

Page 19: Hashicorp: Delivering the Tao of DevOps

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.

Page 20: Hashicorp: Delivering the Tao of DevOps

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.

Page 21: Hashicorp: Delivering the Tao of DevOps

Otto

Page 22: Hashicorp: Delivering the Tao of DevOps

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.

Page 23: Hashicorp: Delivering the Tao of DevOps

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.

Page 24: Hashicorp: Delivering the Tao of DevOps

Terraform

Page 25: Hashicorp: Delivering the Tao of DevOps

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.

Page 26: Hashicorp: Delivering the Tao of DevOps

Resource Graph

• It builds a dependency graphfrom 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.

Page 27: Hashicorp: Delivering the Tao of DevOps

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.

Page 28: Hashicorp: Delivering the Tao of DevOps

Vault

Page 29: Hashicorp: Delivering the Tao of DevOps

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.

Page 30: Hashicorp: Delivering the Tao of DevOps

Vault Architecture

Page 31: Hashicorp: Delivering the Tao of DevOps

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.

Page 32: Hashicorp: Delivering the Tao of DevOps

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

Page 33: Hashicorp: Delivering the Tao of DevOps

Nomad

Page 34: Hashicorp: Delivering the Tao of DevOps

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.

Page 35: Hashicorp: Delivering the Tao of DevOps

Nomad Architecture

Page 36: Hashicorp: Delivering the Tao of DevOps

Consensus Protocol

• It is related to CAP Theorem.

• Built using go-raft library.

• Consists of 3 Roles :

- The Leader

- The Follower

- The Candidate

Page 37: Hashicorp: Delivering the Tao of DevOps

Atlas

Page 38: Hashicorp: Delivering the Tao of DevOps

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.

Page 39: Hashicorp: Delivering the Tao of DevOps

Atlas Architecture

Page 40: Hashicorp: Delivering the Tao of DevOps

How atlas looks like ?

Page 41: Hashicorp: Delivering the Tao of DevOps

Get Innvolved

Github.com/hashicorp

Page 42: Hashicorp: Delivering the Tao of DevOps

Customers

Page 43: Hashicorp: Delivering the Tao of DevOps

Got Questions ?

Page 44: Hashicorp: Delivering the Tao of DevOps

HashiConf

• Started in 2015

• Must attend for Hashicorp fans

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

Page 45: Hashicorp: Delivering the Tao of DevOps

Thank You Check out some of the cool hashicorp stuff !!