(出典:k8sjp.connpass.com)
本日は「Kubernetes Meetup Tokyo #22」に参加してきたレポートについて記載したいと思います
スマートニュース の中の人の話
急成長している企業&システムの中で、スマホ向けアプリ「スマートニュース」のフロントエンド(Frontend APIという名前)の開発環境をK8Sでデプロイ出来るようにした話
過去は機能毎で別々のシステムだった(例えば、ニュース機能・クーポン機能など)が、結構頑張って統一したシステム環境になっている。統一してフロントエンドの役割を担う「Frontend API」を作って現在も運用している。
一方で
- 多数の開発チーム(機能毎など)がある状況下で、使える開発サーバが一つしかなかった(AWS上にある)
- なので運用が非常に辛かった(誰かが専有していると使えないし、間違って横取りされることもあった)
- そこで、開発者が環境を簡単に作れるようにしたかった
という課題が有り、そこをKubernetesでデプロイ出来るようにしたとのこと。
「自分のPCからキックすると、AWS EKS(Kubernetes)上に環境ができあがり、自分の開発サーバが用意できるようにした」というのが実装した結果
- EKS内で、ALBが受ける(受けはALBが行う)が振り分けはNginxが行う点がポイント
今後
- フロントエンド用だけではなくもっと広げていきたい
- Staging / Production 環境にK8Sを導入したい
号外、ビッグニュースのプッシュ通知を迅速にするために高速スケールアウトさせたい
QA
Q: ECSで出来るんでは??
A: うまく使いこなせていない・世の中的な流れ的にもK8Sをやってみたかった
はてな の中の人の話
MackerelチームでSREをやっている人が、Mackerelのコンテナ監視機能をもっと強化させたい。その中で、Mackerel自身もコンテナ化したくなったため、Kubernetes対応を頑張って実装して・運用した結果を発表してくれた。
※Mackerelは、クラウド上で動作するホスト監視型サービス
- オーケストレーションのデファクトスタンダードことK8Sをやったことないのでノウハウの確立したい
- Mackerelインフラ管理コスト削減したい(結構手間がかかっていて、Kubernetesでの運用が軌道に乗ることで効果が出ることを期待)
が最も大きなモチベーション
稼働中のサービスに対して手を入れる形になるので、CI/CDパイプラインに影響を与えないように並行してコンテナ運用をする必要があって、その点がポイント
詳細はブログ参照(https://developer.hatenastaff.com/entry/leading-kubernetes-at-hatena)
Productionの一部で運用を開始して、出た課題
- 学習コストが高い。Kubernetesは簡単なツールではなくむしろ複雑
退職・異動に耐えられない - 個人レベル超えたチームで運用確立が大変だった
結局構築に携わった人間じゃないと触れなくなる - K8S関連ツールが多すぎて、最適な選定は困難
- K8S自身がアップデート(3ヶ月毎リリースされ、3リリースのみがサポート)され、アップデートを先送りにするとより大変になる上に、アップデート自体も大変
- アップデートに失敗すると、復旧は困難
結局、Kubernetesクラスタから撤退を決断し、通常のVM運用に戻した
- 構築できる ≠ 運用できる
- 運用体制の維持が大変
- 撤退可能な構成にすることが大事
QA
Q: コンテナ化の山登りのコツを教えてほしい
A: Trailmap 3番までは頑張って順番通りに勧めてほしい
PayPay の中の人の話
Backend Application担当としてPayPay初期からJoin、Platformチームに異動
(AWS EC2 / Aurora / Kafka / ElastiCache / Elasticserch)
EKSが始まっていなかったので、K8S & EC2 で構築しているとのこと
話の内容は、PayPayがサービスインしてから様々なキャンペーンをどう乗り切ってきたかを技術面から解説してくれるものだった
第一弾百億円あげちゃうキャンペーン
- アクセスの急増:サービスCore機能のAPIに予想以上のアクセスが
第二弾百億円キャンペーン
- パフォーマンチューニングに必要な、ボトルネック調査にコストがかかる・・・
New relic を導入して調査 - アプリ間の認証に不可が集中していることがわかった
その後
- Kafka on Kubernetes
ログを残すためにも使っている(サービス内容からしてログ相当大事そう・・・)ので強化したい - Canary Service
新バージョンに総入れ替えすると影響範囲が全体になるので、新バージョンを部分利用してその部分だけのメトリクスを収集したい
関連記事です
OracleとMSが手を組んだ話です
クラウドのメリットについて強調される昨今ですが、あらためて仮想化のメリットについて記載
以上です