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 in UZABAS
Search
Hane
March 19, 2018
Technology
0
2.6k
SRE in UZABAS
Hane
March 19, 2018
Tweet
Share
More Decks by Hane
See All by Hane
ユーザベースのDockerへの取り組み
hane
1
150
Other Decks in Technology
See All in Technology
Node-REDのFunctionノードでMCPサーバーの実装を試してみた / Node-RED × MCP 勉強会 vol.1
you
PRO
0
110
ひとり情シスなCTOがLLMと始めるオペレーション最適化 / CTO's LLM-Powered Ops
yamitzky
0
420
「Chatwork」の認証基盤の移行とログ活用によるプロダクト改善
kubell_hr
1
120
GitHub Copilot の概要
tomokusaba
1
130
Agentic Workflowという選択肢を考える
tkikuchi1002
1
480
Understanding_Thread_Tuning_for_Inference_Servers_of_Deep_Models.pdf
lycorptech_jp
PRO
0
110
CSS、JSをHTMLテンプレートにまとめるフロントエンド戦略
d120145
0
280
Observability infrastructure behind the trillion-messages scale Kafka platform
lycorptech_jp
PRO
0
140
A2Aのクライアントを自作する
rynsuke
1
170
Welcome to the LLM Club
koic
0
160
Navigation3でViewModelにデータを渡す方法
mikanichinose
0
220
LinkX_GitHubを基点にした_AI時代のプロジェクトマネジメント.pdf
iotcomjpadmin
0
170
Featured
See All Featured
Product Roadmaps are Hard
iamctodd
PRO
53
11k
Building a Modern Day E-commerce SEO Strategy
aleyda
41
7.3k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
16
940
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.4k
Optimising Largest Contentful Paint
csswizardry
37
3.3k
Being A Developer After 40
akosma
90
590k
How to Ace a Technical Interview
jacobian
277
23k
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
Imperfection Machines: The Place of Print at Facebook
scottboms
267
13k
Code Reviewing Like a Champion
maltzj
524
40k
How GitHub (no longer) Works
holman
314
140k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
53k
Transcript
hbstudy #82 SRE 大全 UZABASE SRE
自己紹介 羽山雄偉 株式会社ユーザベース SREチーム インフラエンジニア 前職も某ゲーム会社でソーシャルゲームのインフラエンジニア 4年前にユーザベースにジョイン 主にSPEEDAと社内インフラを担当 ・SPEEDAではネットワークやサーバ構築を実施 ・社内インフラでは引越時のインフラ構築や上場時のIT統制などを実施
• UZABASEについて • UZABASEのSREについて • SPEEDAにおけるSREについて • SPEEDAの環境 • 開発チームとの連携
• SREの取り組み事例 Table of Contents
UZABASEについて
Mission 経済情報で、世界をかえる Business Intelligence to Change Your World 私たちは、世界中で愛される経済情報インフラをつくります。 あらゆる経済情報を人とテクノロジーの力で整理・分析・創出し、
ビジネスパーソンの生産性を高め、創造性を解放します。 私たちは経済情報を通じて世界中の意思決定を支え、世界をかえます。
Our Services B2Bマーケティングエンジン ソーシャル経済ニュース 企業・業界情報プラットフォーム 日本最大級のベンチャーデータベース 2009年 2008年 創業 2014年
2016年 2017年
• 各サービスごとに1テックチーム ◦ SPEEDA/NewsPicks/entrepedia/FORCAS • Tech Culture ◦ 技術的にも挑戦する文化(k8s,micro services,
micro frontend) ◦ 社内ハッカソン (http://tech.uzabase.com/entry/2018/02/22/141810) ◦ 社内ISUCON Tech Team in UZABASE
UZABASEのSRE
SREについて • 昨年10月にSPEEDAテックチームにSREを設立 • 前身は開発チームの運用メンバーとインフラチーム • テックチームは全体で30名 ◦ 開発チーム20名 ◦
SREチーム10名 • ソフトウェアエンジニア5名、インフラエンジニア5名で構成
SREの活動 • 技術力向上の推進 ◦ チーム内でk8s合宿を実施 (http://tech.uzabase.com/entry/2018/02/01/1614 ) • 情報共有の推進 ◦
SRE Loungeで情報・取り組みを共有 (http://tech.uzabase.com/entry/2018/01/26/200021 ) ◦ Tech Blogを使った技術発信 (http://tech.uzabase.com )
• SPEEDA ◦ インフラ+ソフトウェアで新機能開発以外を担当 ▪ インフラの構築運用 ▪ サービス・ジョブの運用 ▪ プロダクト改善、本番バグ対応、社内ツール開発
• 社内 ◦ オフィスネットワーク構築運用 ◦ 社内システム・PC・各種アカウント管理 ◦ コーポレートサイト、各サービスのLPサイトの構築運用 SREの業務範囲
SPEEDAにおけるSREについて
• 安定稼働のために出来ることはすべてやる • ユーザが快適に利用できる状態にするために出来ることはすべてやる 基本的な方針
• オペレーション ◦ ジョブ・システム監視 ◦ 各チームからの問い合わせ対応 • インフラ基盤管理 ◦ リソース管理、負荷対策、CDN
◦ セキュリティ対策 • ソフトウェア開発業務 ◦ SPEEDAのバグ対応、高速化 ◦ 周辺ツール開発 SPEEDAにおけるSREの業務内容
SPEEDAにおけるSREの業務範囲 インフラ構築 バグ対応 サービス運用 新規開発 インフラ運用 社内ツール作成 問い合わせ対応 開発チーム SREチーム
サービス改善
SPEEDAの環境
• ビジネスパーソンの情報収集・分析における課 題を解決する最先端のプラットフォーム • 世界中の企業情報、業界レポート、市場デー タ、ニュース、統計、M&Aなどあらゆるビジネ ス情報をカバー https://www.ub-speeda.com SPEEDAとは?
• アプリケーションサーバ ◦ JVMメモリ60GB • ジョブ ◦ 総数4000件 ◦ 24x365での稼働
• 総データ量 ◦ データベース: 約3T ◦ 検索インデックス:約3T ◦ ファイルデータ:約3T システムの特徴
• オンプレミス環境 • ネットワークから仮想サーバまでを管理 • DBはioDriveを搭載した物理サーバ • 3つの仮想基盤から構成されている • ラック内で適切な電力使用量になるようなサーバ配置
• ハードウェアトラブルは自動検知 SPEEDAを支えるインフラ基盤
仮想基盤 v1 • 単体のアプリケーション • XenServer • ゴールデンテンプレートでの仮想 サーバ構築
仮想基盤 v2 • マイクロサービス化 • XenServerクラスタ • Ansibleでの仮想サーバ構成管 理
仮想基盤 v3 • マイクロサービス化 • Kubernetes on Rancher 基盤 •
cloud-initでの構成管理 • Dockerコンテナでのアプリケー ション管理
開発チームとの連携
• 開発速度を早くするために出来ることはすべてやる 基本的な方針
• Face to Faceでの会話が基本 • リモートのやりとりはSlackを利用 • テックミーティングで週1回情報共有 • ハッカソンなどで開発メンバーと共同開発
コミュニケーション
• 開発環境は開発チームが管理・運用している • 開発サーバの異常はSlackに発報される • 本番のデータが必要になるケースはジョブ化 開発環境
SREの取り組み事例
差し込み業務への取り組み
• 外部要因で差し込み業務が発生し、進めているプロジェクトに集中できないこと がよくある • 一方で、差し込み業務への対応も安定稼働を支えるSREの重要な業務である • 差し込み業務の種類 ◦ 障害 ▪
システム障害 ▪ バッチ障害 ◦ 問い合わせ ▪ データ異常 ▪ バグ 運用チームでありがちなこと
差し込み業務とプロジェクトを両立するためにやっていること • 業務のシフト化(負荷軽減・属人性の排除) • 問い合わせ対応時間の固定化(時間の二極化) ◦ 緊急度の高いもの以外はこの時間で対応する ◦ 緊急案件についてはCSの判断で直接連絡をもらう ▪
緊急度の認識をCSとすり合わせておくことが重要 • 差し込み業務の削減(根本対応) ◦ 差し込み頻度の高いもの、差し込み負荷の高いものは原因の解決と自動 化を行う 差し込み業務への取り組み
自動化への取り組み
• 定常業務の自動化 • リリースの自動化 ◦ Slackを使ったChatOps ◦ Jenkinsを使ったCI/CD • 状況はSlackに通知
自動化への取り組み
まとめ
• UZABASEにおけるSREは新機能開発以外を担当 • 安定稼働、ユーザ体験向上のために出来ることはすべてやる • 開発速度を早くするために出来ることはすべてやる • 開発環境は開発チームで運用し、SREはサービスを運用する • 差し込み業務を対応しつつ、プロジェクトを進めるため試行錯誤の日々
• 自動化、効率化を進め、必要に応じて社内ツールの開発も行う まとめ
ありがとうございました
Any questions? Thank you for listening!