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

freeeにおけるSRE的取り組み

Atsushi Kawamura
November 29, 2018
8k

 freeeにおけるSRE的取り組み

freeeにおけるSRE的な取り組みを、広めな感じで紹介します

Atsushi Kawamura

November 29, 2018
Tweet

Transcript

  1. 5 スモールビジネスのトータルサポート 会社設立 freee クラウド 会計ソフト freee 人事労務 freee ✩

    はじめる ↻ 運営する ↗ 育てる いつでもどこでも 5分で会社設立 モバイル完全対応 業務をカンタンに自動化できる シェアNo.1の クラウド会計ソフト 給与事務と労務事務を 1クリックに マイナンバーもお任せ • ビジネスのはじまりから成長までをサポートするプロダクトを提供
  2. 6 6 在庫 社内業務 会計 販売管理 調達管理 仕 入 先

    得 意 先 債権管理 債務管理 発注 仕入計上 支払管理 出金 受注 売上計上 債権管理 入金 自動仕訳 仕訳 経費精算 給与計算 発注 納品 出金 受注 納品 入金 請求 在庫管理 = freee対応領域 入荷 出荷 対応領域(会計フリー 一部) • 在庫管理モジュール以外の領域をワンパッケージで提供 • システムがモジュール単位で分離していない(ツギハギのないシステム) 債務 管理 債権 管理 請求 管理 AI 会計 分析 経費 精算 6 • 会計業務を自動化・集約管理し、業務効率化・意思決定をサポート
  3. 9 サービスの規模は順調に拡大 クラウド会計ソフトのシェアの割合 [1] 35.2% [1] BCN調べ、https://corp.freee.co.jp/news/bcn-retail-7537.html (2017) [2] 当社調べ、「クラウド会計ソフト

    freee」を実際に利用した事業所数 (2018) 6.5万 30万 60万 80万 100万 有効事業所数 [2] • 有効事業所数は100万達成 • サービスの種類も多様化(会計、労務、申告、開業、mynumber... )
  4. 13 他のAWS利用例 • Securityの自動化 - AWS WAF、GuardDuty • データストア -

    RDS、S3、Elasticache • 開発・Deploy支援 - Code Build、Code Pipeline、Cloud Formation • 分析・ログ - Redshift、Elasticsearch、Kinesis etc etc… なるべくマネージド・サービスを使っていくことで、大規模サービスを効率的にさばいていく // もちろんトレードオフ(コスト・柔軟性・依存度など)は理解した上で
  5. 15 定期的な見直し・チューニング • 一度は構築した自動化も、ほっといておくと錆びついてしまう - instance type、scale ruleの見直し、deploy & provisionシーケンス見直し

    - Capacity Planning(繁忙期) - Reserved Instance - aws のpredictive scalingがこの辺勝手にやってくれたりするようになると嬉しい Reserved Instance購入例 繁忙期のアクセス数予測
  6. 21 知識共有改革 • SREヒーロー / SRE留学 - SREでないエンジニア向けの短期留学コース - インフラ周りの問題に対応できる人員を育成していく

    - サービス基盤の概要や、運用の知見を共有 - システムの負荷調査 - SREタスクのレビュー依頼 - 障害対応ペアオペ - など • 障害振り返り会 - 直接関係しないメンバも含めて振り返り会する - 問題発生時のフロー・対応マニュアルの整備 • “あえて共有” 文化 - 言いにくいことも含めて、知識共有をしやすい空気を作る
  7. 23 権限委譲 SREを介さずに目的を達成できる仕組みを作る • 権限委譲の仕組みを整備する - 権限はちゃんと絞る(oneloginとaws iam role) •

    SREを介さずに当事者が設定できるようにする - 例1: インフラ設定をアプリエンジニアが修正する - インフラはコードで管理されているのでPRを作成 - 承認、マージ、適用はSREが実施する - 例2: アラートルールを各自が入れられるようにする - mackerel + slack、k8sはelastalert + 自作operator + slack - ルールの作成・投入と、それの管理・実行部分を切り離し
  8. 24 開発環境改善 テスト環境・開発環境を改善して開発スピードを向上させる • テスト自動化 - PRを評価するテスト環境を自動で構築 - テスト実行まで自動化 -

    来週のシステムテスト自動化カンファレンスで話す予定 • 開発環境のクラウド化 - 新規メンバへ環境を用意する手間が省ける - 必要なときに必要なスペックを用意できる - cloud9もありですがtokyoがまだない
  9. 28 スケーラブルなサービス・組織を実現するためのSRE的な取り組みを紹介 • サービス拡大への対応 ◦ 各種サービスを使いこなして大規模サービスを運用する ◦ 定期的な見直しの機会を設けて正しくチューニングする • 人員増加への対応

    ◦ 知識を円滑に共有するしくみ・文化を作る ◦ 本質的なところにフォーカスするための仕組みを作る ◦ エンジニア数n倍で生産性がn倍以上になる組織を目指す