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.5k
SRE in UZABAS
Hane
March 19, 2018
Tweet
Share
More Decks by Hane
See All by Hane
ユーザベースのDockerへの取り組み
hane
1
140
Other Decks in Technology
See All in Technology
Shopifyアプリ開発における Shopifyの機能活用
sonatard
4
260
BLADE: An Attempt to Automate Penetration Testing Using Autonomous AI Agents
bbrbbq
0
330
Platform Engineering for Software Developers and Architects
syntasso
1
520
エンジニア人生の拡張性を高める 「探索型キャリア設計」の提案
tenshoku_draft
1
130
テストコード品質を高めるためにMutation Testingライブラリ・Strykerを実戦導入してみた話
ysknsid25
7
2.7k
Zennのパフォーマンスモニタリングでやっていること
ryosukeigarashi
0
270
静的解析で実現した効率的なi18n対応の仕組みづくり
minako__ph
1
110
組織成長を加速させるオンボーディングの取り組み
sudoakiy
2
220
Amazon CloudWatch Network Monitor のススメ
yuki_ink
1
210
EventHub Startup CTO of the year 2024 ピッチ資料
eventhub
0
130
Adopting Jetpack Compose in Your Existing Project - GDG DevFest Bangkok 2024
akexorcist
0
120
OCI 運用監視サービス 概要
oracle4engineer
PRO
0
4.8k
Featured
See All Featured
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
47
5k
Making the Leap to Tech Lead
cromwellryan
133
8.9k
Rails Girls Zürich Keynote
gr2m
94
13k
10 Git Anti Patterns You Should be Aware of
lemiorhan
655
59k
Art, The Web, and Tiny UX
lynnandtonic
297
20k
Build The Right Thing And Hit Your Dates
maggiecrowley
33
2.4k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
506
140k
Testing 201, or: Great Expectations
jmmastey
38
7.1k
Speed Design
sergeychernyshev
25
620
A designer walks into a library…
pauljervisheath
204
24k
Measuring & Analyzing Core Web Vitals
bluesmoon
4
130
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
28
2k
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!