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
2.8k
レガシーな基盤に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.1k
DIPのSRE活動とこれから
bayashi_ok
3
3.5k
Other Decks in Technology
See All in Technology
社内の学びの場・コミュニティ形成とエンジニア同士のリレーションシップ構築/devreljapan2024
nishiuma
3
290
タイミーのレコメンドにおける ABテストの運用
ozeshun
1
190
サーバー管理しないサーバーサービスManaged DevOps Pool
kkamegawa
0
130
不動産売買取引におけるAIの可能性とプロダクトでのAI活用
zabio3
0
270
2024年のナビゲーション・フォーカス対応:Composeでキーボード・ナビゲーションをサポートしよう
tahia910
0
110
20240912 JJUGナイトセミナー
mii1004
0
140
なにもしてないのにNew Relicのデータ転送量が増えていたときに確認したこと
tk3fftk
2
230
プロダクトエンジニアを支えるための開発生産性向上施策
tsukakei
0
150
DevRelの始め方
moongift
PRO
2
390
『GRANBLUE FANTASY Relink』ソフトウェアラスタライザによる実践的なオクルージョンカリング
cygames
0
180
ネットワークだけ隔離されたコンテナ作成デモ / Kichijoji.pm36
tenforward
1
240
不動産 x AIことはじめ~データの真価を拓くために
estie
0
120
Featured
See All Featured
Statistics for Hackers
jakevdp
794
220k
A designer walks into a library…
pauljervisheath
201
24k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
103
48k
Designing for Performance
lara
604
68k
How GitHub (no longer) Works
holman
310
140k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
43
2k
Creatively Recalculating Your Daily Design Routine
revolveconf
215
12k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
131
32k
Design by the Numbers
sachag
277
19k
Scaling GitHub
holman
458
140k
Writing Fast Ruby
sferik
623
60k
Facilitating Awesome Meetings
lara
49
6k
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 !!
エンジニア募集してます