SlideShare ist ein Scribd-Unternehmen logo
1 von 22
サイボウズのSRE
サイボウズ株式会社 運用本部 サービス運用部 SRE
齊藤 倫德
SREとは?
▌Site Reliability Engineer
▌サイトの信頼性を向上させるソフトウェアエンジニア/チーム
▌Googleが提唱して、様々な企業が取り入れている
 日本では以下など:
インフラチーム改め Site Reliability Engineering (SRE) チームになりました -
Mercari Engineering Blog
http://tech.mercari.com/entry/2015/11/18/153421
サイボウズのSRE
▌ SRE チームを設立します - Cybozu Inside Out
| サイボウズエンジニアのブログ
▌ http://blog.cybozu.io/entry/2016/09/01/
080000
サイボウズのSRE
▌L7〜
・デプロイ
・監視・メトリクス収集
・障害
・インフラツール
・ミドルウェア
・linux kernel
▌L3〜
・ルーティング
・スイッチ
・物理サーバ
・回線
・データセンタ
▌L4〜
・ロードバランス
・https
サイボウズのSRE
▌信頼性・可用性の維持向上
▌ログ収集・分析基盤の構築
運用
▌需要予測に基づいて、機材
増強・入替・構築
▌セキュリティの担保
▌緊急警告対応〜
根本対処まで
▌アプリケーションのデプロイ
▌調査依頼など
SREの取り組み1: セッションキャッシュ, yrmcds
▌2013年ごろ:お客様が増えてきた
 MySQLにセッション入れてたけど遅いしIO負荷すごい
 オンメモリ化しよう!
 耐障害性ほしい&低コストで運用したい
 memcachedはレプリケーションがない
 レプリケーションがあるRedisとかは運用が大変そう
 プロトコル簡単だし作ろう。
 せっかくだからオープンソースにしよう!
 yrmcds 0.9.0 リリース
http://blog.cybozu.io/entry/5436
SREの取り組み2: DoS対策, yrmcds
▌2014年ごろ:お客様がよくキーボードの上に本を落とすよ!
F5だよ!
 同時アクセス数を制限しよう
 作ったyrmcdsでカウントしよう!
 nginx の拡張モジュールを書いて DoS 対策をした
http://blog.cybozu.io/entry/8363
 yrmcds 1.1.1 + libyrmcds 1.2.0 をリリースしました
http://blog.cybozu.io/entry/8453
SREの取り組み3: オープンソース化, golang, cybozu-go
▌最近ではGoを採用していて、Go系のオープンソースも公開
 Go でいい感じのコマンドを作れるツールキットの紹介
http://blog.cybozu.io/entry/cybozu-go-cmd
 Cybozu Go · GitHub
https://github.com/cybozu-go/
SREの取り組み4: データ移行, gosyncd
▌新システムへのデータ移行のやり方の一つ:
 初期同期:バックアップ・スナップショットから新環境にコピー
 差分同期:変更されたファイルを監視して新環境にコピー
▌通常運用負荷に同期負荷が乗るので障害になりやすい
 同期速度で負荷をコントロール
 ファイルキャッシュを汚さない
 gosyncd - 安定して、データ移行を行うためのツール
SREの取り組み5: 透過SOCKSプロキシ
▌NAT -> 透過SOCKSプロキシに切り替え
▌メール周りの障害が少なくなり、調査がぐっとやりやすく!
 SPAMフィルタ問題
 tcp_tw_recycle問題
 NAT をやめて、透過 SOCKS プロキシを導入した
 http://blog.cybozu.io/entry/2016/03/14/130000
SREの取り組み6: LVM Thin Provisioning, リストア
▌バックアップのリストアが遅い!
 毎月の全環境のアップデートリハーサル
 バックアップベリファイ / 障害調査 / リストア依頼
▌リストア時にブロック差分を都度マージしていた
 LVM Thin Provisioningを導入してスナップショットの形
でバックアップしよう!
 スナップショットとり放題
 いつでもすぐ使える
▌全環境リストアは12時間強 -> 30分に!
SREの取り組み7: WalB
▌現在のバックアップ形式:
日次スナップショットからブロックデバイス単位でバイナリ差分を取得
 バックアップ取得負荷がきつい。
▌常に取り続けられるように!書き込まれる都度にバックアップ!
 サイボウズ・ラボの星野・光成が開発して、SREと一緒に導
入
 WalB v1.0 リリース
http://blog.cybozu.io/entry/5130
SREの取り組み8: Zabbix, Datadog
▌サービスインより、メトリクス監視はZabbixで運用
▌現在は自社DCも複数サイト運用し、監視対象は1000台を
越える
 2-3年後にはさらに2倍の規模も見えてくる
▌さすがにZabbixでは辛いので、よりよい監視の導入を検討
 Cloud Monitoring as a Service | Datadog
https://www.datadoghq.com/
SREの取り組み9: artifactory
▌Subversionでの管理 -> JFrog Artifactoryの導入
▌aptやPythonなどのレポジトリとして透過的に扱えるように!
 アーティファクトの管理について、あるいは go-apt-cacher / go-
apt-mirror の紹介
http://blog.cybozu.io/entry/2016/07/19/103000
 Artifactory - Universal Artifact Repository Manager
https://www.jfrog.com/artifactory/
SREの取り組み10:その他
▌presto(hadoop)
 アクセスログの基盤として先行投入
 1日分の集計に13時間 -> 20秒に!
 アプリケーションログ・syslogなどの収集・分析基盤も導入検討中
▌可視化!
 ggplot2でWebサーバのレスポンスタイムをざっくり可視化する方
法
 http://blog.cybozu.io/entry/8039
▌現在Ubuntu 16.04への移行作業中
 upstartからsystemdへ
▌NVMe SSDの導入
 高速化:MySQL / ElasticSearch
▌Graylog
 ネットワークスイッチのログ収集
▌DC運用
 cybozu.com のラック設計
http://blog.cybozu.io/entry/6766
▌AS運用
 131912 CYBOZU JP00137545
https://www.nic.ad.jp/ja/ip/as-numbers.txt
SREの取り組み11:その他
SREチームを作ったわけ
▌サービスイン当初は全員で運用も開発もしていた。
▌規模が大きくなるにつれ、障害対応や調査、特殊な対応など、
優先度の高い割り込みが増加
 集中して開発できない
DevとOpsを分割
→ しばらくはうまくいっていたが…
DevとOpsチームの間で問題が…
▌Opsチームの開発スキルが上がらない!
 最初はOpsメンバーもコードを書いていた
 新メンバーも増えるにつれ、徐々に開発が少なく
▌Devチームの作ったシステムの移行・運用コストが高すぎる!
 ある日のデプロイから突然始まる、計画外の三ヶ月間の
巨大オペレーションプロジェクト…(とても良い機能だけど…)
SREチームに統合!
▌Dev/Opsに分かれるのをやめて、役割を固定しすぎないように。
▌ソフトウェアエンジニアに立ち戻る!
現在の課題
▌アーキテクチャが古くなっている
 サービスイン当初から基本的に変わってない
 ストレージまわりが特にやばい!
 刷新する人手が足りない(>_<)
▌若手の教育
 プログラミング初心者もいるので、底上げが必要
SREでやりたいこと!
▌ログ収集・分析基盤
▌検索基盤
▌デプロイ
▌サービスディスカバリ
▌リソースプール
 アーキテクチャ刷新プロジェクト「Neco」 の概要
http://blog.cybozu.io/entry/2016/03/11/080000
▌分散基盤
▌より簡易なオペレーション
▌リソースの統合監視
▌キャパシティプランニング
▌懇親会にも出ますので、お気軽にお声がけください!

Weitere ähnliche Inhalte

Was ist angesagt?

DevOpsが引き金となるインフラエンジニアの進撃
DevOpsが引き金となるインフラエンジニアの進撃DevOpsが引き金となるインフラエンジニアの進撃
DevOpsが引き金となるインフラエンジニアの進撃
Teruo Adachi
 

Was ist angesagt? (20)

[Observability conference 2022/3/11] NewsPicks のプロダクト開発エンジニアが実践するスキルとしての SRE
[Observability conference 2022/3/11] NewsPicks のプロダクト開発エンジニアが実践するスキルとしての SRE[Observability conference 2022/3/11] NewsPicks のプロダクト開発エンジニアが実践するスキルとしての SRE
[Observability conference 2022/3/11] NewsPicks のプロダクト開発エンジニアが実践するスキルとしての SRE
 
脆弱性管理の自動化への取り組み
脆弱性管理の自動化への取り組み脆弱性管理の自動化への取り組み
脆弱性管理の自動化への取り組み
 
Azure API Management 俺的マニュアル
Azure API Management 俺的マニュアルAzure API Management 俺的マニュアル
Azure API Management 俺的マニュアル
 
比較サイトの検索改善(SPA から SSR に変換)
比較サイトの検索改善(SPA から SSR に変換)比較サイトの検索改善(SPA から SSR に変換)
比較サイトの検索改善(SPA から SSR に変換)
 
uroboroSQLの紹介 (OSC2017 Tokyo/Spring)
uroboroSQLの紹介 (OSC2017 Tokyo/Spring)uroboroSQLの紹介 (OSC2017 Tokyo/Spring)
uroboroSQLの紹介 (OSC2017 Tokyo/Spring)
 
Web Component Framework Urushiのご紹介(OSC2017 Tokyo/Spring)
Web Component Framework Urushiのご紹介(OSC2017 Tokyo/Spring)Web Component Framework Urushiのご紹介(OSC2017 Tokyo/Spring)
Web Component Framework Urushiのご紹介(OSC2017 Tokyo/Spring)
 
Global Azure Bootcamp 2019@Tokyo資料【ExpressRoute構築でハメられた】
Global Azure Bootcamp 2019@Tokyo資料【ExpressRoute構築でハメられた】Global Azure Bootcamp 2019@Tokyo資料【ExpressRoute構築でハメられた】
Global Azure Bootcamp 2019@Tokyo資料【ExpressRoute構築でハメられた】
 
サービスを日々運用し続けながら最新版のRailsに追従させる極意
サービスを日々運用し続けながら最新版のRailsに追従させる極意サービスを日々運用し続けながら最新版のRailsに追従させる極意
サービスを日々運用し続けながら最新版のRailsに追従させる極意
 
All about 開発本部infra部 TASKs
All about 開発本部infra部 TASKsAll about 開発本部infra部 TASKs
All about 開発本部infra部 TASKs
 
Spring Bootをはじめる時にやるべき10のこと
Spring Bootをはじめる時にやるべき10のことSpring Bootをはじめる時にやるべき10のこと
Spring Bootをはじめる時にやるべき10のこと
 
テスト自動化の現場で困ること SI-Toolkitが解決すること
テスト自動化の現場で困ること SI-Toolkitが解決することテスト自動化の現場で困ること SI-Toolkitが解決すること
テスト自動化の現場で困ること SI-Toolkitが解決すること
 
Developer's summit 2021 [19-D-5]なぜ今、ローコードなのか
Developer's summit 2021 [19-D-5]なぜ今、ローコードなのかDeveloper's summit 2021 [19-D-5]なぜ今、ローコードなのか
Developer's summit 2021 [19-D-5]なぜ今、ローコードなのか
 
DevOpsが引き金となるインフラエンジニアの進撃
DevOpsが引き金となるインフラエンジニアの進撃DevOpsが引き金となるインフラエンジニアの進撃
DevOpsが引き金となるインフラエンジニアの進撃
 
MSPサービスを支えるCircleCI
MSPサービスを支えるCircleCIMSPサービスを支えるCircleCI
MSPサービスを支えるCircleCI
 
HyClops for Zabbix紹介資料
HyClops for Zabbix紹介資料HyClops for Zabbix紹介資料
HyClops for Zabbix紹介資料
 
NuxtJS + SSRで作ったGREE Tech Conference 2020
NuxtJS + SSRで作ったGREE Tech Conference 2020NuxtJS + SSRで作ったGREE Tech Conference 2020
NuxtJS + SSRで作ったGREE Tech Conference 2020
 
どう変わる? 新シスコ認定トレーニング ~CCNAとCCNP Enterprise~
どう変わる? 新シスコ認定トレーニング ~CCNAとCCNP Enterprise~どう変わる? 新シスコ認定トレーニング ~CCNAとCCNP Enterprise~
どう変わる? 新シスコ認定トレーニング ~CCNAとCCNP Enterprise~
 
さくっと理解するSpring bootの仕組み
さくっと理解するSpring bootの仕組みさくっと理解するSpring bootの仕組み
さくっと理解するSpring bootの仕組み
 
マイクロサービス運用の所感 #m3dev
マイクロサービス運用の所感 #m3devマイクロサービス運用の所感 #m3dev
マイクロサービス運用の所感 #m3dev
 
侵入防御の誤検知を減らすためのDeepSecurity運用
侵入防御の誤検知を減らすためのDeepSecurity運用侵入防御の誤検知を減らすためのDeepSecurity運用
侵入防御の誤検知を減らすためのDeepSecurity運用
 

Andere mochten auch

CloudWatch Eventを使ったamiの削除
CloudWatch Eventを使ったamiの削除CloudWatch Eventを使ったamiの削除
CloudWatch Eventを使ったamiの削除
淳 千葉
 
なんたって”DevQA” アジャイル開発とQAの合体が改善を生む - 永田 敦 氏 #postudy
なんたって”DevQA” アジャイル開発とQAの合体が改善を生む - 永田 敦 氏 #postudyなんたって”DevQA” アジャイル開発とQAの合体が改善を生む - 永田 敦 氏 #postudy
なんたって”DevQA” アジャイル開発とQAの合体が改善を生む - 永田 敦 氏 #postudy
POStudy
 
エンジニアだけどもっとユーザーに価値を届けたいからスクラムマスター始めました
エンジニアだけどもっとユーザーに価値を届けたいからスクラムマスター始めましたエンジニアだけどもっとユーザーに価値を届けたいからスクラムマスター始めました
エンジニアだけどもっとユーザーに価値を届けたいからスクラムマスター始めました
Yusuke Amano
 
3 SaaS Metrics That Matter
3 SaaS Metrics That Matter3 SaaS Metrics That Matter
3 SaaS Metrics That Matter
Tien Tzuo
 
Re:ゼロから文化を創り、技術を伝承する ~客先常駐エンジニアと「社内勉強会」で築いた価値と変化
Re:ゼロから文化を創り、技術を伝承する ~客先常駐エンジニアと「社内勉強会」で築いた価値と変化Re:ゼロから文化を創り、技術を伝承する ~客先常駐エンジニアと「社内勉強会」で築いた価値と変化
Re:ゼロから文化を創り、技術を伝承する ~客先常駐エンジニアと「社内勉強会」で築いた価値と変化
Shunsuke Suga
 

Andere mochten auch (20)

企業文化をサービスデザインスタイルに
企業文化をサービスデザインスタイルに企業文化をサービスデザインスタイルに
企業文化をサービスデザインスタイルに
 
System administrator fundamental
System administrator fundamentalSystem administrator fundamental
System administrator fundamental
 
Site Reliability Engineering (SRE)を可能にするOpenPIEのご紹介
Site Reliability Engineering (SRE)を可能にするOpenPIEのご紹介Site Reliability Engineering (SRE)を可能にするOpenPIEのご紹介
Site Reliability Engineering (SRE)を可能にするOpenPIEのご紹介
 
サイボウズ超会議「B2Bマーケティング編」
サイボウズ超会議「B2Bマーケティング編」サイボウズ超会議「B2Bマーケティング編」
サイボウズ超会議「B2Bマーケティング編」
 
CloudWatch Eventを使ったamiの削除
CloudWatch Eventを使ったamiの削除CloudWatch Eventを使ったamiの削除
CloudWatch Eventを使ったamiの削除
 
良きモノの提供に向けた協働 - 開発とテストが一体となったソフトウェア開発 -
良きモノの提供に向けた協働 - 開発とテストが一体となったソフトウェア開発 - 良きモノの提供に向けた協働 - 開発とテストが一体となったソフトウェア開発 -
良きモノの提供に向けた協働 - 開発とテストが一体となったソフトウェア開発 -
 
未来のwebに欠かせないREST APIをApache Solr + Drupal8で実装しよう@PHPカンファレンス2016 東京
未来のwebに欠かせないREST APIをApache Solr + Drupal8で実装しよう@PHPカンファレンス2016 東京未来のwebに欠かせないREST APIをApache Solr + Drupal8で実装しよう@PHPカンファレンス2016 東京
未来のwebに欠かせないREST APIをApache Solr + Drupal8で実装しよう@PHPカンファレンス2016 東京
 
アジャイルメトリクス実践ガイド
アジャイルメトリクス実践ガイドアジャイルメトリクス実践ガイド
アジャイルメトリクス実践ガイド
 
ITサービスマネジメントとSRE
ITサービスマネジメントとSREITサービスマネジメントとSRE
ITサービスマネジメントとSRE
 
なんたって”DevQA” アジャイル開発とQAの合体が改善を生む - 永田 敦 氏 #postudy
なんたって”DevQA” アジャイル開発とQAの合体が改善を生む - 永田 敦 氏 #postudyなんたって”DevQA” アジャイル開発とQAの合体が改善を生む - 永田 敦 氏 #postudy
なんたって”DevQA” アジャイル開発とQAの合体が改善を生む - 永田 敦 氏 #postudy
 
[RSGT2017] つらい問題に出会ったら
[RSGT2017] つらい問題に出会ったら[RSGT2017] つらい問題に出会ったら
[RSGT2017] つらい問題に出会ったら
 
導入に困っているあなたに贈る スクラム導入コミュニケーション術
導入に困っているあなたに贈る スクラム導入コミュニケーション術導入に困っているあなたに贈る スクラム導入コミュニケーション術
導入に困っているあなたに贈る スクラム導入コミュニケーション術
 
エンジニアだけどもっとユーザーに価値を届けたいからスクラムマスター始めました
エンジニアだけどもっとユーザーに価値を届けたいからスクラムマスター始めましたエンジニアだけどもっとユーザーに価値を届けたいからスクラムマスター始めました
エンジニアだけどもっとユーザーに価値を届けたいからスクラムマスター始めました
 
3 SaaS Metrics That Matter
3 SaaS Metrics That Matter3 SaaS Metrics That Matter
3 SaaS Metrics That Matter
 
共感する開発のことだけ考えた。
共感する開発のことだけ考えた。共感する開発のことだけ考えた。
共感する開発のことだけ考えた。
 
「実録!となりのJenkins2.0」 - 第7回大阪 / 第9回(東京)Jenkins勉強会 #jenkinsstudy
「実録!となりのJenkins2.0」 - 第7回大阪 / 第9回(東京)Jenkins勉強会 #jenkinsstudy「実録!となりのJenkins2.0」 - 第7回大阪 / 第9回(東京)Jenkins勉強会 #jenkinsstudy
「実録!となりのJenkins2.0」 - 第7回大阪 / 第9回(東京)Jenkins勉強会 #jenkinsstudy
 
世界と事例から学ぶ、プロダクトオーナーの「素養」としてのアジャイルメトリクス
世界と事例から学ぶ、プロダクトオーナーの「素養」としてのアジャイルメトリクス世界と事例から学ぶ、プロダクトオーナーの「素養」としてのアジャイルメトリクス
世界と事例から学ぶ、プロダクトオーナーの「素養」としてのアジャイルメトリクス
 
アジャイルコーチが現場で学んだプロダクトオーナーの実際と勘所 POの二番目に大事なことと
アジャイルコーチが現場で学んだプロダクトオーナーの実際と勘所 POの二番目に大事なこととアジャイルコーチが現場で学んだプロダクトオーナーの実際と勘所 POの二番目に大事なことと
アジャイルコーチが現場で学んだプロダクトオーナーの実際と勘所 POの二番目に大事なことと
 
Re:ゼロから文化を創り、技術を伝承する ~客先常駐エンジニアと「社内勉強会」で築いた価値と変化
Re:ゼロから文化を創り、技術を伝承する ~客先常駐エンジニアと「社内勉強会」で築いた価値と変化Re:ゼロから文化を創り、技術を伝承する ~客先常駐エンジニアと「社内勉強会」で築いた価値と変化
Re:ゼロから文化を創り、技術を伝承する ~客先常駐エンジニアと「社内勉強会」で築いた価値と変化
 
【17-D-3】リーンスタートアップとスマートなエンジニアリングの葛藤 #devsumi #devsumiD
【17-D-3】リーンスタートアップとスマートなエンジニアリングの葛藤 #devsumi #devsumiD【17-D-3】リーンスタートアップとスマートなエンジニアリングの葛藤 #devsumi #devsumiD
【17-D-3】リーンスタートアップとスマートなエンジニアリングの葛藤 #devsumi #devsumiD
 

Ähnlich wie 161218 cybozu SRE

Well-Architectedな組織を
実現するためのチャレンジ - なぜ、CA W-Aを作ろうと思ったのか - #jawsdays 2019
Well-Architectedな組織を
実現するためのチャレンジ - なぜ、CA W-Aを作ろうと思ったのか - #jawsdays 2019Well-Architectedな組織を
実現するためのチャレンジ - なぜ、CA W-Aを作ろうと思ったのか - #jawsdays 2019
Well-Architectedな組織を
実現するためのチャレンジ - なぜ、CA W-Aを作ろうと思ったのか - #jawsdays 2019
Shota Tsuge
 

Ähnlich wie 161218 cybozu SRE (20)

JANOG35_RPKIやってみませんか? 20150120
JANOG35_RPKIやってみませんか? 20150120JANOG35_RPKIやってみませんか? 20150120
JANOG35_RPKIやってみませんか? 20150120
 
Stackdriver を利用した実戦的なサーバ監視・運用方法
Stackdriver を利用した実戦的なサーバ監視・運用方法Stackdriver を利用した実戦的なサーバ監視・運用方法
Stackdriver を利用した実戦的なサーバ監視・運用方法
 
Stackdriver を利用した実戦的なサーバ監視・運用方法
Stackdriver を利用した実戦的なサーバ監視・運用方法Stackdriver を利用した実戦的なサーバ監視・運用方法
Stackdriver を利用した実戦的なサーバ監視・運用方法
 
Works of site reliability engineer
Works of site reliability engineerWorks of site reliability engineer
Works of site reliability engineer
 
2015年GMOペパボ新卒エンジニア研修 Webオペレーション研修イントロダクション
2015年GMOペパボ新卒エンジニア研修 Webオペレーション研修イントロダクション2015年GMOペパボ新卒エンジニア研修 Webオペレーション研修イントロダクション
2015年GMOペパボ新卒エンジニア研修 Webオペレーション研修イントロダクション
 
JNSA西日本支部 技術研究WG AWSを使ったセキュアなシステム構築
JNSA西日本支部 技術研究WG AWSを使ったセキュアなシステム構築JNSA西日本支部 技術研究WG AWSを使ったセキュアなシステム構築
JNSA西日本支部 技術研究WG AWSを使ったセキュアなシステム構築
 
RPKIやってみませんか?
RPKIやってみませんか?RPKIやってみませんか?
RPKIやってみませんか?
 
hbstudy#82 SRE大全 FullGCとの闘い (UZABSE SRE Team Hirofumi Kubo)
hbstudy#82 SRE大全 FullGCとの闘い (UZABSE SRE Team Hirofumi Kubo)hbstudy#82 SRE大全 FullGCとの闘い (UZABSE SRE Team Hirofumi Kubo)
hbstudy#82 SRE大全 FullGCとの闘い (UZABSE SRE Team Hirofumi Kubo)
 
Well-Architectedな組織を
実現するためのチャレンジ - なぜ、CA W-Aを作ろうと思ったのか - #jawsdays 2019
Well-Architectedな組織を
実現するためのチャレンジ - なぜ、CA W-Aを作ろうと思ったのか - #jawsdays 2019Well-Architectedな組織を
実現するためのチャレンジ - なぜ、CA W-Aを作ろうと思ったのか - #jawsdays 2019
Well-Architectedな組織を
実現するためのチャレンジ - なぜ、CA W-Aを作ろうと思ったのか - #jawsdays 2019
 
Unityゲームにオンラインランキングとゴースト機能を追加しよう!
Unityゲームにオンラインランキングとゴースト機能を追加しよう!Unityゲームにオンラインランキングとゴースト機能を追加しよう!
Unityゲームにオンラインランキングとゴースト機能を追加しよう!
 
Ruby開発者のためのHeroku入門
Ruby開発者のためのHeroku入門Ruby開発者のためのHeroku入門
Ruby開発者のためのHeroku入門
 
AWSで動画共有サイトを作成して全社に公開
AWSで動画共有サイトを作成して全社に公開AWSで動画共有サイトを作成して全社に公開
AWSで動画共有サイトを作成して全社に公開
 
ゼロからのプログラミングRails講座 Codeanywhere版
ゼロからのプログラミングRails講座 Codeanywhere版ゼロからのプログラミングRails講座 Codeanywhere版
ゼロからのプログラミングRails講座 Codeanywhere版
 
Scalable Generator: Using Scala in SIer Business (ScalaMatsuri)
Scalable Generator: Using Scala in SIer Business (ScalaMatsuri)Scalable Generator: Using Scala in SIer Business (ScalaMatsuri)
Scalable Generator: Using Scala in SIer Business (ScalaMatsuri)
 
Developers Summit Summer 2018 - 1日10TB以上の店舗映像を解析するサービスの仕組みとノウハウ
Developers Summit Summer 2018 - 1日10TB以上の店舗映像を解析するサービスの仕組みとノウハウDevelopers Summit Summer 2018 - 1日10TB以上の店舗映像を解析するサービスの仕組みとノウハウ
Developers Summit Summer 2018 - 1日10TB以上の店舗映像を解析するサービスの仕組みとノウハウ
 
Webアプリに低レイテンシ・高可用性を求めるのは間違っているのだろうか
Webアプリに低レイテンシ・高可用性を求めるのは間違っているのだろうかWebアプリに低レイテンシ・高可用性を求めるのは間違っているのだろうか
Webアプリに低レイテンシ・高可用性を求めるのは間違っているのだろうか
 
【15-B-L】Spinnakerで実現するデプロイの自動化
【15-B-L】Spinnakerで実現するデプロイの自動化【15-B-L】Spinnakerで実現するデプロイの自動化
【15-B-L】Spinnakerで実現するデプロイの自動化
 
駅すぱあとWebサービスにおけるAWSとその周辺
駅すぱあとWebサービスにおけるAWSとその周辺駅すぱあとWebサービスにおけるAWSとその周辺
駅すぱあとWebサービスにおけるAWSとその周辺
 
2021/03/19 パブリッククラウドを活かす運用プロセス自動化
2021/03/19 パブリッククラウドを活かす運用プロセス自動化2021/03/19 パブリッククラウドを活かす運用プロセス自動化
2021/03/19 パブリッククラウドを活かす運用プロセス自動化
 
Splunkと各種ツールによるAWSの管理
Splunkと各種ツールによるAWSの管理Splunkと各種ツールによるAWSの管理
Splunkと各種ツールによるAWSの管理
 

Kürzlich hochgeladen

物流は成長の準備ができていますか? 警告 1 日あたり 1 章を超えて消費しないでください コンテンツが覚醒と変化への意志を引き起こす
物流は成長の準備ができていますか? 警告 1 日あたり 1 章を超えて消費しないでください コンテンツが覚醒と変化への意志を引き起こす物流は成長の準備ができていますか? 警告 1 日あたり 1 章を超えて消費しないでください コンテンツが覚醒と変化への意志を引き起こす
物流は成長の準備ができていますか? 警告 1 日あたり 1 章を超えて消費しないでください コンテンツが覚醒と変化への意志を引き起こす
Michael Rada
 

Kürzlich hochgeladen (6)

company profile.pdf
company profile.pdfcompany profile.pdf
company profile.pdf
 
Broadmedia Corporation. 240510fy2023_4q
Broadmedia Corporation.  240510fy2023_4qBroadmedia Corporation.  240510fy2023_4q
Broadmedia Corporation. 240510fy2023_4q
 
物流は成長の準備ができていますか? 警告 1 日あたり 1 章を超えて消費しないでください コンテンツが覚醒と変化への意志を引き起こす
物流は成長の準備ができていますか? 警告 1 日あたり 1 章を超えて消費しないでください コンテンツが覚醒と変化への意志を引き起こす物流は成長の準備ができていますか? 警告 1 日あたり 1 章を超えて消費しないでください コンテンツが覚醒と変化への意志を引き起こす
物流は成長の準備ができていますか? 警告 1 日あたり 1 章を超えて消費しないでください コンテンツが覚醒と変化への意志を引き起こす
 
共有用_aio基本保守プラン_WordPressサイト_20240509.pdf
共有用_aio基本保守プラン_WordPressサイト_20240509.pdf共有用_aio基本保守プラン_WordPressサイト_20240509.pdf
共有用_aio基本保守プラン_WordPressサイト_20240509.pdf
 
セルフケア研修で使えるカードゲーム『攻略!きみのストレスを発見せよ!: ゲームで身につくストレスマネジメント』
セルフケア研修で使えるカードゲーム『攻略!きみのストレスを発見せよ!: ゲームで身につくストレスマネジメント』セルフケア研修で使えるカードゲーム『攻略!きみのストレスを発見せよ!: ゲームで身につくストレスマネジメント』
セルフケア研修で使えるカードゲーム『攻略!きみのストレスを発見せよ!: ゲームで身につくストレスマネジメント』
 
事例DBサービス紹介資料(Case Study DB service introduction)
事例DBサービス紹介資料(Case Study DB service introduction)事例DBサービス紹介資料(Case Study DB service introduction)
事例DBサービス紹介資料(Case Study DB service introduction)
 

161218 cybozu SRE

Hinweis der Redaktion

  1. コンセプト:聞いた人に、SREっておもしろそうだな、応募してみようかな、と思ってもらう! タイトル:SREチーム発足! 1) サイボウズの運用本部のSREチームの齊藤と申します。 今回は自分のチームの紹介をさせていただきたいと思います。
  2. 2) SREとは? ・Site Reliability Engineer ・サイトの信頼性を向上させるソフトウェアエンジニア・チーム ・Googleが提唱して、様々な企業が取り入れている。  日本では以下など:   インフラチーム改め Site Reliability Engineering (SRE) チームになりました - Mercari Engineering Blog   http://tech.mercari.com/entry/2015/11/18/153421 3) SREとは? ・SREはもともとソフトウェアエンジニア。  ソフトウェアエンジニアがインフラを扱う。    プログラムを書くだけ、だったり、  インフラの作業をするだけ、ではなく、  どちらもやりますし、それ以上のこともします。
  3. サイボウズでも2016年の9月からSREチームを設立しました! #SRE チーム発足の Inside Out 記事をちら見せ SRE チームを設立します - Cybozu Inside Out | サイボウズエンジニアのブログ http://blog.cybozu.io/entry/2016/09/01/080000
  4. 4a) サイボウズのSRE サイボウズは基本自社DC運用なので、他社のSREさんよりハードよりのことも扱います。
  5. 4b)(もしくはこう) (改善) >  ・可用性やパフォーマンスの維持・向上 >  ・ログ収集・分析基盤の構築運用 >  ・需要予測に基づいて、機材増強・入替・構築 >  ・セキュリティの担保 (障害) >  ・緊急警告対応~根本対処まで (依頼) >  ・アプリケーションのデプロイ >  ・調査依頼など ※自社DCについて突っ込まれたら、  ・B2B。セキュリティなどを細かく気にするお客さまも多い。  ・もともとJPリージョンがないころから始めていて、進めていくうちにコストメリット、という話。
  6. 5) SREの取り組み1: セッションキャッシュ, yrmcds サイボウズのSREが具体的にどんなことに取り組んでいるのか、紹介していきます。 いろいろ知っていただきたいので、ちょっとたくさん紹介します!(^^ ただ運用してるだけじゃなくて、自分たちで工夫して運用してきてるんだよ、というのを知っていただければ! 1. 2013年ごろ:お客様が増えた  -> MySQLにセッション入れてたけど遅いしIO負荷すごい。  -> オンメモリ化しよう!  -> セッションだし、耐障害性がほしい&冗長構成は低コストで組んで、運用を楽にしたい。  -> memcachedはレプリケーションないし、レプリケーションがあるRedisとかは運用が大変そう  -> プロトコル簡単だし作ろう。  -> せっかくだからオープンソースにしよう  yrmcds 0.9.0 リリース - Cybozu Inside Out | サイボウズエンジニアのブログ  http://blog.cybozu.io/entry/5436
  7. 6) SREの取り組み2: DoS対策, yrmcds 2. 2014年ごろ:お客様がよくキーボードの上に本を落とすよ!F5だよ!  -> 同時アクセス数を制限しよう  -> yrmcdsでカウントしよう!  nginx の拡張モジュールを書いて DoS 対策をした - Cybozu Inside Out | サイボウズエンジニアのブログ  http://blog.cybozu.io/entry/8363  yrmcds 1.1.1 + libyrmcds 1.2.0 をリリースしました - Cybozu Inside Out | サイボウズエンジニアのブログ  http://blog.cybozu.io/entry/8453
  8. 7) SREの取り組み3: オープンソース化, golang, cybozu-go  最近ではGoを採用しているので、Go系のオープンソースも。  Go でいい感じのコマンドを作れるツールキットの紹介 - Cybozu Inside Out | サイボウズエンジニアのブログ  http://blog.cybozu.io/entry/cybozu-go-cmd  Cybozu Go · GitHub  https://github.com/cybozu-go/
  9. 8) SREの取り組み4: gosyncd  運用には、新システムへのデータ移行がつきもの。  これがないとサービスを止めないで新機能投入できない!  大容量データを新システムに移行するときの一つのやり方は  1. 初期同期:現時点のバックアップデータ・スナップショットを用意して、新環境にコピー  2. 差分同期:現行環境側で変更されたファイルを監視して新環境にコピー(削除やリネームなども)  ただ、素直にやると、通常運用負荷に同期負荷が乗るので障害を呼びがち。  -> 負荷の少ない時間に速度を上げて、日中は下げられるようにする。  既存のアプリに影響が出ないようにファイルキャッシュなどをあまり汚さないようにしたり。  安定して、データ移行を行うためのツール:   gosyncd
  10. 13) SREの取り組み9: 透過SOCKSプロキシ, transocks, usocksd  メール周りの障害が少なくなり、調査がぐっとやりやすく!  ・SPAMフィルタ問題  ・tcp_tw_recycle問題   NATサーバは発信元サーバが付けたタイムスタンプをそのまま使う   値が行ったり来たりしているように外からは見えてしまい、たまたま値が古かった方の接続要求を無視する   インターネットでは普通に起こるので、閉じたネットワークでのみ設定すべきだが。。  NAT をやめて、透過 SOCKS プロキシを導入した - Cybozu Inside Out | サイボウズエンジニアのブログ  http://blog.cybozu.io/entry/2016/03/14/130000
  11. 9) SREの取り組み5: LVM Thin Provisioning, バックアップ, リストア  ・バックアップのレストアが遅い!   ・毎月の全環境のアップデートリハーサルやバックアップベリファイ・障害調査・リストア依頼など  -> それまでは、レストア時にブロック差分を都度マージしていた。  -> LVM Thin Provisioningにして、スナップショットの形でバックアップしよう!   ・スナップショットとり放題   ・いつでも使える  -> それまでの全環境リストアは12時間強   -> 30分になったよ!!
  12. 11) SREの取り組み7: WalB  ・現在は日次スナップショットからブロックデバイス単位でバイナリ差分を取得してのバックアップ   ・バックアップ取得負荷がきつい。  ・常に取り続けられるように!書き込まれる都度にバックアップ!   WalB v1.0 リリース - Cybozu Inside Out | サイボウズエンジニアのブログ   http://blog.cybozu.io/entry/5130
  13. 12) SREの取り組み8: zabbix, Datadog  ・サービスインより、メトリクス監視はZabbixで運用  ・現在は自社DCも複数サイト運用し、監視対象は1000台を越える   -> 2-3年後にはさらに2倍の規模も見えてくる。  ・さすがにZabbixでは辛いので、よりよい監視の導入を検討   Cloud Monitoring as a Service | Datadog   https://www.datadoghq.com/
  14. 14) SREの取り組み10: artifactory   svnでの管理 -> artifactoryの導入   aptやPythonなどのレポジトリのように透過的にそのまま扱える。  > アーティファクトの管理について、あるいは go-apt-cacher / go-apt-mirror の紹介 - Cybozu Inside Out | サイボウズエンジニアのブログ  > http://blog.cybozu.io/entry/2016/07/19/103000  > Artifactory - Universal Artifact Repository Manager  > https://www.jfrog.com/artifactory/
  15. 15) SREの取り組み11: アクセスログ, presto, hadoop, airpal  ・ログ収集・分析基盤を導入検討中  ・presto(hadoop)をアクセスログの基盤として先行投入  -> 1日分の集計に13時間 -> 20秒に! 16) SREの取り組み12: その他いろいろ  ・現在Ubuntu 16.04への移行作業中。   upstartからsystemdへ。  ・可視化!   ggplot2でWebサーバのレスポンスタイムをざっくり可視化する方法 - Cybozu Inside Out | サイボウズエンジニアのブログ   http://blog.cybozu.io/entry/8039   Rでkintoneのデータを取得するパッケージをCRANで公開しました - Cybozu Inside Out | サイボウズエンジニアのブログ   http://blog.cybozu.io/entry/2016/11/28/080000
  16.  ・graylog   ネットワークスイッチのログ収集  ・NVMe SSDの導入   ・MySQL DB プールに利用して高速化   ・ElasticSearchのData nodeに利用して高速化  ・DC運用   cybozu.com のラック設計 - Cybozu Inside Out | サイボウズエンジニアのブログ   http://blog.cybozu.io/entry/6766  ・AS運用  > 131912 CYBOZU JP00137545  > https://www.nic.ad.jp/ja/ip/as-numbers.txt
  17. 17) SREチームを作ったわけ そんなSREチームですが、SREチームというのができるには理由がありました。 1. まず、.comのサービスイン当初は全員で運用も開発もしていた。 2. 規模が大きくなるにつれ、障害対応や調査、特殊な対応など、優先度の高い割り込みが増加 -> 集中して開発できない ->DevとOpsを分割 -> しばらくはうまくいっていたが…
  18. 18) DevとOpsチームの間で、深刻な問題が… ・Devチームの作ったシステムの移行コスト、運用コストが高すぎる! ある日のデプロイから突然始まる、計画外の三ヶ月間の巨大オペレーションプロジェクト… # その際デプロイした物はとても良いもので、今はめっちゃ大助かりだけど。。 -> 本番環境の実際のメトリクスや、オペレーションの観点が、開発時の移行手順設計から抜けてしまっていた。 ・Opsチームの開発スキルが上がらない!  最初はOpsメンバーもコードを書いていたものの、  新メンバーも増えるにつれ、まずは、目先のオペレーションをこなす必要もあり、  徐々に開発が少なくなる。  Devチームと別チームなので、最新の知見や空気感も徐々にわからなくなる。  -> 目先の対処が優先され、改善が進まない。。
  19. 19) そのため、SREチームに統合! ・Dev/Opsに分かれるのをやめて、役割を固定しすぎないように。 ・ソフトウェアエンジニアに立ち戻る!
  20. 20) 現在の課題  ただ、1000台越えの環境でまだ13人…  -> DevもOpsも全員やるようになって、人手不足がはっきりした
  21. 21) やりたいこともたくさん! ・ログ収集・分析基盤 ・検索基盤 ・デプロイ ・サービスディスカバリ ・リソースプール ・分散基盤 ・より簡易なオペレーション ・リソースの監視・キャパシティプランニング > アーキテクチャ刷新プロジェクト「Neco」 の概要 > http://blog.cybozu.io/entry/2016/03/11/080000
  22. 21) 結び ・このようなことをやっていますので、ぜひ、良かったらサイボウズのSREチームで大きなインフラを一緒に支えていきませんか? > サイボウズエンジニアの職場環境 @ 2016 - Cybozu Inside Out | サイボウズエンジニアのブログ > http://blog.cybozu.io/entry/2016/05/23/080000#oss というお誘いで、今日の私からのSREチームの紹介を締めくくらせていただければと思います。 懇親会にも出るので、気になるテーマがある方がいれば是非お声がけください! ご清聴ありがとうございました!