Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Speaker Deck
PRO
Sign in
Sign up for free
オンラインの技術カンファレンスを安定稼働させるための取り組み / SRE activity for online conference platform
Kohei Ota
November 09, 2021
Technology
1
770
オンラインの技術カンファレンスを安定稼働させるための取り組み / SRE activity for online conference platform
Kohei Ota
November 09, 2021
Tweet
Share
More Decks by Kohei Ota
See All by Kohei Ota
KubeCon Recap -Platform migration at Scale-
inductor
0
500
コンテナビルド最新事情 2022年度版 / Container Build 2022
inductor
2
76
データベースとストレージのレプリケーション入門 / Intro-of-database-and-storage-replication
inductor
22
4.8k
KubeConのケーススタディから振り返る、Platform for Platforms のあり方と その実践 / Lessons from KubeCon case studies: Platform for Platforms and its practice
inductor
2
390
Kubernetesネットワーキング初級者脱出ガイド / Kubernetes networking beginner's guide
inductor
15
4.2k
コンテナネイティブロードバランシングの話 / A story about container native load balancing
inductor
0
930
DockerCon Live 2021 Recap
inductor
2
820
Kubernetesをとりまくコンテナランタイムの栄枯盛衰 / The rise and fall of the container runtimes surrounding Kubernetes
inductor
14
4.1k
Resource Requests and Limits Under the Hood: The Journey of a Pod Spec
inductor
0
1.1k
Other Decks in Technology
See All in Technology
ECS Fargate+Mackerelにおける監視費用を削減するまでの話
nulabinc
PRO
1
190
EKS AnywhereとIAM Anywhereを組み合わせてみた
regmarmcem
0
130
私のAWS愛を聞け!ここが好きだよAmazon FSx for NetApp ONTAP
non97
0
720
データ分析のためのAWS Well-Architected -Data Analytics Lens-
maru1981
0
220
JAWS-UG 朝会 #36 登壇資料
takakuni
1
530
インフラのテストに VPC Reachability Analyzer は外せないという話
nulabinc
PRO
2
690
Microsoft Data Analytics trends : ”Lakehouse” , ”Data Mesh"
ryomaru0825
2
110
DMMプラットフォーム ゼロから始めるKubernetes運用 課題と改善
pospome
0
390
塩漬けにしているMySQL 8.0.xxをバージョンアップしたくなる、ここ数年でのMySQL 8.0の改善点 / MySQL Update 202208
yoshiakiyamasaki
1
580
Power BI のうらがわ
hanaseleb
1
130
DeepDive into Modern Development with AWS
mokocm
1
320
質の良い”カイゼン”の為の質の良い「振り返り」
shirayanagiryuji
0
120
Featured
See All Featured
Why Our Code Smells
bkeepers
PRO
324
55k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
119
28k
Docker and Python
trallard
27
1.6k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
236
1.1M
Writing Fast Ruby
sferik
612
57k
Intergalactic Javascript Robots from Outer Space
tanoku
260
25k
Why You Should Never Use an ORM
jnunemaker
PRO
47
7.6k
What's new in Ruby 2.0
geeforr
336
30k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
29
4.4k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
12
940
The Invisible Side of Design
smashingmag
290
48k
Atom: Resistance is Futile
akmur
255
20k
Transcript
オンラインの技術カンファレンスを 安定稼働させるための取り組み Presented by @inductor
自己紹介 Kohei Ota (@inductor) •アーキテクト@HPE •CNCF Ambassador •Google Developer Expert
(GCP) •CloudNative Days Tokyo 運営 •Container Runtime Meetup 運営 •Kubernetes SIG-Docs Japanese owner •Docker Meetup Tokyo 運営
人類がコロナ時代に入ってからもうすぐ2年...
人類がコロナ時代に入ってからもうすぐ2年... 2020年頭に最後のほうに参加した オフライン勉強会 中止になるイベントも多数 そのあとはずっとオンライン
ミートアップでの取り組み • ZOOMの配信機能がかなり便利だった ◦ ほぼゼロコンフィグでYouTube Liveとの連携が終わる ◦ ただし細かいことはいじれないのでレールに乗っかるしかない • 配信機材調達や環境の準備が面倒
◦ 家で配信することになるので人によって音質・画質・回線品質がまちまち • 懇親会や質問による人間のやりとりがやりづらい ◦ Sli.doやTwitterなどのみでは質問内容や回答できる範囲に限界が・・・ → 大変になった部分もあったけど、やればやれないことはないレベル
カンファレンスとミートアップの違い • 単にconnpassを用意して配信環境を用意するでもいいけど・・・ ◦ カンファレンスたるもの、提供できる形をもっと練るべき ◦ 月1とかじゃなくて年に数回のお祭りの体験が損なわれるのはコミュニティとしても損失 • 既存のプラットフォームを検討するも ◦
やりたい形に沿わないプラットフォームのSaaS ◦ 高い利用料 ◦ そもそも品質に疑問があることも → スポンサーやバックの企業ともつながりのあるカンファレンスでは そう簡単にはいかなかった...
カンファレンスとミートアップの違い • 単にconnpassを用意して配信環境を用意するでもいいけど・・・ ◦ カンファレンスたるもの、提供できる形をもっと練るべき ◦ 月1とかじゃなくて年に数回のお祭りの体験が損なわれるのはコミュニティとしても損失 • 既存のプラットフォームを検討するも ◦
やりたい形に沿わないプラットフォームのSaaS ◦ 高い利用料 ◦ そもそも品質に疑問があることも → スポンサーやバックの企業ともつながりのあるカンファレンスでは そう簡単にはいかなかった... 自分たちでプラットフォームを作ってこそ エンジニアじゃないか! →つくった
None
CloudNative Days Tokyo 2021 • 日付 2021年11月4日(木)-5日(金) • 会場 オンライン開催
• 主催 CloudNative Days Tokyo Committee • 参加費 無料(事前登録制) • 想定人数 2,000名〜3,000名 • 想定来場者インフラエンジニア SRE, アプリエンジニアなど8割以上が開発者、その他 CTO/CIO, システムインテグレーターなど • キーワードCloudNative, Kubernetes, Container, Microservices, CI/CD, DevOps, Edge/NFV, AI/Machine Learning, GPU/HPC • URL https://event.cloudnativedays.jp/cndt2021 Overview 9
CNDT2021 実行委員会メンバー Co-Chair Operation Platform Promotion Contents Broadcast Co-Chair
CNDT2021 実行委員会メンバー Co-Chair Operation Platform Promotion Contents Broadcast Co-Chair SREなことを
やってる2人
Dreamkast: オンライン配信プラットフォーム • https://github.com/cloudnativedaysjp/dreamkast • https://github.com/cloudnativedaysjp/dreamkast-infra • RailsのWebアプリ + Next.jsの配信ダッシュボード(視聴者画面)
• EKS + IVS + MediaLive で組まれたインフラ ◦ EKSでRailsを動かしてIVSとMediaLiveで配信を受ける構成
CNDT2021 実行委員会メンバー Co-Chair Operation Platform Promotion Contents Broadcast Co-Chair SREなことを
やってる2人 プラットフォームとしての改善の話はこの スライドを見てください
None
自前配信の仕組み
これまでの変遷 • v1はHerokuで作って公開した ◦ 便利だし楽、使い慣れてもいる ◦ レイテンシが大きい+開発体制としても今後どんどん大きくなっていった時に取り回しが 効かなくなってくる ◦ ECSかEKSか迷ってEKSにした(使い慣れてるし)
• まともにAWSで大きなものを作ると高い ◦ RedisにElastiCache最初は使ってたけどやめた ▪ 高い上にそこまで使いきれなかった→自前でRedisを動かすことに ◦ 全部Spotインスタンスで動かす強気の運用 ▪ めちゃめちゃ安い ◦ 仕事じゃないので使えるものは使う ▪ マネージドノードグループ、Cluster Autoscaler、Bottlerocket(最近入れた)
改善してきたこと • 運用のために使っているKubernetesマニフェストとCloudFormationの YAMLファイルはかなり成長してきた ◦ それなりの規模で動かしても大丈夫なくらいにはまともなコードになりつつあると思う • 相方のSREがPull requestベースでステージング上に検証用のPodが立ち上 がってLBに登録されるみたいなやつをオペレーター実装してくれた
• AWS自体で取り組まれている改善は極力リアルタイムに入れている ◦ 運用周りのオペレーターとか、新機能の追加検証とか、好きに実験してる ◦ さっきのページの「仕事じゃないので使えるものは使う」に同じ ◦ Fargateは最初入れたけどスケールが遅いのでやめた
今まで起こったプラットフォーム周りのあれこれ • イベント開始直後に500エラーが頻発(EKSにしてから最初のイベント) ◦ アクセス過多でスケールが間に合わなくて捌ききれなかった ◦ 手動でスケールしてどうにかしたけど次からはちゃんと負荷試験かけるようにした ◦ 本番ではなくプレイベントでよかった・・・(これ以外にもプレイベントでは本番で困らない ようにたくさんのことを実験しています)
• ArgoCDが重くて動かなくなった ◦ リポジトリ登録数が増えて負荷が高くなった ◦ デフォルトで設定されていたCPU Limitsを引き上げて解決 • 激アツ!Redis再起動 ◦ ログインセッションがブチッと切れる→こまる ◦ 実はまだ改善しないといけないポイント
今後直したい課題 • アプリケーションログの整理と集約、整備 ◦ Loki入れてるには入れてるけど活用できてない & CloudWatchのContainer Insightsはずっ と動かしてるとカネがかかる •
Railsアプリの分散トレーシング ◦ Jaeger検証中だけどRuby(Rails) + Open Telemetryもうちょっと枯れてほしい ◦ X-rayは検証した限り使い物にならなくてやめた • 運用ドキュメントもうちょっと整備したい • 入れたHelmとかオペレーターのメンテナンスどうするか ◦ バージョンアップ手動おじさんの限界
今後直したい課題 • アプリケーションログの整理と集約、整備 ◦ Loki入れてるには入れてるけど活用できてない & CloudWatchのContainer Insightsはずっ と動かしてるとカネがかかる •
Railsアプリの分散トレーシング ◦ Jaeger検証中だけどRuby(Rails) + Open Telemetryもうちょっと枯れてほしい ◦ X-rayは検証した限り使い物にならなくてやめた • 運用ドキュメントもうちょっと整備したい • 入れたHelmとかオペレーターのメンテナンスどうするか ◦ バージョンアップ手動おじさんの限界 いろんなポイントで改善が必要 アプリの可観測性 Day 2 operationの改善
まとめ • 1からSREを実践できる環境は少ない ◦ スケールしながら育てていくもの • サービスのフェーズに合わせてできることから取り組む • 多様性を大事にする ◦
メンバーごとに得意なことが違って良い。それが大きなSREになってゆく • SREチームを作って満足しない ◦ 本質はサービスが重要なタイミングで正しく動き続けること ◦ 対話によって数字を決めましょう
We are hiring!! (運営メンバー)