Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
レガシーな基盤にSREを入れるには
Search
bayashi
November 26, 2018
Technology
5
3k
レガシーな基盤にSREを入れるには
dip × istyle 合同勉強会 #02
https://istyle.connpass.com/event/106232/
bayashi
November 26, 2018
Tweet
Share
More Decks by bayashi
See All by bayashi
レガシーなサイトにFastlyを入れて改善した道のり.pdf
bayashi_ok
2
4.2k
DIPのSRE活動とこれから
bayashi_ok
3
3.8k
Other Decks in Technology
See All in Technology
ゼロからはじめる採用広報
yutadayo
4
1k
Delegating the chores of authenticating users to Keycloak
ahus1
0
180
Four Keysから始める信頼性の改善 - SRE NEXT 2025
ozakikota
0
210
アクセスピークを制するオートスケール再設計: 障害を乗り越えKEDAで実現したリソース管理の最適化
myamashii
1
330
AWS CDK 開発を成功に導くトラブルシューティングガイド
wandora58
3
170
Operating Operator
shhnjk
1
650
Claude Code に プロジェクト管理やらせたみた
unson
8
4.9k
american airlines®️ USA Contact Numbers: Complete 2025 Support Guide
supportflight
1
120
第64回コンピュータビジョン勉強会「The PanAf-FGBG Dataset: Understanding the Impact of Backgrounds in Wildlife Behaviour Recognition」
x_ttyszk
0
170
助けて! XからWaylandに移行しないと新しいGNOMEが使えなくなっちゃう 2025-07-12
nobutomurata
2
140
VGGT: Visual Geometry Grounded Transformer
peisuke
1
620
関数型プログラミングで 「脳がバグる」を乗り越える
manabeai
2
220
Featured
See All Featured
Build your cross-platform service in a week with App Engine
jlugia
231
18k
Into the Great Unknown - MozCon
thekraken
40
1.9k
Building a Scalable Design System with Sketch
lauravandoore
462
33k
Docker and Python
trallard
45
3.5k
How GitHub (no longer) Works
holman
314
140k
How to train your dragon (web standard)
notwaldorf
96
6.1k
Why You Should Never Use an ORM
jnunemaker
PRO
58
9.4k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
181
54k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
47
9.6k
Bash Introduction
62gerente
613
210k
How to Ace a Technical Interview
jacobian
278
23k
Transcript
1 Copyright © DIP Corporation. d i p × i
s t y l e 合 同 勉 強 会 # 0 2 N o r v e m b e r 2 6 , 2 0 1 8 T a k a z u m i O k i b a y a s h i レガシーな基盤にSREを入れるには
2 自己紹介 Copyright © DIP Corporation. • ディップ運営サービスのインフラエンジニア(2016年9月入社) • 前職:
• 中小企業のSIer • Javaを書いたりサイトの保守運用したり • 某新聞社に約3年半インフラエンジニアとして常駐し、 事業会社のエンジニアに興味を持ち転職 • 入社後、サイトリニューアルプロジェクトや常時HTTPS化を実施 • 2018年9月から本格的にSREチームを設立 沖林 孝澄 (おきばやし たかずみ) システム開発部システム基盤課
3 Copyright © DIP Corporation. レガシーインフ ラからの脱却 インフラ からSRE へ
サイト信 頼性向上 さらなる 改善と行 動 今日話したい場所 ここ!!!
4 Copyright © DIP Corporation. DIPについて
5 Copyright © DIP Corporation. すこし宣伝 ガクセイハンター 11/6 サービスイン 優秀な学生にお仕事を依頼したい方はご連絡ください。
[email protected]
日本初、学生に特化したチーム副業サービスサイト
6 DIPについて Copyright © DIP Corporation. 1997年設立。『バイトル』をはじめ、アルバイト・派遣・正社員のお仕事情 報、看護師の人材紹介サイトを運営。
7 システム基盤課について Copyright © DIP Corporation. DIP運営サービスのインフラ全般を担当 運用・保守レベルは異なってくるもののすべての範囲のインフラに携わっている
8 Copyright © DIP Corporation. 今日お話ししたいこと 「レガシーインフラ」に「SRE」を入れるとどうなるか
9 Copyright © DIP Corporation. ※補足 レガシーインフラとは • 一般的には古くなったサーバや、ソフトウェアなどを指します。 •
設計書や仕様書や手順書が残っておらずメンテされず動いているサー バ(まさにブラックボックス) • 単純に「古い」というだけではなくロジックを変更せずに修正し移行 しているようなシステム • リリース優先でその後の運用やルールが確立されていないシステム
10 Copyright © DIP Corporation. ※補足 SREとは • Googleが提唱したITシステムの安定運用を支えるための手法 •
通常の運用でオペレーターの操作を必要とするケースは、それその ものがバグという考えのもと運用負荷(Toil)の削減を目指している • 作業効率化、サイトパフォーマンス改善が主な業務
11 Copyright © DIP Corporation. 話の経緯 2016年9月DIP入社 入社して思った事 『レガシー』 ・現行のサーバはものによってブラックボックス
・飛び交うアラートメール ・サーバの種類が多くOSも様々(物理・仮想・クラウドが入り混じる状態) ・手作業によるリリースやログ分析 ・ツールが多すぎてドキュメントがどこにあるかわからない etc…
12 Copyright © DIP Corporation. 話の経緯 このままじゃやばい…
13 (勝手に)一人SRE発足 Copyright © DIP Corporation.
14 Small Start (2016) Copyright © DIP Corporation. ナースではたらこリニューアル施策実施 ・Ansibleでのサーバ自動構築
・Fluentdでのリアルタイムログ収集 ・ElasticSearch+Kibanaでのログ可視化 ・Drone.ioでのBlueGreenデプロイ ・マニュアル化
15 徐々に共有 (2017) Copyright © DIP Corporation. バイトルリニューアル施策実施 ・Ansibleでのサーバ自動構築(他メンバー実施) ・Fluentdでのリアルタイムログ収集
・ElasticSearch+Kibanaでのログ可視化 ・バイトル常時HTTPS化 ・バイトルCDN(Fastly)移行 ・マニュアル化 リクルートサイトとしては 日本初導入!!
16 さらに拡大 (2018) Copyright © DIP Corporation. 通常エンハンス内での実施 ・Ansibleでのサーバ自動構築(他メンバー実施) ・Fluentdでのログ収集(他メンバー実施)
・ElasticSearch+Kibanaでのログ可視化(他メンバー実施) ・はたらこ常時HTTPS化 ・はたらこCDN(Fastly)移行 ・Fastly画像最適化(バイトル、はたらこ) ・速度改善
17 結果 Copyright © DIP Corporation. Ansible導入成功 サーバ管理&時間短縮達成!!
18 結果 Copyright © DIP Corporation. ログ手動解析解消 調査時間短縮達成!!!
19 Copyright © DIP Corporation. SREできた!万歳!!
20 ・・・かに見えたが現実は違った Copyright © DIP Corporation.
21 レガシーインフラによる弊害 Copyright © DIP Corporation. ・隠れ「運用でカバー」による手動作業… ・隠れ「手作業」によるログ分析… ・システムの安定重視で手順ややり方を無視する負債に対する認識の違い
22 レガシーインフラによる弊害 Copyright © DIP Corporation. ・隠れ「運用でカバー」による手動作業… ・隠れ「手作業」によるログ分析… ・システムの安定重視で手順ややり方を無視する負債に対する認識の違い まだまだ蔓延る
レガシーインフラの実態
23 レガシーインフラにSREが馴染まなかった理由 Copyright © DIP Corporation.
24 Copyright © DIP Corporation. ① 新しいツールへの信頼性が生まれていない レガシーインフラにSREが馴染まなかった理由
25 Copyright © DIP Corporation. マニュアルを作っても使い慣れていないので 急ぎの対応などは使い慣れたレガシー手法に なってしまう 信頼性が生まれていない理由
26 Copyright © DIP Corporation. 難しい・本当に大丈夫なのか・運用を変えたくない という意識があり今までのやり方で 問題ないというレガシー思考になっている 信頼性が生まれていない理由
27 Copyright © DIP Corporation. レガシーは今までの文化ややり方の蓄積からなる金字塔 SREは銀の弾丸ではないので運用者によって 完璧なツールではないと使われない傾向が出てしまう。 信頼性が生まれていない理由
28 Copyright © DIP Corporation. ② SREの入れ方が良くなかった レガシーインフラにSREが馴染まなかった理由
29 Copyright © DIP Corporation. そもそもインフラエンジニアが SREを始めるのにはリスクがある SREのよくない入れ方
30 Copyright © DIP Corporation. SREの明らかなアンチパターンとは Google CRE Stepthen Thorne
運用チームからSREチームへの単なる名称変更 SREの思想や成功メカニズムを最初に導入せず にSREエンジニアにする事
31 Copyright © DIP Corporation. SREが始めやすいパターン 少人数サービス Dev⇒Ops • 実質インフラのい
ないサービスプロ ジェクト SRE • サイト信頼性向上 • サーバ自動構築 • 自動ビルドデプロイ • ログ分析基盤 etc ・ ・ ・ レガシーインフラ Ops⇒Dev • 長年インフラとし てやってきたチー ム • 外製化されたイン フラチーム ・そろそろ安定してきたので インフラをきちんと整備したい byソフトウェアエンジニア ・組織として時代に即したイン フラがしたい(クラウド化) ・組織として内製化したい byインフラエンジニア
32 Copyright © DIP Corporation. 今回取り入れた方法 • レガシーインフラのままSRE手法を取り入れて増築 • 組織がレガシー思考のままツールだけを取り入れて増築
• 組織全員の方針が違うままSREを取り入れ増築
33 Copyright © DIP Corporation. 今回取り入れた方法 • レガシーインフラのままSRE手法を取り入れて増築 • 組織がレガシー思考のままツールだけを取り入れて増築
• 組織全員の方針が違うままSREを取り入れ増築
35 Copyright © DIP Corporation. 中途半端にSREを入れると 進化の過程で起こる不具合を組織が理解・許容 せず信頼性が落ちてしまう SREのよくない入れ方
36 Copyright © DIP Corporation. このままじゃやばい…
37 Copyright © DIP Corporation. SREの独立を計画
38 Copyright © DIP Corporation. SREを馴染ませるために
39 Copyright © DIP Corporation. SREを馴染ませるために 今まで リニューアルやエンハンスの中でツールを入れ 運用負荷を減らしてきた これから
組織全体としてサイト信頼性向上のために 動いていく必要がある
40 Copyright © DIP Corporation. SREを馴染ませるために 課長や部長、CIOを説得し SREチーム誕生 (現在3名)
41 Copyright © DIP Corporation. SREを馴染ませるために これからやっていくこと
42 Copyright © DIP Corporation. SREを馴染ませるために ① メンバーの意識・組織の文化の改革
43 Copyright © DIP Corporation. レガシーインフラとSREが馴染まない理由 • SRE • 変化させ改善していく事で信頼性が上がる
• レガシーインフラ • 変わらないことに信頼性がある 攻め 守り 目的が同じでも やり方が対等
44 Copyright © DIP Corporation. レガシーインフラを変えたくない理由 • 失敗への恐れ • 新しいものを取り入れてミスをしたらどうしよう
• 時間がない • 日々の業務をしているので精一杯 • 問題を問題だと思っていない • 現状はうまくいってるから問題なし • 関心がない(知ろうとしない、学ばない) • 今までずっとこうやってきたし自分たちのやり方を変える必要はな いだろうと意識
45 Copyright © DIP Corporation. レガシーインフラを変えたくない理由 • 失敗への恐れ • 新しいものを取り入れてミスをしたらどうしよう
• 時間がない • 日々の業務をしているので精一杯 • 問題を問題だと思っていない • 現状はうまくいってるから問題なし • 関心がない(知ろうとしない、学ばない) • 今までずっとこうやってきたし自分たちのやり方を変える必要はな いだろうと意識 「攻め」への不安
46 Copyright © DIP Corporation. 攻めへの不安を解消するために必要なこと • すぐに結果を出そうとしない(我慢) • 価値のある物の共通認識を得る(共感)
• 進化の過程で起こる不具合の許容を得る(理解)
47 Copyright © DIP Corporation. SREを馴染ませるために きちんと不安要素を理解し それを解消させるために話し合い お互いが納得いくやり方を 行っていく
48 Copyright © DIP Corporation. SREを馴染ませるために ② ハンズオン
49 Copyright © DIP Corporation. SREを馴染ませるために マニュアル作成から見えた問題点 • 作成したが使ってくれない(忙しい、どこにあるか忘れた) •
ツールの専門用語が理解しづらい • そもそもマニュアルを見ながら作業をすると時間がかかる • ansibleのマニュアルは作成したがそもそもgitの使い方が わからない(別の問題)
50 Copyright © DIP Corporation. SREを馴染ませるために ハンズオンを何度も行いマニュアルの場所や作業の 中から見えてくる別の問題をしっかりと理解して教 えてあげることが重要
51 Copyright © DIP Corporation. ③サイト信頼性向上
52 Copyright © DIP Corporation. まだまだある沢山の作業 作業自動化 ログ可視化 クラウド移行 コンテナ化
CD/CIツール導入 速度改善 ログ収集 BCP 開発環境整備 アラート整備 Toil削減 マイクロサービス化
53 Copyright © DIP Corporation. 最後に
54 Copyright © DIP Corporation. リスクやコストを割いてまで変える必要性あるのか • サービスが成長しない • レガシーの増築だけではいつかガタがくる
• 時代に乗れず負債だけが残ってしまう • エンジニアが成長しない • 新しい人が入っても辞めてしまう • むしろ入らない • 会社が成長しない • サービスとエンジニアが成長しないと会社の利益も損失する 今は良くても将来いろんな問題が出てくる
55 Copyright © DIP Corporation. SREのゴールについて • 今回はレガシーインフラとSREについて話 • SREのゴールはやり方の改革ではなくあくまでサイト
信頼性の向上 • 運用負荷を減らしさらなる改善施策を行ってきたい
56 Copyright © DIP Corporation. よりよいサービスを作るためにSREチーム はこれからも日々改善を行っていきます
57 Copyright © DIP Corporation. https://www.dip-net.co.jp/recruit/ We are hiring !!
エンジニア募集してます