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をしました。

Keiji Matsuzaki

November 27, 2015
Tweet

More Decks by Keiji Matsuzaki

Other Decks in Technology

Transcript

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

  5. 自己紹介(軽く)
    ● 2014年6月入社 (33歳児)
    ● インフラとしてずっとやってます
    ● 入社時インフラ2名だった
    ● 2回目の確定申告をこれから体験します(`・ω・´)ゞ
    ● 最近筋トレ続けてます
    ● Twitter: @xga
    ● facebook: @futoase

    View full-size slide

  6. 弊社のインフラについて

    View full-size slide

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

    View full-size slide

  8. 今のところ4名

    View full-size slide

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

    View full-size slide

  10. サポートしている業務
    ● 引っ越しサポート
    ○ 12月から全員新しいオフィスへ
    ○ その前の一部引っ越し組のサポート (ネットワークや、机やらタップなどなど )
    ● アプリケーションミドルウェア選定、セットアップ、運用
    ● デプロイ環境整備、 (capistranoの対応など)
    ● テスト環境構築 (Pull Request駆動のテスト環境)
    ● ネットワーク構築 (AWSが主だが、社内でもちょこっと)
    ● マシン選定 (最近情シスロールができたのでそちらに)
    ● CSIRT (ゆくゆくはインフラのみではなくなる)
    ● あとは小さいサービスの実装など (gemやmicro serviceなど)
    ● LPの面倒を見るとか
    ● 障害対応

    View full-size slide

  11. 「日々の業務」

    View full-size slide

  12. 日々の業務
    ● 10:55 〜 全体朝会
    ● 11:30 〜 朝会
    ● 17:00 〜 Sprint振り返り (毎週水曜日)
    ● これ以外の時間は基本ミーティングか通常業務(開発か運用か何か)

    View full-size slide

  13. 「インフラの構造」

    View full-size slide

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

    View full-size slide

  15. 2015年11月は?

    View full-size slide

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

    View full-size slide

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

    View full-size slide

  18. 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が辛い

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

  22. 「アプリとインフラ」

    View full-size slide

  23. アプリとインフラ
    ● アプリとインフラは、チームとしては分かれている
    ● といってもインフラがアプリ(コード)書かないとかそういうことはないヨ
    ● 必要なソリューション提供のためのライブラリ(gem化したり)書いたり、アプリ直した
    りしている
    ● 基本的にアプリのことをわかっている前提で動く
    ○ プロダクト命
    ○ リソースと実装、現実、やりたいことを天秤にかける
    ● 今のところ、アプリ vs インフラみたいな状態になってない
    ○ 今後もならない!!!!

    View full-size slide

  24. 「課題」

    View full-size slide

  25. 課題
    ● 会計freeeのDBがmasterのみの問題
    ○ これは近々解決...できたい。
    ● サービスが増えるに連れて運用のつらみが増してきている
    ○ スクリプト化を進めていく
    ○ フルスペックを目指さず、できるところから手をつけていく (限りがある)
    ● テストの実行速度が落ちてきている
    ○ RSpec(インテグレーションテストなども )の充実による副作用
    ○ 並列化してテストを実行しているが、だんだん現実的時間で終わらなくなってきている
    ● デプロイ速度も落ちてきている
    ○ サーバ台数が増えてきている
    ■ pull/push モデル、コード同期について課題がある
    ● 増え続けるfreeeメンバーのためのネットワーク整備
    ○ 無線でのインターネットを提供し続けたい

    View full-size slide

  26. 課題
    ● 運用するアプリはRailsのみとは限らない現状...!!!
    ○ 現状もGoやJava、Scalaのものが走り始めている
    ■ 個人的にぜんぜんOK
    ○ 運用ノウハウが無いものを始めるものが多い
    ○ それに常に追いつけるようにしなければ …
    ● 開発者が開発しやすい環境を整えられていない
    ○ 今はまだ完全じゃない感
    ○ 開発のしやすさ = 品質に繋がると思う
    ○ どっかで大きい転換を図れるよう、がっつりやる必要がある
    ● いかにアプリとインフラの距離をゼロにするか?
    ○ 完全にゼロにはならないかもしれないけどそうしたい
    ○ プロダクトがわからないインフラは残念感があるので (今のところないはず )
    ● 開発環境整備の大変さ

    View full-size slide

  27. 課題はいっぱい。

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide