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.9k
レガシーな基盤に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.6k
Other Decks in Technology
See All in Technology
NW-JAWS #14 re:Invent 2024(予選落ち含)で 発表された推しアップデートについて
nagisa53
0
270
株式会社ログラス − エンジニア向け会社説明資料 / Loglass Comapany Deck for Engineer
loglass2019
3
32k
統計データで2024年の クラウド・インフラ動向を眺める
ysknsid25
2
850
サーバレスアプリ開発者向けアップデートをキャッチアップしてきた #AWSreInvent #regrowth_fuk
drumnistnakano
0
200
ガバメントクラウドのセキュリティ対策事例について
fujisawaryohei
0
560
AI時代のデータセンターネットワーク
lycorptech_jp
PRO
1
290
事業貢献を考えるための技術改善の目標設計と改善実績 / Targeted design of technical improvements to consider business contribution and improvement performance
oomatomo
0
100
バクラクのドキュメント解析技術と実データにおける課題 / layerx-ccc-winter-2024
shimacos
2
1.1k
大幅アップデートされたRagas v0.2をキャッチアップ
os1ma
2
540
5分でわかるDuckDB
chanyou0311
10
3.2k
UI State設計とテスト方針
rmakiyama
2
620
Storage Browser for Amazon S3
miu_crescent
1
220
Featured
See All Featured
Why Our Code Smells
bkeepers
PRO
335
57k
Navigating Team Friction
lara
183
15k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
665
120k
Become a Pro
speakerdeck
PRO
26
5k
YesSQL, Process and Tooling at Scale
rocio
169
14k
Designing for humans not robots
tammielis
250
25k
Testing 201, or: Great Expectations
jmmastey
40
7.1k
jQuery: Nuts, Bolts and Bling
dougneiner
61
7.5k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
251
21k
Bootstrapping a Software Product
garrettdimon
PRO
305
110k
Agile that works and the tools we love
rasmusluckow
328
21k
Side Projects
sachag
452
42k
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 !!
エンジニア募集してます