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の取り組みとSREの面白さ/SRE Efforts in the...
Search
Takuma Kume
April 14, 2023
Technology
1
2.5k
ホスティング事業におけるSREの取り組みとSREの面白さ/SRE Efforts in the Hosting Business and the Interest of SRE
Pepabo tech conference #20
Takuma Kume
April 14, 2023
Tweet
Share
More Decks by Takuma Kume
See All by Takuma Kume
事業部CTOの現在地(パネルディスカッション)/Current-location-of-Division-CTO
takumakume
0
62
ロリポップ! for Gamersを支えるインフラ/lolipop for gamers infrastructure
takumakume
0
590
ロリポップ! for Gamersの立ち上げ/lolipop for gamers launch
takumakume
0
2.1k
ホモグラフドメインを検出してみた/detect homograph domain
takumakume
0
480
ソフトウェアの継続的アップデートをコンテナ化によって加速させる/Accelerate continuous software updates with containerization
takumakume
0
4.9k
KubernetesにおけるSBOMを利用した脆弱性管理/Vulnerability_Management_with_SBOM_in_Kubernetes
takumakume
1
2.2k
GitOpsで実現するPull Request毎のプレビュー環境/Preview environment for each Pull Request by GitOps
takumakume
0
1.7k
Goでkubernetes operatorを実装してアプリのプレビュー環境を作る/go-kubernetes-operator
takumakume
0
170
クラウドネイティブな開発環境への移行/Move to the cloud native development environment
takumakume
1
610
Other Decks in Technology
See All in Technology
あれは良かった、あれは苦労したB2B2C型SaaSの新規開発におけるCloud Spanner
hirohito1108
2
620
N=1から解き明かすAWS ソリューションアーキテクトの魅力
kiiwami
0
130
2025-02-21 ゆるSRE勉強会 Enhancing SRE Using AI
yoshiiryo1
1
370
2/18/25: Java meets AI: Build LLM-Powered Apps with LangChain4j
edeandrea
PRO
0
120
クラウドサービス事業者におけるOSS
tagomoris
2
850
Oracle Cloud Infrastructure:2025年2月度サービス・アップデート
oracle4engineer
PRO
1
220
トラシューアニマルになろう ~開発者だからこそできる、安定したサービス作りの秘訣~
jacopen
2
2k
急成長する企業で作った、エンジニアが輝ける制度/ 20250214 Rinto Ikenoue
shift_evolve
3
1.3k
PHPで印刷所に入稿できる名札データを作る / Generating Print-Ready Name Tag Data with PHP
tomzoh
0
110
OpenID Connect for Identity Assurance の概要と翻訳版のご紹介 / 20250219-BizDay17-OIDC4IDA-Intro
oidfj
0
280
全文検索+セマンティックランカー+LLMの自然文検索サ−ビスで得られた知見
segavvy
2
110
スタートアップ1人目QAエンジニアが QAチームを立ち上げ、“個”からチーム、 そして“組織”に成長するまで / How to set up QA team at reiwatravel
mii3king
2
1.5k
Featured
See All Featured
GitHub's CSS Performance
jonrohan
1030
460k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
120k
Stop Working from a Prison Cell
hatefulcrawdad
267
20k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
30
4.6k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
133
33k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
175
51k
Faster Mobile Websites
deanohume
306
31k
A designer walks into a library…
pauljervisheath
205
24k
The Pragmatic Product Professional
lauravandoore
32
6.4k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
27
1.9k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
233
17k
RailsConf 2023
tenderlove
29
1k
Transcript
ホスティング事業における SREの取り組みと面白さ 久米拓馬 / GMO PEPABO inc. 2023.4.14 Pepabo Tech
Conference #20 春のSREまつり 1
2 自己紹介 ホスティング事業部 SREチーム シニアエンジニア 2016年 中途入社 久米拓馬 @takumakume • Webアプリケーションプラットフォームの開発・ 運用
• Kubernetes / Cloudnative • 信頼性と生産性のバランスを取る • 子育てと感染症対策
3 本セッションでお話すること • ホスティング事業部におけるSREの領域 • SREの取り組み • 現状の課題と今後 • ホスティング事業部におけるSREの面白さ
4 本セッションでお話すること • ホスティング事業部におけるSREの領域 • SREの取り組み • 現状の課題と今後 • ホスティング事業部におけるSREの面白さ
ホスティングSREの仕事の全体像がイメージできる セッションにしたいと思っています!
ホスティング事業部における SREの面白さ • 世にないアーキテクチャを生み出す面白さ • ホスティングはコストを抑えつつ大量の Webサイトを運用するというニッチな領域 • 前例のないミドルウェアやアーキテクチャを生み出すチャレンジングな仕事 •
幅広い技術を取り扱うことの面白さ • ホスティングは一般的な Webアプリケーションと異なり、数百人で 1台のサーバを共有するマルチ テナントアーキテクチャのため Linux Kernelなどの低レイヤの技術も必要 • WebアプリやKubernetesを始めとしたプラットフォームの運用 • オンプレのBaremetal Server、プライベートクラウド、パブリッククラウドの使用 • 様々な技術スタックに触れることができるためエンジニアとしての成長機会が多い 5
ホスティング事業部に おけるSREの領域
ホスティング事業部における SREの領域 7 ペパボのサービス
ホスティング事業部における SREの領域 8 ホスティング事業部のサービス
ホスティング事業部における SREの領域 9 • Webホスティング • データベース • メール •
ドメイン • DNS 主な機能
ホスティング事業部における SREの領域 10 規模 Web site 250万+ Traffic 18Gbps+ Baremetal
1000+ VM 500+
ホスティング事業部における SREの領域 11 技術スタック ref https://tech.pepabo.com/tech-stack/hosting/ SREの領域
ホスティング事業部における SREの領域 12 ホスティングサービスの全体像 プライベートクラウド( OpenStack) Kubernetes Web Apps (サービスサイト、
コントロールパネル 等) ユーザ向けホスティングサーバ (Web、DB 等) Baremetal Baremetal
ホスティング事業部における SREの領域 13 ホスティングサービスの全体像 プライベートクラウド( OpenStack) Kubernetes Web Apps (サービスサイト、
コントロールパネル 等) ユーザ向けホスティングサーバ (Web、DB 等) Baremetal ホスティング事業部のSREの領域 Baremetal
ホスティング事業部における SREの領域 14 • Baremetal Serverの運用 • ホスティングインフラプラットフォームの開発・運用 • Webアプリケーションプラットフォームの開発・運用
• プロダクトの安定性や信頼性向上のためのモニタリングと改善 • 各種オペレーションの自動化 • SRE文化の醸成、各チームへの展開 SREの仕事
ホスティング事業部における SREの領域 15 ホスティングインフラプラットフォームの開発・運用 • サーバの構成管理(IaC) • ユーザーのオーダーからホスティング環境のプロビジョニングを行う API •
マルチテナントホスティングサーバのセキュリティ担保 • 新機能や技術課題を解決するためのアーキテクトやミドルウェア等の開発
ホスティング事業部における SREの領域 16 Webアプリケーションプラットフォームの開発・運用 • Kubernetesクラスタの運用 • アプリケーションのコンテナライズ • 開発環境の整備
• CI/CDパイプラインの構築
ホスティング事業部における SREの領域 17 プロダクトの安定性や信頼性向上のためのモニタリングと改善 • PrometheusやGrafana等を用いた可観測性の向上 • SLI/SLOの策定、運用 • パフォーマンス改善、可用性の向上
SREの取り組み
SREの取り組み 19 Web Server Web Server Web Server API Control
Panel FTP Proxy SSH Proxy Reverse Proxy … a.jp b.jp c.jp z.jp 全体像 ユーザーからのオーダーを受け取り Web Server にセットアップ FTPアクセスを制御 SSHアクセスを制御 TLS終端 キャッシュ、フィルタリングルールの実行 HTTPアクセスを制御 500+ 250万+
SREの取り組み 20 大量のドメインに対するリクエストハンドリング • 課題 • リバースプロキシは大量のドメインに対して以下の要件を満たさなければならない。 • コンテンツをホストしているWebサーバを選択してリクエストを転送する •
キャッシュやフィルタリングのルールを適用する • TLS終端を行う • リソースの観点で静的な設定をリバースプロキシに適用することができない。 • メモリが枯渇する • 解決方法 • matsumotory/ngx_mruby を用いて、動的にリクエストをハンドリングしている
SREの取り組み 21 Web Server Web Server Web Server Reverse Proxy
… a.jp b.jp c.jp z.jp 大量のドメインに対するリクエストハンドリング へアクセス Database ngx_mruby a.jp Databaseから取得したデータを元にハンドリング - TLS終端 - キャッシュ、フィルタリングルールの実行 - Web Serverへプロキシ 以下の情報をDatabaseから取得 - TLS証明書 - キャッシュやフィルタリングルール - Web Server ホスト
SREの取り組み 22 大量のドメインに対するリクエストハンドリング https://speakerdeck.com/takumakume/2-million-more-than-the-domain-the-back-of-the-rental-server-content-cache
SREの取り組み 23 大量のドメインに対するリクエストハンドリング https://rand.pepabo.com/article/2017/06/16/iot37-matsumotory/ (スライド、論文)
SREの取り組み 24 動的なSSH/FTPのハンドリング • 課題 • サーバの収容変更をしたときに、 SSH/FTPのエンドポイントが変わってしまい不便。 • 解決方法
• 以下のソフトウェアを用いて動的に接続先を決定している • SSH: tsurubee/sshr • FTP: pyama86/pftp
SREの取り組み 25 Web Server Web Server Web Server FTP Proxy
SSH Proxy … a.jp b.jp c.jp z.jp 動的なSSH/FTPのハンドリング へアクセス Database a.jp 各プロキシミドルウェアは、プロトコルの処理に割って入り、 動的に転送先を決めている。 接続元ユーザ名をもとに転送先を取得 Pluggable Hook
SREの取り組み 26 動的なFTPのハンドリング https://speakerdeck.com/heat1024/gochu-xin-zhe-gagoroutinedetiao-ndaftppurokisi https://speakerdeck.com/pyama86/golangdezuo-ruftppurokisisaba
SREの取り組み 27 動的なSSHのハンドリング https://speakerdeck.com/tsurubee/golangtesshhurokisisahawoshi-zhuang-sita-6ff62aee-12f3-40f5-9e99-f21c5e169d97
SREの取り組み 28 各種Webアプリケーションのコンテナ化 VM + Chef による構成管理から、イミュータブルなコンテナへ Kubernetes を始めとしたクラウドネイティブなエコシステムによりアプリケーション開発に集中できるようにする
SREの取り組み 29 開発体験の向上 アプリケーションの動作確認を Pull Request毎に自動生成して生産性を上げていく
SREの取り組み 30 SLI/SLOの運用 ホスティング、Webアプリケーション環境それぞれ SLI/SLOを策定し運用する
現状の課題と今後
現状の課題と今後 32 • ユーザ向けサーバ群の可用性向上 • ハードウェア故障などで一時的なサービス断が発生してしまう • 数百円から利用できる安価なホスティングサービスを提供している。コストを抑えつつ可用性が 高いアーキテクチャを作る •
コントロールパネルからのオペレーションを非同期かつ冪等に実装し、アプリケーションとイ ンフラ間の不整合が発生しにくいアーキテクチャにする • 現状はアプリケーションからインフラへ同期的にオペレーションをするアーキテクチャとなってお り、失敗した後の検知とリカバリをしなければ整合性が取れない • Kubernetesのアーキテクチャのように、定義した状態に収束する実装にしていく
現状の課題と今後 33 • 可能な限りコンテナ化していく • Baremetal Serverに直接OSとアプリケーションをプロビジョニングしている。 • リソース要求の変更に弱く、ミュータブルなため管理コストが高い。 •
可観測性を向上させノイジーネイバーに対応する • ホスティングサーバはユーザが任意のプログラムを実行することができる。 • 極論、CPUをぶん回す処理も実行可能。 • ノイジーネイバーの発生原因を観測し、適切な手段でリソース分離をする技術が必要。
ホスティング事業部における SREの面白さ
ホスティング事業部における SREの面白さ • 世にないアーキテクチャを生み出す面白さ • ホスティングはコストを抑えつつ大量の Webサイトを運用するというニッチな領域 • 前例のないミドルウェアやアーキテクチャを生み出すチャレンジングな仕事 •
幅広い技術を取り扱うことの面白さ • ホスティングは一般的な Webアプリケーションと異なり、数百人で 1台のサーバを共有するマルチ テナントアーキテクチャのため Linux Kernelなどの低レイヤの技術も必要 • WebアプリやKubernetesを始めとしたプラットフォームの運用 • オンプレのBaremetal Server、プライベートクラウド、パブリッククラウドの使用 • 様々な技術スタックに触れることができるためエンジニアとしての成長機会 35 再掲
36 Thank You! Thank You! GMOペパボのSREに興味がある方は @takumakume までご連絡ください! カジュアル面談でもお待ちしております。