Yuya Karubeさん
  • コラボレーター
  • SELECK(How to)
  • Yuya Karube

【2016年版】インフラ編・新人エンジニアが知っておくべきサービス4選

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

全4回の連載、今回はインフラ編としてMackerel・Docker・Terraform・Google Cloud Platformという4つツール・サービスを紹介します。

クラウド技術の発達により、インフラの専門化でなくてもインフラ構築・運用・監視などの業務に関わることも多くなってきました。そこで今回は、SELECKが今まで取材をした事例を元に、インフラの専門化でなくても知っておいて欲しいサービス・ツールを紹介します。

過去の連載はこちら

サーバー管理・監視ツール:Mackerel

インフラやサーバーの監視は、従来であればOSSをサーバーにインストールし、細かい設定をして使うというものが基本でした。それがクラウドサービスの流行により、Mackerel(マカレル)のようにサーバーにエージェントをインストールするタイプの監視ツールが登場しました。簡単な設定でオートスケールするインスタンスにもインストールでき、WebベースのUIから簡単に監視、アラートの設定ができます。

Mackerel

簡単なUIでサーバーのメトリクスを取得でき、アラートはSlackのようなチャットサービスに通知することも可能です。インフラエンジニアでなくてもインフラの状態に目を向けることができ、アプリケーションのパフォーマンスを最適化するためにも有効です。類似ツールにはNew Relicがあります。

以下は株式会社フィードフォースが、属人化されていたインフラ監視の仕組みをMackerelの導入により改善した事例です。

APIによりアプリケーションエンジニアでも触ってみようと思ってもらえて、監視ツールへのハードルを下げることができました。インフラ周りの専門知識を必要としないので、それまでインフラエンジニアしか携われなかった領域に他のメンバーも関わることができるようになりました。

サーバー監視は全員で!インフラエンジニアの「職人化」から脱却する仕組みづくりとは

コンテナ型仮想化ソフトウェア:Docker

Docker(ドッカー)は「コンテナ」という形でアプリケーションをパッケージ化し、どのような環境でも動かせるようにする仮想化技術です。アプリケーションのコードのみならず、動作環境もまるっとコンテナ化できるため、「どこで動かしても同じ」状態が作れます。

そのため、本番環境と同じ構成を開発環境で再現するために使われてたり、大人数で同じ開発環境を共有するために使われます。

docker

株式会社リッチメディアでもDockerを使用し、環境の共通化やデプロイの効率化を実現しています。

Dockerの Ecosystemが好きなんです。世界中の人がDockerのコンテナイメージを作って、それをシェアしあって、継承しながらまた新しいものを作る。これまでは、ソースコードだったらGitHubでお互いにレビューしあうというのはあっても、インフラでそのような機能があるものってなかったんですよ。

すべて無料!クラウドなし! Dockerで離れたエンジニア同士を繋ぐ仕組み

インフラ構成管理:Terraform

Terraform(テラフォーム)はクラウドサービス上のインスタンス構成や、ネットワークの構成をコードで管理できるOSSです。ある構成のWebサーバーを5台立ち上げる、という仕事も、コマンドを1つ叩くだけで出来るようになります。

Terraform

インフラの構成をコードに落として可視化することで、問題の発見が容易であったり、オペレーションミスを抑えられるという効果があります。こういった技術はInfrastructure as Code(インフラのコード化)と呼ばれ、chefAnsibleといったツールも合わせて注目を集めています。

また、Terraformを提供するHashiCorp社は、SerfやConsulなどの数多くのインフラ向けツールを提供している会社としても有名です。同社の他のツールも触ってみてはどうでしょう!

株式会社grasysでは、Ansibleで作成したサーバーを一度インスタンスイメージとして保存し、それを元にTerraformで環境を構築するという組み合わせで活用しています。

人間なので、ミスは必ず発生してしまいますよね。ただ、ドキュメントを元に1台1台コピペで設定するフローだと、コピペですらミスは発生するし、どこでミスしたのかも分からなくなってしまいます。だから手順書を書くよりも、コードとして残しておく方が確実です。

人はミスをするもの。手順書よりも確実にインフラ構築を自動化する「Terraform」

クラウドコンピューティングプラットフォーム:Google Cloud Platform(GCP)

Amazon Web Services(AWS)が登場し、Webサービスを支えるインフラの主戦場はクラウドへと移り変わっていきました。その中で、AWS以外の選択肢としてここ数年急激に人気が出てきているサービスが、Googleが提供するGoogle Cloud Platform(グーグルクラウドプラットフォーム)です。

Google Cloud Platform

GCPはGmailやYouTubeなどのGoogle社のサービスと同じデータセンターを使用しているため、パフォーマンスや信頼性の面では高い評価を得ています。また、後発ながらも、1分ほどでインスタンスが立ち上がるGoogle Compute Engineや、データを保存するコストが格安なGoogle BigQueryといった魅力的なサービスを揃えています。

以下は「Google Cloud Platform認定トレーニング」を提供する、株式会社トップゲートの事例です。

Google Cloud Platform を見ていると、これからのパブリッククラウドの動向はチェックしておかなければいけないな、と思います。Googleすべてのサービスと同じインフラを使えるというのはすさまじい破壊力で、黒船というレベルではなく、もはや黒い宇宙船です(笑)

Google Cloud Platform の強さの秘密と、押さるべき3つのサービスとは

次回は最終回...

次回の第4回が最終回の予定です。「データ分析基盤編」という結構ニッチなテーマにしようかと考えていますが、まだどうなるか分かりません。公開をお楽しみに!

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