コード化でDevOpsを支えるHashiCorpのツールと開発背景

HashiCorpとは?「HashiCorp」という名前を知らなくても、Vagrantというツールの名前なら聞いたことがある、もしくはすでにお使いの方もいらっしゃるのではないでしょうか。Vagrantは仮想化された開発環境を簡単に立ちあげられるため、開発者サイドにとってはおなじみのツールです。このV

前佛 雅人(ぜんぶつ まさひと)

2015年3月5日 21:00

HashiCorpとは?

「HashiCorp」という名前を知らなくても、Vagrantというツールの名前なら聞いたことがある、もしくはすでにお使いの方もいらっしゃるのではないでしょうか。Vagrantは仮想化された開発環境を簡単に立ちあげられるため、開発者サイドにとってはおなじみのツールです。このVagrantを開発したMitchell Hashimoto氏が創業した会社の名前がHashiCorpです。

HashiCorpが提供するツールは、開発者向けのものだけでなく、運用担当者向けのものもあります。連載初回の今回は、HashiCorpとは何であり、どのようなツールを、どのような考えで提供しているのかを紹介します。

HashiCorpの沿革

きっかけはVagrantの開発がスタート地点でした。Mitchell Hashimoto氏が2010年にVagrantバージョン0.1をリリースした後、2012年にVagrantをはじめとしたソフトウェアをサポートするための会社をArmon Dadgar氏と設立しました。設立の目的は、アプリケーションの開発・デプロイ・運用に至るデータセンター管理に、革命をもたらすことです。その後、2013年にPackerとSerf、2014年にVagrant CloudやConsul、Terraformと、開発から運用まで使えるツール群を立て続けに発表しました。そして2014年末には、これまでに発表したツールを包括する新サービスATLASの発表を行っています。

HashiCorpは、どのような考えでツールを提供しているのでしょうか。同社の紹介サイトによると、「技術のギャップを埋めるためのツールを提供したい」と書かれています。昨今のサービスやアプリケーションの環境は、物理だけ、クラウドだけ、コンテナだけではなく、複数のものから構成されています。他にもIaaS、PaaS、SaaSのような基盤も複数あり、さらにLinuxやMac OS X、Windowsといった複数のOS環境の組みあわせから構成されています。これらの間に存在するギャップを埋めるためのもの、HashiCorpはそれらを提供したいと考えています。

HashiCorpのツールの特徴として、これらが全てオープンソースとして提供されていることが挙げられます。それだけでなく、GitHubを用いたオープンな開発体制をとっています。問題や改善点があればGitHubでリクエストを随時受け付けてられており、有用な提案については機能として取り込まれることもあります。Go言語で記述されたコードやライブラリはGitHubで全て公開されていますので、自由に使うことができます。また実行バイナリもLinuxやMac OS X向けだけでなく、Windows向けも提供されています。

開発から運用まで支えるツール群

現在、HashiCorpからは5つのツール群が提供されています。以下では、それぞれの概要と役割を紹介します。

Vagrant

Vagrantは、仮想環境上に自動的にOSやアプリケーションの実行環境を整えます。設定ファイルを使うことで、特定のアプリケーションやミドルウェアのセットアップも自動的に行えます。「vagrant up」とコマンドを実行するだけで、環境が使えるようになります。それだけでなく、その設定ファイルを使えば、他の環境でも同様の実行環境を得られます。このVagrantは、HashiCorp創設者のMitchell氏による最初のツールです。

Packer

Packerは、複数の仮想化環境・クラウド環境に対応した仮想マシン・イメージを作成、起動するためのツールです。それぞれの環境に合わせてマシン・イメージを迅速に自動生成するため、複数の環境に対応したイメージを用意する手間が省けます。AWSのAMI(マシン・イメージ)だけでなく、VMwareやOracle VM VirtualBoxの形式にも対応しています。

Terraform

Terraformは、クラウド環境上のインフラ構築や設定を、コードを使って自動化するためのツールです。あらかじめ設定ファイル上で、インフラのあるべき状態を定義します。そうすることで、複数台で構成されるアプリケーションの実行基盤もコマンドを用いて簡単に作成・変更・削除できます。AWSやGoogle Cloud、DigitalOcean等のクラウドに対応していますが、それ以外のクラウド環境への対応も進んでいます。また、活発な機能改善も行われています。

Serf

Serfは、複数のサーバで構成されるクラスタの情報を管理し、クラスタを構成するサーバ上で同じコマンドを一斉に実行するためのツールです。各サーバでSerfを動作させ、お互いに通信を行ってクラスタを構成します。このクラスタの参加・離脱や任意のタイミングでコマンドを実行できるほか、ホスト名やIPアドレス等を環境変数で取得し、ミドルウェアや監視ツールの設定を、クラスタ構成にあわせ自動的に変更できます。

Consul

Consulは、サービスの検出(service discovery)やサービスに対する監視を行い、状況を知るだけでなく、状況変化に応じて任意のコマンドを実行できるツールです。Serfを基盤としていますが、可用性を高めるために複数台でサーバを構成します。キー・バリュー・ストアの機能、HTTPのRESTインターフェースや、DNSインターフェース機能を持ちます。システムが稼働した後の運用時、異常検出や自動復旧を行いたい時に役立ちます。

人気記事トップ10

人気記事ランキングをもっと見る

企画広告も役立つ情報バッチリ! Sponsored

ClickHouse Cloudが実現した広告運用SaaS「ATOM」のデータ基盤革新、パフォーマンスを向上しながら、運用負荷とコストを削減 11月11日 6:20 AIで開発が加速する時代、品質保証はどう変わる? Tricentisが示すAIエージェント活用の実像 11月9日 6:45 悪用までの猶予が「1分」に迫るフロンティアAI時代に開発と本番を貫く脆弱性管理が必要 10月29日 8:30 欧州CRA対応とSBOM運用。AI生成コードのOSS混入問題の対策とは ――スニペット単位で検出する「FossID」「Insignary Clarity」によるSBOM運用 9月16日 6:40 PostgreSQLからTiDBへ、稼働中SaaSで進める段階的DB移行の実践と再設計への展望 9月7日 6:30 機能安全開発におけるGoogleTestの活用を支援!「Parasoft C/C++test CT」で実現する効率化&AI連携 4月14日 6:30 【CNDW2025】Grafanaが明かす「オブザーバビリティの哲学」ー最小限の労力で実用的なインサイトを得るには 1月23日 6:30 【CNDW2025】プロダクト急増に備える基盤刷新 ーウェルスナビがECSからEKSへの移行で得た知見とは 1月15日 6:30 【CNDW2025】250環境を5人で運用、構築時間は30分に ーKINTOテクノロジーズが語るインフラ基盤組織の作り方 2025年12月18日 6:30 新たな自動化で熱視線! AIエージェントの「推論能力」を支える2つのコンポーネントとは? 2025年11月28日 6:30