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.7k
Other Decks in Technology
See All in Technology
Oracle Base Database Service 技術詳細
oracle4engineer
PRO
7
63k
MCPを理解する
yudai00
12
9.2k
日経電子版 for Android の技術的課題と取り組み(令和最新版)/android-20250423
nikkei_engineer_recruiting
1
610
白金鉱業Meetup_Vol.18_生成AIはデータサイエンティストを代替するのか?
brainpadpr
4
220
Winning at PHP in Production in 2025
beberlei
1
270
Асинхронная коммуникация в Go: от понятного к душному. Дима Некрасов, Otello, 2ГИС
lamodatech
0
1.7k
10ヶ月かけてstyled-components v4からv5にアップデートした話
uhyo
5
450
Azure Maps Visual in PowerBIで分析しよう
nakasho
0
190
OpenLane-V2ベンチマークと代表的な手法
kzykmyzw
0
150
10分で学ぶ、RAGの仕組みと実践
supermarimobros
0
760
もう難しくない!誰でもカンタンDocker入門 〜30分であなたのPCにアプリを立ち上げる〜
devops_vtj
0
180
AndroidアプリエンジニアもMCPを触ろう
kgmyshin
2
580
Featured
See All Featured
Music & Morning Musume
bryan
47
6.5k
Optimising Largest Contentful Paint
csswizardry
37
3.2k
Code Review Best Practice
trishagee
67
18k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
13
830
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
41
2.3k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
14
1.4k
Agile that works and the tools we love
rasmusluckow
329
21k
Large-scale JavaScript Application Architecture
addyosmani
512
110k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
49k
Embracing the Ebb and Flow
colly
85
4.7k
Optimizing for Happiness
mojombo
378
70k
Testing 201, or: Great Expectations
jmmastey
42
7.5k
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 !!
エンジニア募集してます