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
Amplify Gen2 Deep Dive / バックエンドの型をいかにしてフロントエンドへ伝えるか #TSKaigi #TSKaigiKansai #AWSAmplifyJP
tacck
PRO
0
380
TypeScriptの次なる大進化なるか!? 条件型を返り値とする関数の型推論
uhyo
2
1.6k
誰も全体を知らない ~ ロールの垣根を超えて引き上げる開発生産性 / Boosting Development Productivity Across Roles
kakehashi
1
220
Shopifyアプリ開発における Shopifyの機能活用
sonatard
4
250
10XにおけるData Contractの導入について: Data Contract事例共有会
10xinc
6
620
Application Development WG Intro at AppDeveloperCon
salaboy
0
190
スクラムチームを立ち上げる〜チーム開発で得られたもの・得られなかったもの〜
ohnoeight
2
350
VideoMamba: State Space Model for Efficient Video Understanding
chou500
0
190
ISUCONに強くなるかもしれない日々の過ごしかた/Findy ISUCON 2024-11-14
fujiwara3
8
870
【令和最新版】AWS Direct Connectと愉快なGWたちのおさらい
minorun365
PRO
5
750
オープンソースAIとは何か? --「オープンソースAIの定義 v1.0」詳細解説
shujisado
7
820
スクラム成熟度セルフチェックツールを作って得た学びとその活用法
coincheck_recruit
1
140
Featured
See All Featured
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
0
89
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
44
6.8k
Speed Design
sergeychernyshev
25
620
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
169
50k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
506
140k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
329
21k
Imperfection Machines: The Place of Print at Facebook
scottboms
265
13k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
42
9.2k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
364
24k
For a Future-Friendly Web
brad_frost
175
9.4k
Optimizing for Happiness
mojombo
376
70k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
48k
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 !!
エンジニア募集してます