SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

【デブサミ2019夏】セッションレポート(AD)

強いインフラチームをどう作る? Infrastructure as Code徹底活用術【デブサミ2019夏】

【A-5】Infrastructure as Codeでインフラチームはもっと強くなる ~ぼくのかんがえたさいきょうのいんふらちーむ~

  • このエントリーをはてなブックマークに追加

 「どのようにして強いインフラチームをつくるか」は、多くのIT企業にとって悩みのタネだ。運用の属人性をなくし、各メンバーの業務負荷を減らしていくことは、達成することが非常に難しい目標である。この難題を見事クリアしているのが、自動車業界向けパッケージシステムの開発・販売を行う株式会社ブロードリーフだ。同社の持つ「強いインフラチームをつくるためのノウハウ」を、インフラエンジニアの左近充裕樹氏が明かした。

  • このエントリーをはてなブックマークに追加

株式会社ブロードリーフ 開発本部 情報基盤部 ネットワーク課 左近充裕樹氏
株式会社ブロードリーフ 開発本部 情報基盤部 ネットワーク課 左近充裕樹氏

Infrastructure as Codeが運用の属人化を防ぐ

 左近充氏はまず、ブロードリーフで使用しているインフラ環境の詳細について解説する。同社はGCP、AWS、オンプレミスなど複数のプラットフォームを利用してサービスを提供している。

 構築している環境は主に「dev(開発)」「stage(ステージング)」「prod(本番)」の3つ。これが各プロダクトやプロジェクトごとに存在しているため、トータルの環境数は何十もの数になるという。また、使用しているサービスやミドルウェア、ソフトウェアは下図のとおりだ。

 インフラのチームの人数は5名(東京3名、福岡1名、札幌1名)。これほどの規模のシステムを、5名で管理するのは大変なことだ。うまくシステムを運用するには、少人数で多くの環境を管理するための仕組みが必要である。それこそが、Infrastructure as Code(IaC)だ。

 「ブロードリーフのインフラチームは、ここ数年間でIaCに注力してきました。IaCとは、ソフトウェア開発のプラクティスをインフラのオートメーションに生かすアプローチのこと。コードによるインフラの管理を行うことで、インフラ構築の冪等性を担保し、自動化を可能にします。作業の属人化が排除されますし、作業工数も削減できるのです」(左近充氏)

 ブロードリーフではIaC実現のためのツールとして、パブリッククラウドのリソースにはTerraformを、OS以上のレイヤーにはAnsibleを、サーバーイメージのパッケージングにはPackerを使用している。

 また、仮想マシンのデプロイのために、CI/CDパイプラインによるイメージの構築を行っている。開発チームがGitLabにモジュールをコミットするだけで、デプロイが可能になっているという。処理フローは以下のとおりだ。

  • 開発者がデプロイしたいモジュールをGitのリポジトリにコミット
  • パイプラインがキックされ、TerraformやAnsible、Packerが入ったリポジトリからパイプラインを起動
  • Workerのインスタンス上で、アップされたモジュールを使って新しいAMIを作成
  • 新しく作ったAMIからインスタンスを作成してスケールアウト
  • 古いインスタンスを削除してスケールイン。新規作成されたインスタンスだけが残る(ただし本番環境の場合は、スケールアウトとスケールインは事故防止のためマニュアルでパイプラインを実行している)

 コンテナのデプロイの場合は、GKE(Google Kubernetes Engine)やAmazon EKSなどのパブリッククラウドはTerraformで管理しており、インフラチームの担当領域。この上に乗るコンテナは開発チームの担当領域となっているそうだ。

次のページ
より価値の高い仕事に人間がフォーカスできるように

この記事は参考になりましたか?

  • このエントリーをはてなブックマークに追加
【デブサミ2019夏】セッションレポート連載記事一覧

もっと読む

この記事の著者

CodeZine編集部(コードジンヘンシュウブ)

CodeZineは、株式会社翔泳社が運営するソフトウェア開発者向けのWebメディアです。「デベロッパーの成長と課題解決に貢献するメディア」をコンセプトに、現場で役立つ最新情報を日々お届けします。

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

【AD】本記事の内容は記事掲載開始時点のものです 企画・制作 株式会社翔泳社

この記事は参考になりましたか?

この記事をシェア

  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/11646 2019/08/07 12:00

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング