HashiCorpから、Atlasが正式版 ( General Availability ) になったというブログの投稿がありました。内容把握の参考にと、翻訳しましたので公開します。例によって参考程度にどうぞ。
—
■ Atlas 正式版 (General Availability)
原文:Atlas General Availability – HashiCorp
https://www.hashicorp.com/blog/atlas-general-availability.html
Atlas 正式版の発表に胸が高まります。Atlas はインフラのバージョン管理システムを作るために、私達の良く知られているオープンソースのツールを積み重げて連携したものです。インフラの変更の自動化・監査・共同作業を、あらゆるインフラ事業者を横断して行います。
2014 年 12 月に Atlas を公開して以降、7ヶ月に渡って非常に生産的な日々を過ごしました。この期間、私達のチームによる大変な努力により、プロダクトは磨き上げられ、直感的な経験をもたらします。Atlas 稼働の管理下にあるノード台数は、毎月2倍に増えました。私達には優れたフィードバックをいただけるパートナー、Mozilla、Cisco、Capgemini などがいます。
現在の HashiCorp は、新しい章に入りつつあります。私達は常にオープンソース・プロジェクトの改良やサポートに、しっかりと専念していきます。それらは私達の会社と Atlas の基板です。私達は技術開発やコミュニティ構築と一緒に、スケーラブルかつお客さまの立場を考えたビジネスの構築にも取り組みます。
■ 技術プレビューから正式版への道のり
Atlas 技術プレビューの公開時点では、Vagrant box の保管と Packer で AMI を構築するだけでした。7ヶ月を経た今日、ようやく Atlas は HashiCorp のオープンソース・プロダクト全てを深く統合します。プロダクトは、Vagrant、Packer、Terraform、Consul、そして Vault です。Atlas は Vagrant box を保管し、Vagrant 上に追加機能を提供します。Atlas は Packer 構築のために、VMware、AWS、Docker、VirtualBox など、様々なフォーマットに対応しています。
インフラのためのバージョン管理システムを形成するために、これらの機能が一体となります。
新しい開発プロジェクトを Git ( GitHub と)のようなバージョン管理システム無しに始めるのは、想像しづらいです。その一方、そのアプリケーションがデプロイ(展開)されるのは、バージョン管理されておらず、不透明で、脆弱なインフラなのです。開発者やオペレータに対し、私達が Atlas で提供したいのは、デプロイやアプリケーションの管理をエレガントに、生産性を加速するツールと共同作業(コラボレーション)プラットフォームです。チームが Atlas を使い始めれば、インフラのためのバージョン管理システムが無い未来は想像できなくなるでしょう。
Atlas がもたらす特定の機能詳細や、Atlasに関連するオープンソース・プロジェクトとの連携方法を学ぶには、このまま読み進めてください。
■ Atlas の Packer 機能
Packer はデプロイや開発のためのアーティファクト(訳注;マシン・イメージを抽象化した Packer での呼び方)を構築するもので、世界中で何万社も利用されています。Packer 周辺の Atlas 機能は、組織で Packer を使うにあたって起こる共通の課題を解決します。
- Atlas は Packer を実行します – 開発マシン上で長時間の構築が必要かもしれない時に、(あなたに代わり)Atlas が Packer を実行実行します。これはローカル・リソースを解放するだけではなく、ローカルマシン上での構築が難しい時に Packer が構築用のプラットフォームになります。
- アーティファクトの保管とバージョン管理 – Atlas は Packer 構築(AMI や、VMware イメージ、Docker コンテナ等)におけるアーティファクト出力の保管とバージョン管理を行います。これは単一の中央アーティファクト・レポジトリであり、API でアクセスできます。これにより、最新または特定バージョンのアーティファクトをデプロイする(たいてい Terraform と使います)場合、構築周辺に関わるオーケストレーションを簡単なものにします。
- 構築ログと履歴 – Atlas は Packer 構築時の全履歴を保持します。履歴には、誰が実行に着手したか、構築時の結果、Packer からのログが含まれます。構築履歴はアプリケーションやアーティファクトの名前空間に保管されるので、手軽に参照したり Packer build を繰り返せます。
Packer の機能や使い方の詳細については、ドキュメントをお読みください。
■ Atlas の Terraform 機能
Terraform は自動的にインフラをプロビジョニング(訳注;自動的な設定・環境構築)するためのコマンドライン・ツールです。Terraform 上で Atlas を使うと、チームにおけるインフラのデプロイを、安全な手順で共同で行えるようにします。
- Terraform state(状態)ストレージ – Atlas は Terraform の state を保存し、全てのオペレーション作業が同じ状態になるようにします。state によって別々の状態で変更できなくなるため、常にインフラに対する一貫した視点を Terraform が提供します。
- Terraform plan と apply – Atlas はインフラに対してどのような変更するかの計画(plan)を作成し、Terraform を実行できます。plan が承認されると、Atlas は Terraform を実行し、これら変更を適用(apply)します。この時の全てのログは記録されており、Atlas から参照できます。
- インフラの changelog (変更履歴) – Terraform plan と appry 実行時の全ての履歴(成功・失敗どちらも)は保管されており参照可能です。これは Git における “commit view” と非常に似ています。インフラに対する変更は、長い時間を経過しても参照でき、誰が変更を計画したかや、誰が変更の受け入れ時たか、そしれ、その変更の結果がどうなったかを見られます。
- GitHub と Terraform のリンク – Terrafrom はコードとしてのインフラ(infrastructure as code)に希望を与えるものです。インフラの状態をバージョン管理可能なテキストファイルに定義します。テキストファイル自身のバージョン管理や保管に GitHub は最も適した場所です。GitHub と Atlas を連携することで、Atlas は pull レビューの一部として、自動的に Terraform plan を実行できます。これにより、自身のインフラに対する変更を、コードによって効率的に見られるようにします。
更なる Terraform の機能や使い方については、ドキュメントをお読みください。
■ Atlas の Consul 機能
Consul はサービス・ディスカバリと設定と監視のためのツールです。Consul と Atlas を連携することで、Consul のブートストラッピング(訳注;クラスタ構成時の初期作業のこと)や、クラスタ状態の視覚化、Consul クラスタに変更があったときのアラート機能を提供します。
- サービスとノード状態のダッシュボード – Atlas はConsul クラスタ上の全てのノードとサービスのヘルス状態を、単一のインターフェース上で表示します。インフラの状態をリアルタイムに簡単に視覚化します。
- Consul クラスタにおける、ピアへの自動参加 – フラグを1つ指定するだけで、Consul エージェントは自動的にクラスタを見つけ出し、参加(join)します。これにより、手動でのブートストラッピングを行う必要は無く、Consul の起動をより簡単にします。
- アラートを Slack・PagerDuty・メール等に通知 – Atlas は Consul クラスタに変更が発生すると通知します。変更とは、監視イベントや、クラスタのヘルス状態などです。
- クラスタ変更履歴 – Atlas は Consul のインフラに変更が見受けられ疎き、ログに記録します。変更とはノードの参加や、サービスのヘルス状態が正常/異常かなどの状態です。Terraform のログと一緒になっており、インフラを使い続けると、その変更された情報が追記されていきます。
更なる Consul の機能や使い方については、ドキュメントをお読みください。
■ 正式版の詳細
Atlas が正式版になった大きな変更は、もはや無料のプロダクトではないことです。管理ノードが 10 になるまでは無料ですが、管理ノードごとに$40/月額です。Vagrant と Packer の機能、これには Vagrant share、private box、制限のない builder の利用が含まれますが、これらは完全に無料です。私達は特定の builder の利用対しては、将来的に制限するかもしれません(長時間に渡るビルドや、並列処理など)。不明な点がありましたら、support@hashicorp.com までメールをいただけますでしょうか。あなたと計画について議論します。基本のメールによるサポートは、全ての利用者が受けられます。
もしアカウントが支払い段階にあれば、8月の初めての課金サイクル前に連絡します。もし、正式版に関してや、優先サポート、SLA、オンプレミスへのインストールについて質問があれば、support@hashicorp.com にお訊ねください。
■ Atlas ロードマップ
業界をリードするオープンソース・プロジェクトを継続しながら、これまでの7ヶ月間で、上に挙げた全ての機能を利用可能にしました。今後数ヶ月、Atlas は非常に大きな実装を目指します。以下はロードマップ上にある面白い機能のいつかです:
- 全機能を縦断する GitHub 連携 – Terraform、Packer、Consul(Key/value) の設定に GitHub と連携します。これにより、GitHub 変更をトリガとして、Atlas 上のインフラを自動的に更新する設定ができるようになります。
- 設定間の重複部分を削除 – Packer、Terraform、Cosnul 間には冗長な部分があります。これらのツールを同時に使うとき、設定を簡単にするよう計画しています。
- Vault 統合 – 私達の他のツールと同じように Vault を統合して、Vault の機能を追加します。
■参考情報
Atlas General Availability – HashiCorp
https://www.hashicorp.com/blog/atlas-general-availability.html