インフラ配属の新卒エンジニアが入社後3ヶ月でやってきたこと 【IaC編】

こんにちは。 2018 年度新卒入社で開発室インフラチームに配属された高畑です。 今回は、入社して 3 ヶ月が経過した今までにやってきたことを振り返っていきたいと思います。

Infrastructure as Code(IaC)の活用

現在、ウィルゲートで運用しているメディアサービスは、「Terraform」と、「Ansible」を利用して各種サーバの構成を行なっています。

■Infrastructure as Code(IaC)とは

インフラの構成管理をコード化し、 Git 管理やプルリク(レビュー)、 CI などソフトウェア開発のプラクティスを適用すること。

■Terraform とは

  • HashiCorp 社が提供している OSS
  • 管理画面触らなくてもコード 1 つで AWS EC2 などの SaaS 環境が構築できる
  • 冪等性がある
  • tf ファイルで構成を記述

■Ansible とは

  • RedHat 社が提供している OSS
  • サーバのミドルウェアをコードで管理・構築ができる
  • 冪等性がある
  • 構成ファイルは yml
  • Dynamic Inventory がアツい

手作業でインフラ環境を構築するとなると、台数が少ない分には問題ないのですが多くなっていくにつれて各種サーバのパラメータなどの構成管理が難しくなっていきます。

また、インフラの構築手順を手順書に纏めたとしても、手作業による設定・作業ミスが起こるリスクがあり、結果障害へと繋がっていきます。

そこで、インフラの構成をコード化し自動で設定できるようにすることで、手作業による作業ミスがなくなり、また誰が実行しても同じ状態のインフラ環境が構築できるようになるため、より安全に構成を変更できるようになります。

私自身、 IaC に関してはウィルゲートに入社してから触るようになったのですが、 web メディアの運用保守や運用改善を行う際にサーバの構成が書かれた Ansible のコードを修正してレビューをしてもらうのはとても新鮮でした。

f:id:tkhttty:20180619170935p:plain
コードレビューの様子

インフラセクションでの取り組み

TerraformやAnsibleなどの技術についてどのように活用したのか、またどのように使用すると良いのかをインフラチーム内でナレッジの共有を定期的に行っています。

また、後編で紹介する新規技術についても、技術検証した結果や実際に使用してみた事例などを共有して、他のプロジェクトに活かせないかを議論しています。

f:id:tkhttty:20180619175816j:plain
インフラセクションの様子

後編はこちら↓

tech.willgate.co.jp