アカウント管理など付帯業務が増加……解決に選んだ手段
クラウド活用を推進していく過程で課題となっていたのが運用保守だ。アプリケーションがあればユーザーアカウント管理やセキュリティ対策など、やらなくてはならない作業が山ほどある。こうしたものは、本来取り組みたいアプリケーション開発の付帯的な作業で、加えて同じような作業がアプリケーション開発ごとに発生してしまい、とても非効率だ。またガバナンスを怠ると、部署やチームが自主的にクラウドサービスを利用開始してしまい、野良アカウントの横行にもつながりかねない。こうした課題は先述したようなグループ共通クラウド基盤の導入である程度は解放されるだろう。
とはいえ、もっと効率化したい。その1つにアイシンが選んだのが、クラウド環境構築を効率化する「IaC(Infrastructure as Code)」だ。アイシンではグループ共通クラウド基盤もTatamiも、プロビジョニングにはHashiCorpの「Terraform」でIaC化し、Terraformのワークフロー管理にはHashiCorpの「HCP Terraform」を利用している。パブリッククラウドであればGUIの管理画面から環境構築や設定ができるものの、量が増えてくると労力負担は計り知れない。また環境構築はアプリケーションごとに1つとは限らず、開発環境や検証環境、本番環境でそれぞれ必要になり、これらに一貫性を持たせておく必要がある。
アイシンでの具体的な活用として、Tatamiを例にみていきたい。TatamiはAWSサービスをベースに構築されており、ビッグデータ処理はTeradataの「VantageCloud Lake」、IaC管理はHashiCorpの「HCP Terraform」、オブザーバビリティはDatadogなど最新鋭のクラウド技術を組み合わせている。
実は、Tatamiでは早い段階からTerraform(コミュニティ版)を採用しており、同プロジェクトチーム内ではIaC管理が定着していた。Terraformを選んだ理由として福元氏は「AWSでは『AWS CloudFormation』があるものの、TatamiはAWS以外のサードパーティーツールも使用しているためTerraformが有利でした。またTerraformはIaCのデファクトスタンダードという安心感もありました」と話す。なおアイシンではAWS以外にMicrosoft Azureも使用しているため、全社的にIaCツールを統一することを考えると、Terraformが適していると言える。
実際TerraformでIaC管理を進めていくなかで、同社はSaaS版であるHCP Terraformに移行。福元氏はHCP Terraformならではの重要な機能として「Drift Detection」と、Sentinelの「Policy as Code」を挙げる。前者はTerraformのコードと実際のインフラを比較して差異を検出するためのもの。後者はポリシーの一貫性を保つのに有効だ。あらかじめ環境構築上のルールを定義しておくと、それに違反があればTerraformが指摘する。
「セキュリティや運用保守をないがしろにしないで」
あらためてIaCでインフラを管理するメリットとして福元氏は「環境差異をなくしてシステムの品質を担保すること」と強調する。クラウド環境を手動で都度設定するのではなく、コード化することで仕様や履歴として残り、手作業によるミスもなくす。先述したような環境差異を検出する機能やポリシー違反を検出する機能を使えばさらに万全となる。
加えて福元氏は「IaCのコードがあることで新規メンバーがクラウドを学ぶのに有効です。Tatamiチームでは、新規メンバーにTerraformコードを読み解くことでクラウドを学んでもらいます」と話す。
障害発生時にもIaC管理していると切り分けで有利に働く。環境がコードで構築され、実際のインフラと差がないことも確認している。そのため障害発生時にはまずコードを確認し、問題なければ「それならアプリケーション」と素早く切り分けを進めることが可能だ。
同じような業務を抱える情報システム部門に向けて、福元氏は「クラウドというとキラキラしたイメージがあるかもしれませんが、その裏にあるセキュリティや運用保守をないがしろにしてしまうと、その先が辛くなります。IaCやオブザーバビリティなどをしっかり学んでおくことをおすすめします。情報システム部門でレガシーを長く取り組んできた方なら、むしろこうした感覚はよく分かるかと思います」と話す。
冒頭で紹介したように福元氏はカーナビ開発やその発展形となるビッグデータプラットフォームを統括するなど、非情報システム部門ながら長らくシステムに携わり、その後にCCoEという形で情報システム部門に加わるというやや珍しい経歴を持つ。情報システム部門にジョインした直後はこれまでとの違いに驚いたそうだ。これまでの経験も踏まえて、次のように話す。
「Tatamiをゼロから開発してローンチするところまで携わった後に情報システム部門に来ると、黙っていてもベンダーさんからいろいろと情報提供があることに驚きました。良いプロダクトやソリューションだとしても、運用保守まで考慮しているとは限りません。良いシステムを開発し安定的に少ない工数で運用していくためにも、自ら情報を収集するくらいの積極性を持ち、自社に最適なものを取捨選択できるようにすることが大事です」