PLAID Engineer Blog

PLAID Engineer Blog


KARTEを提供する株式会社プレイドのエンジニアブログです。プレイドのエンジニアのユニークなパーソナリティを知ってもらうため、エンジニアメンバーたちが各々執筆しています。

PLAID Engineer Blog

【トレタ×プレイド】TechBlog Deep Dive Meetup #1 〜インフラ編〜 を開催しました!

Daiki MatsuiDaiki Matsui

こんにちは!プレイドでインフラエンジニアをしている@ikemonnです。

7/5(火)に【トレタ×プレイド】TechBlog Deep Dive Meetup #1 〜インフラ編〜 を開催しました!

DSC09468.JPG (2.1 MB)

TechBlog Deep Dive Meetup とは

色々な会社で書かれているTechBlogの人気記事の内容を深掘りしていく勉強会です!

実際にブログを書いたエンジニアに登壇してもらい、記事の内容+α(ブログに書ききれなかったこと、ブログを書いた後に行ったこと等)を発表してもらいます。

今回は、トレタさんと一緒に開催させていただきました!

トレタさんからは、EngineyardからAWSに移設してAuroraの運用を開始したトレタのインフラ運用、支えている道具(Packer, Terraform, Serverspec, Ansible, Roadworker, Circle CI)、考え方を書かれた佐野氏に登壇して頂きました。

プレイドからは、1年で4億UUを解析したKARTEを支えるAutoscaling 3パターンを書いた@tik-son が登壇しました。

DSC09506.JPG (2.2 MB)

発表内容

トレタのインフラ運用

<img width=100%" alt="DSC09476.JPG (2.6 MB)" src="https://img.esa.io/uploads/production/attachments/1957/2016/07/07/6940/fc540804-45bb-425c-a2c2-1450070b8c29.JPG">

トレタのインフラ運用について具体的に「どのようなツールを使って」「どのように運用しているか」を話していただきました。

Terraform, Packer, Ansible等、導入理由と運用上押さえておくべきポイントが上手くまとまっており、大変勉強になりました。

弊社でもTerraformを利用しており、お話にあったtfstateファイルの扱いすべてをterraform管理下には置かないという部分は気をつけて運用しております。

「この発表をTerraformを使い始める前に聞きたかった…」となるプレゼンでした!

KARTEを支えるAutoScaling~SpotInstance編

DSC09536.JPG (2.2 MB)

いかにAutoScalingとSpotInstanceを上手く活用して運用しているかを話してもらいました。

SpotInstanceと聞くと「一時的なバッチ処理に使う」「テスト環境に使う」というイメージがあるかもしれないのですが、弊社では本番環境のステートレスなサーバ全てに使用しています。(管理画面用サーバ、解析サーバ等)

この発表では、SpotInstanceの価格変更にあわせて自動的にondemand⇔spotを切り替える仕組みを実装した話をしてもらいました。

ポイントは、ondemand, spot, staticの3種類のサーバ群を用意すること。

「どのようなフローで切り替えを行っているのか」「実装する時に気をつけないといけない点」が詳しく書かれております。

実際に運用にのせたところ、サーバコストが1/2ほどになっているので、「サーバコスト減らしてよ!」と言われているインフラエンジニアの方必見です!

対談

DSC09597.JPG (2.2 MB)

以下の3つのテーマで対談を行いました!

  • HashiCorp製品の何をどうやって使っている?
  • AWSで辛いところは?
  • 今後の展望

HashiCorp製品の何をどうやって使っている?

トレタさんではTerraform,Vagrant,Packerを、プレイドではTerraformを使っています。

  • Terraform
    • トレタ
      • VPC
      • Security Group
      • EC2
    • PLAID
      • AutoScaling Group
      • EC2
      • ELB
      • CodeDeploy等
  • Vagrant
    • トレタ
      • 開発環境構築
  • Packer
    • トレタ
      • AMI作成
      • Vagrant box作成

AWSで辛いところは?

  • ELBのIPを固定できないのが辛い
  • ELBのスケールが遅い
  • AutoScaleのAPIの上限が低くてすぐRateExceededになる

今後の展望

  • その時点での最適で柔軟なインフラ構成にしたい
  • AWSやGCPのどちらか一方を使うのではなく、両方の良いサービスを取り入れたハイブリッドなインフラ構成にしたい

Railsアプリケーション郡の構成管理、デプロイ等の話

サーバの構成管理とデプロイをどのように行っているのかを話していただきました。

構成管理で使っているのはTerraform。
トレタのインフラ運用でもお話がありましたが、Terraformには管理に向くリソースと向かないリソースがあります。
具体的にどのリソースを継続的に管理していて、どのリソースは構築時のみ使うのかということに触れられているので、何に使うべきか迷っている方は一読を!

AMI作成までLaunchConfig作るまで等を調整出来る、独自Packerクローンを作られたとのこと。すごい…!

Dockerizeして
大変だった話、幸せになった話
from Akira Miki

Docker導入して大変だったことと、その後に訪れた幸せについて話していただきました。

どんなことが大変だったのかの話では、運用に乗せてみないとなかなか想像しづらかった部分について話しておられたので勉強になりました!

苦労を乗り越えた後の幸せの話では、リソースの有効活用とデプロイ時間の短縮など「よーし、明日からDocker入れるぞ!」という気にさせられました!
次回はLTではなく、20分枠で是非!

2つのAuroraクラスタを同期したお話

暗号化対応していない時期から使っていたAuroraを、リードレプリカを作ることで暗号化させた話をしていただきました。

ぱっと聞いただけで大変そうな話で、工夫してBinary Logの位置を書き出されたりすることでレプリカセットを組み、無事暗号化されたとのことでした!

まとめ

AWS, Terraform, Docker等、サーバ構築からプロビジョニング、運用まで幅広く各社の取り組みを聞くことができた勉強会でした!
使用しているツールや、実運用の際にハマっていたり気をつけている部分が似通っていたこともあり、定期的にこのような会を開いて「上手くいったこと」「失敗したこと」の共有をしていければ良いなと思いました!

一緒に勉強会を開催してくださる企業さまも絶賛募集中です!
弊社HPのお問い合わせフォームからご連絡いただくか、Twitterで #plaidtech をつけてツイートしてください!

次回

プレイドでは今後も色々なテーマで定期的に勉強会を開催する予定です!
次回は「機械学習」に関する勉強会を8月頃に開催する予定ですので、是非ご参加ください。
今回もイベント募集開催日に募集人数がオーバーしてしまいましたので、ご興味がある方はconnpassのPLAID techでメンバー登録を!

ウェブ接客プラットフォーム「KARTE」を運営するプレイドでは、
KARTEを支える技術に興味を持つエンジニア(インターンも!)を募集しています。

詳しくはこちら(Wantedly)募集一覧をご覧ください。

Daiki Matsui
Author

Daiki Matsui

Comments