Hashicorp社の新サービスATLASと周辺ツールのまとめ

Hashicorp社の新サービスATLASと周辺ツールのまとめ はてなブックマーク - Hashicorp社の新サービスATLASと周辺ツールのまとめ


■概要

ATLAS ( https://atlas.hashicorp.com/ ) は、Vagrant 等を開発している Hashicorp社 ( https://hashicorp.com/ ) が提供開始したサービスです。これまで提供していた Vagrant Cloud の環境をバージョンアップし、開発環境だけでなく、本番環境への展開や運用を1つのワークフローで実現できるようにしたプラットフォームです。

ATLAS はクラウド上のサービスですが、これまでの Hashicorp が公開してきた Vagrant、Packer、Terraform、Consul を1つの画面上で管理できるようになりました。

以下では、サイト上の説明などを元に、ATLAS についてと、周辺ツールについて整理したものです。

■ATLAS https://atlas.hashicorp.com/

ログイン直後のコンソール画面

サイトの説明によると、ATLAS とは”Develop, deploy, and maintain your application anywhere Use one console and one workflow from development to production” ( アプリケーションの開発・デプロイ・運用を何処でも、開発から本番運用を1つのコンソールとワークフローで )と書かれています。これを実現するためのプラットフォームとして、ATLAS というプラットフォームがサービスとして提供されました。

ATLAS は従来の Vagrant Cloud のバージョンアップという位置づけのため、アカウント情報はそのまま利用できます。Vagrant Cloud は、どちらかというと開発環境の構築が主体でしたが、新しく運用の要素が加わっています。運用の要素とは、今年発表された Consul や Terraform というツール群です。

これまで発表されているツールを整理しますと、次のような位置づけです。

・開発環境 … Vagrant ( https://www.vagrantup.com/ )
・環境構築(イメージ管理)… Packer ( https://www.packer.io/ )
・インフラへ展開 … Terraform ( https://terraform.io/ )
・運用支援 … Consul ( https://www.consul.io/ )

従来より Hasicorp の製品説明では、 Dev(開発)と Ops(運用)の問題を解決するためのツール、という表現が見受けられました。その思想を実現するために、ATLAS という統一されたプラットフォーム上で利用できるようにしたものと考えられます。開発も、運用も同じ環境を使えます。そのために、従来は独立していた製品群を、1つにつなげたものという印象があります。

利用シーンは、開発環境を ATLAS に “push” し、Terraform で “deploy” し、Consul で運用部分を担えます。ただし、現在公開されているドキュメントで記述されているのは、デプロイ時にTerraform 上で “atlas” をプロバイダとして指定できるところまでであり、Consul を使った運用部分についてのドキュメントは登場が楽しみなところです。

■ATLAS を支える周辺ツール

・Vagrant https://www.vagrantup.com/
軽量かつ再利用可能で、持ち運び可能な開発環境の構築ツール。いわずと知れたコード化できる開発環境として有名です。

・Packer https://www.packer.io/
複数のプラットフォームに展開するマシンイメージを1つの設定で作るツール。AWS の EC2 向けだけでなく、Google Computing Engine、VirtualBox 等々のイメージを作ります。

・Terraform https://terraform.io/
インフラをコード化するためのツール。AWS や Google 等の複数のインフラを、環境構築・連結・起動まで一元管理できます。

・Consul https://consul.io/
複数のサーバ環境のサービス(プログラム)検出や設定変更を簡単にするツール。監視機能と連動したアクションを起こせるほか、KVS、HTTP、DNSを持ちます。

さて、個人的に面白いと思うのは、従来通りオープンソースで公開されているツールを使い続けても良いですし、ATLAS 上で必要なところを使う運用もできそうな点です。おそらく、Hasihcorp 社としては、バラバラに使うなら、1つの環境で統合運用したら良いんじゃないの?という思想で ATLAS を開発していると思います。ですがそこは強制せず、あくまで、私たちの普段の開発・運用スタイルにあわせて使えます、という提供方法であり、今後の展開が興味深いところです。

もし今日の投稿で興味ある部分がありましたら、いきなり ATLAS を使っても良いと思いますし、個々のプロダクトについても追ってみると発見なり気付きがあって、面白いのではないでしょうか。