初参加で無領空処を喰らったCloudNative Days、社会人になってリベンジ参加したらどうなるの!?CloudNative Days Winter 2024参加レポ
🐙 はじめに
こんにちは!びきニキです(@BkNkbot)
11/28(木)~11/29(金)に有明セントラルタワーホール&カンファレンスにて開催されたCloudNative Days Winter 2024に参加しました!#CNDW2024
今回はその内容について、参加記録を残していきたいと思います!
🐙 CloudNative Days Winter 2024 とは
🐙 参加した背景
ざっくり言うと「成長しているかどうかを判断できる機会だと思ったから」です。もちろん登壇者だったという背景もあります。
私は学生時代 CloudNative Days Fukuoka 2023にも参加したことがあるのですが、初参加した時に衝撃を受けました。言っている内容が本当にまったく分からなかった衝撃です…!!!!完全に宇宙猫だった。
私は技術カンファレンス参加後にレポートを書くようにしているのですが、唯一レポートを書けていないのがCloudNative Days Fukuoka 2023です。今思うと「なにもわからなかった」という感想でも書く価値があったなと悔しく思っています…。
今年から社会人!仕事でクラウド技術にも触れているため、成長しているのかどうかをリベンジ参加して確認したいと感じていました。
🐙 現地写真
Grafanaでいろんな数字を見られて面白かった!!!こういう身近な部分にも技術があると、最初の印象がポジティブなものとして紐付けられるので、個人的にはかなり好きです(親近感も湧く)
🐙 登壇した
初心者枠でLTしました。メチャ緊張した〜〜〜〜〜!!!!
私が業務で初めて触れた概念に焦点を当て、今ならわかりやすく説明できるんじゃないだろうか?という発表をしました。
もちろんターゲット層が「クラウド技術に精通している人」だけではないと頭ではわかっているのですが、会場にいる参加者の属性などを踏まえると釈迦に説法のように感じてしまって本当に怖かったです…!!
だけど無事に終わりホッとしています。ありがとうございました!
コメントもらえたの嬉しかったので貼っておきます(現地で感想を伝えてくださったみなさんもありがとうございました!)
🐙 見たセッションのメモ
転職したらゲーム基盤システムの移行が大変だった話 ~ 数百台のアプリをGKE化、CloudSQL化させて苦労したこと勘所 ~
オンライン処理性能は TiDB が優秀だけど、時間不足のため見送った
計画メンテ1秒未満でユーザー側影響を最小限にできるので、DBとしてCloud SQEnterprise Plusを選定
CloudSQLは高可用性でコスト高になるが、サービスレベルに応じた構成検討でコストを従来と同等以下に
tcpdump によりパケットレベルで調査し、性能劣化原因を一つ一つ特定
オンプレVM → GKE 環境での、ネットワークの性能改善ポイントは3箇所
DNSの名前解決・LBの証明書・DB接続パラメータ
3人チームでも運用できるパルワールドのクラウドネイティブ技術
Steam史上歴代2位の同接210万を記録したこともある
パルワールドサーバーは自動スケールしない
各ゲームリージョンごとにマルチクラスタ環境を採用
ゲームの通信はUDPなのでHTTPベースのCloud Runが使えない
コスト最適化にはGoogle Cloud 標準のメトリクスを利用
苦労しない運用を意識
各クラスタを極力シンプルに(基本はStatefulset・ConfigMap・PVC)
Grafanaなど、運用の必要なものを増やさない
本当に増やしたいものであればクラウドのものを積極的に採用
UPSIDERのアプリケーションを支える、高セキュリティ・高可用・高スケーラブルなプラットフォーム
金融システムで一番大事なのは「残高」と「取引記録」
決済系と管理系でクラスタを分離するアーキテクチャを採用
PCIDSSというクレジットカード業界のセキュリティ基準が存在する
DBのレコードは行レベルで暗号化する、などの決まりがある
サービスを分割して作ることでPCIDSSの対象となる範囲を狭めている
某社のスマホの新機種が発売になると決済リクエストの数が増える
AI で加速するクラウドネイティブな開発体験
Gartnerでもクラウド上の開発環境がトレンドになっている
開発環境とともにゴールデンパスを提供することが大事
Google Cloud にもコンテナベースで開発環境を払い出すことができるCloud Workstations が提供されている
AI支援により、開発だけでなく運用もより迅速にできるのでは?
生成AIのDevOps活用とLLMアプリの効率的な監視、改善、保護
「AI Observability (AI"を"監視)」「AIOps (AI"で"監視)」の2つについて
AIを利用することで勘や経験に頼らない調査ができる
LLMOpsはレイテンシだけでなく、モデル応答品質や安全性もポイント
Datadog ではこのあたりの情報をintegrationで見やすくできる機能がある
生成 AI のリクエストをデータとして保存しておき、prompt injection等がないかを確認することもできるようになっている
120万口座を支える証券システムのクラウド運用内製化とクラウドネイティブへの挑戦
PayPay証券は設立当初からAWSを利用、証券システムは全て内製
設立当初、AWS運用は外部に委託
新NISA開始によって利用者急増が予測されたため、リードタイムや拡張性のことも踏まえて内製することを決定
インフラが手動管理だったため、TerragruntなどのIaCツールも導入
Atlantisを利用することでGitHubからTerraformを実行(← 超良さそう)
TerraCognitaで既存リソースのインポートも簡単に
DB は選択できる最大のスペックまで拡張済みで後が無い状態
可視化することで使用率を改善しコスト削減、スロークエリも解消
成熟度別 Platform Engineering アーキテクチャ道場!
Project Templateの提供から始めるとよい
(多分かなり業務に関連する内容だったので、後でアーカイブ追います)
(発表でソワソワしていて話半分しか聞けてない)
間違いだらけのポストモーテム - ホントに役立つレビューはこうだ!
直面した技術的背景、処理した社会的背景(人間的な要素)に着目する
Blamelessから踏み込んだ考え方「Blame-aware」に進める
人間の本性として「責任所在を明確にしたい」という傾向は自然
「なぜこれが起こったか」「どうして悪いことが起きたか」ではなく「なぜシステムがそれを許容していたのか」「なぜそれが理にかなっていたか」の視点で追求する
「〇〇すべきだった」などの後からだとどうとでも言える表現は避け、事実ベースでの分析を行う
乗っ取れKubernetes!! ~リスクから学ぶKubernetesセキュリティの考え方~
Container BreakOut:コンテナからNodeに侵入すること
k8sの各コンポーネントは、ヘルスチェックなどのために特定ポートを外部公開していることがある
不要なアクセス元からのアクセスは禁止することが大事
k8s のハードニング状況をチェックする「kube-bench」を利用して現状を認識する(そのあとに優先順位を決める)
振る舞い監視も重要(Falcoなどのツールを利用する)
EKSバージョンアップ工数削減大作戦!~Terraform化とE2Eテスト自動化~
achlis(eksのwrapperツール)→TerraformとHelmfilesに移行
パラメータの変更はないけどNode groupを入れ替えたいときなどはterraform_dataを活用
PR・UI上で EKSの構築&各種ツールのインストールが完結
SREしか触れなかったServiceAcconutを開発側で安全作成できるように
頻繁にアップデートができるようE2Eテスト自動化ツールkibertasを導入
50以上のマイクロサービスを支えるアプリケーションプラットフォームの設計・構築の後悔と進化
「開発者にゴールデンパスと堅牢なインフラを提供し、創造的な開発に集中できるようにする」というビジョンを掲げる
幅広いユースケースに対応・ビジョン実現のために「なんでも柔軟にできる」を目指さない(目指せない)
OKRとThe Six Week Cycleで大きな成果が得られる課題に焦点を当てる
作らずに目的が果たせるなら作らない(TVP)
アプリケーションプラットフォームを「開発者をユーザーとするプロダクト」として育てる
LINEヤフーにおける超大規模プラットフォーム実現への挑戦と学び
問題解決の鍵となる考え方は以下
スケールアウトファースト:スケールアウト戦略を取れない箇所をできるだけ排除するようにプラットフォームを設計実装する
Platform as a Product:社内プラットフォームを顧客向けプロダクトのように扱う
k8sはサポートされる最大Node数やPod数が公開されているが、これらのパラメーターを同時に上限まで満たせるわけではない(Kubernetes Scalability thresholds)
障害特定が超爆速に!セブン&アイ・ネットメディアの秘密兵器〜チームの壁を超越!Observabilityで問題解決力アップ〜
Observability製品としてInstanaを導入した
AWS移行によりパフォーマンスが改善され、Instanaが利用されない
メンバー交代による認知度低下・職種による利用者の偏りが発生した
性能監視ではなくトラブルシュートツールとして利用するように変更
Instanaの社内勉強会を3度実施
Instana利用により、3時間かかっていた障害原因特定が5分で完了
点ではなく面で俯瞰して分析していく機能が重要
導入して終わりではなく、ステークホルダーとの連携も必要
5年で社員数3人から100人以上に!インフラのコード化とサービスのコンテナ化による、急成長する事業を支えるためのプラットフォーム戦略とは
放っておけるかつ、壊しやすいという観点を重要視
セキュリティ基準などのチェックをするためにSisdigを導入
そのCIは本当に役に立ってますか? - 高品質なCIプロセスを実現する設計術
静的解析に必要なこと:① 解析範囲の決定 ② 解析ルールの決定 ③ 実行 ④ 抑制判断 ⑤ 終了コード設定
シフトレフトのような考え方が重要 → 実行チューニングも必要になる
干渉しないツールは並列で実行し高速に
(類似後続チェックなど)不要なプロセスはキャンセルし効率的に
差分実行やキャッシュの利用を検討する
ユニットテストでカバーされているコードよりも、カバーされていないコードが本当に大丈夫なのかどうか・リスク許容できるかどうかが大事
大規模環境でCiliumを運用して得られた課題と知見
Cilium:コンテナ間通信を実現するOSS。eBPFをベースにして通信制御
Necoでは「L4LB」「kube-proxy」「ネットワークポリシー」の3つの機能を主に利用している
Cilium導入によるメリットを享受する一方で、問題も発生
① kube-apiserverとCiliumが通信不能になるとcilium-agentが停止する
② Conection Tracking Tableが溢れそうになる
③ Cilium Identityの氾濫によるPod作成失敗
④ Cilium Endpointが作成されずにPosが通信不能に
それぞれの問題を以下のように対処
② CT Mapの要領拡張を実施・GC間隔の上限値引き上げ
③ Cilium Identity生成に関わるラベルを制限する
④ Cilium Endpointが存在しないPodを再起動する
🐙 後で見るメモ
Kong Konnectでマイクロサービスを統括!複数K8s環境を一元管理
システムリプレイスプロジェクト発足から7年、改めてコスト最適化に向き合う
レガシーな金融システムをKubernetesを使ってクラウドネイティブ化するためのノウハウ大全
クラウドネイティブへの小さな一歩!既存VMからコンテナまで、KubeVirtが実現する『無理しないペースの移行』とは!?
メインテーマはKubernetes - 実践者のための最新ベストプラクティス
次のコンテナセキュリティの時代 - User Namespace With a Pod
🐙 リベンジ感想 私の成長
普通にめちゃくちゃ楽しめました!!!!!!言ってることも(まだ浅瀬段階ではあるけど)わかるようになって、前より成長しているかもしれないなと実感できる貴重な機会でした🙏
特に弊社のセッションはかなり分かったつもりになれました。これって知識的な自分の成長もあるけど、今回の場合は「自分の会社の話だから頑張って聞けばわかるところもあるはず」というような意識の違いもあったと思います。
1日の終わりの方はセッションも聴き疲れてきて、どうしても集中が途切れがちになってしまったこともありました。…が、そのタイミングだからこそ「ちょっと意識を入れ直して聞く」ことも大事だと改めて実感できました。
また、懇親会でも登壇者の方と話すときに「ちゃんと技術の話をする」ということを意識しました。当たり前の内容かもしれませんが、私の中でこれは完全に成長!!!!!!!!!!!👊👊👊
自分の勉強していた単語が出てきて嬉しくなるこの進研ゼミ現象、マジで嬉しいのでもっと知識を増やして発現回数を増やしていきたいな
🐙 おわりに
多分これは初参加で諦めず、継続参加したからこその学び!本当に参加して良かったと心から感じています。
実行委員・登壇者・スポンサー・当日スタッフ・参加者のみなさん!
本当に本当にお疲れ様でした!また来年は沖縄 or 東京で会いましょう!
去年は言ってること難しくて1文字も書けなかったけど、今年はこれだけ書けたから成長したと言ってもいいよね!!!!!!