Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Engineer All Hands #5 (freee) 「インフラ」

Engineer All Hands #5 (freee) 「インフラ」

freeeで毎月開催されるEngineer All Hands #5にて、
freeeのインフラについて10minLTをしました。

492da7e022786a647bf0a1efb28db3f8?s=128

Keiji Matsuzaki

November 27, 2015
Tweet

Transcript

  1. Engineer All Hands #5 freee 2015/11/26 松崎 啓治

  2. SonicGardenの皆様、こんばんは!!

  3. None
  4. 読みました!!! http://futoase.hatenablog.com/entry/2015/11/01/201627

  5. 「自己紹介(軽く)」

  6. 自己紹介(軽く) • 2014年6月入社 (33歳児) • インフラとしてずっとやってます • 入社時インフラ2名だった • 2回目の確定申告をこれから体験します(`・ω・´)ゞ

    • 最近筋トレ続けてます • Twitter: @xga • facebook: @futoase
  7. 弊社のインフラについて

  8. 弊社のインフラについて (軽く)

  9. None
  10. 今のところ4名

  11. 「サポートしている業務」

  12. サポートしている業務 • 引っ越しサポート ◦ 12月から全員新しいオフィスへ ◦ その前の一部引っ越し組のサポート (ネットワークや、机やらタップなどなど ) •

    アプリケーションミドルウェア選定、セットアップ、運用 • デプロイ環境整備、 (capistranoの対応など) • テスト環境構築 (Pull Request駆動のテスト環境) • ネットワーク構築 (AWSが主だが、社内でもちょこっと) • マシン選定 (最近情シスロールができたのでそちらに) • CSIRT (ゆくゆくはインフラのみではなくなる) • あとは小さいサービスの実装など (gemやmicro serviceなど) • LPの面倒を見るとか • 障害対応
  13. 「日々の業務」

  14. 日々の業務 • 10:55 〜 全体朝会 • 11:30 〜 朝会 •

    17:00 〜 Sprint振り返り (毎週水曜日) • これ以外の時間は基本ミーティングか通常業務(開発か運用か何か)
  15. 「インフラの構造」

  16. 2015年前半までのインフラの構造は以下を。 Speaker Deckのプレゼン

  17. None
  18. 2015年11月は?

  19. 現在

  20. VPC 分離

  21. VPC 分離 • 今までProductionとStagingが同一VPCだった • Security Group上限までいっちゃった問題発生(後述) • Staging環境を別VPCにした

  22. Network ACLによる トラフィック制御

  23. Network ACLによるトラフィック制御 • 今までトラフィック制御をSecurity Groupに頼っていた ◦ A Security GroupとB Security

    Groupの疎通が必要であれば都度編集・追加 • Security GroupについてVPCあたり100の制限がある • VPC分割と共に、Security Groupを増やし過ぎない運用を行う必要が出てきた • SubnetごとにNetwork ACLを設定し、各Subnet、IPアドレスマスクごとにトラフィッ ク制御のInbound / Outboundの設定を行うように整理 ◦ Productionはこれから。 • Network ACLの制限はSecurity Groupに比べるとゆるい • ただ、数が多すぎると目grepが辛い
  24. 障害時に電話かかってくる

  25. 障害時に電話かかってくる

  26. 障害時に電話かかってくる • Twilioを弊社では電話サポートに利用している ◦ http://twilio.kddi-web.com/case/freee/ • Slack上でbot(hubot)を使って、Zabbix-agentから送られたサーバの問題を検知、 インフラ担当者に電話がかかってくるシステム • ワン切りしてもだめで、Slackに書き込むまで電話が鳴る

    ◦ 5回鳴ったら次の人
  27. 「アプリとインフラ」

  28. アプリとインフラ • アプリとインフラは、チームとしては分かれている • といってもインフラがアプリ(コード)書かないとかそういうことはないヨ • 必要なソリューション提供のためのライブラリ(gem化したり)書いたり、アプリ直した りしている • 基本的にアプリのことをわかっている前提で動く

    ◦ プロダクト命 ◦ リソースと実装、現実、やりたいことを天秤にかける • 今のところ、アプリ vs インフラみたいな状態になってない ◦ 今後もならない!!!!
  29. 「課題」

  30. 課題 • 会計freeeのDBがmasterのみの問題 ◦ これは近々解決...できたい。 • サービスが増えるに連れて運用のつらみが増してきている ◦ スクリプト化を進めていく ◦

    フルスペックを目指さず、できるところから手をつけていく (限りがある) • テストの実行速度が落ちてきている ◦ RSpec(インテグレーションテストなども )の充実による副作用 ◦ 並列化してテストを実行しているが、だんだん現実的時間で終わらなくなってきている • デプロイ速度も落ちてきている ◦ サーバ台数が増えてきている ▪ pull/push モデル、コード同期について課題がある • 増え続けるfreeeメンバーのためのネットワーク整備 ◦ 無線でのインターネットを提供し続けたい
  31. 課題 • 運用するアプリはRailsのみとは限らない現状...!!! ◦ 現状もGoやJava、Scalaのものが走り始めている ▪ 個人的にぜんぜんOK ◦ 運用ノウハウが無いものを始めるものが多い ◦

    それに常に追いつけるようにしなければ … • 開発者が開発しやすい環境を整えられていない ◦ 今はまだ完全じゃない感 ◦ 開発のしやすさ = 品質に繋がると思う ◦ どっかで大きい転換を図れるよう、がっつりやる必要がある • いかにアプリとインフラの距離をゼロにするか? ◦ 完全にゼロにはならないかもしれないけどそうしたい ◦ プロダクトがわからないインフラは残念感があるので (今のところないはず ) • 開発環境整備の大変さ
  32. 課題はいっぱい。

  33. 課題はいっぱい。 (やっていく気持ち)

  34. 「最近がんばってること」

  35. None
  36. 10月ぐらいからずっと Splatoonやってます。 nnid: futoaseなのでよろし く❢❢❢❢❢

  37. 「以上 m(_ _)m」