SlideShare a Scribd company logo
1 of 74
福間雅弘
インフラグループ
エンジニアリング本部技術統括部
KLab株式会社
KLabチャットシステム
インフラ変遷
2
好きなAWSサービス
● CloudFormation
● Secrets Manager
福間 雅弘
クラウドエキスパート
エンジニアリング本部技術統括部インフラG
KLab株式会社
KLabのクラウド関連インフラ全般
画像
AWS Summit Online 2022
登壇します
3
想定視聴者
● オンプレミスからクラウドへ移行を考えている人
● 特にデータベースの移行に興味がある人
● クラウドでサーバを利用しているが、コンテナ利用を考
えている人
4
アジェンダ
● KLabのチャットシステムとは?
● クラウドネイティブ化 4ステップ
● KMSのクラウド移行
● データベース移行の詳細
● 今後のKMS
● まとめ
5
KLabの
チャットシステムとは?
6
KLabのチャットシステムとは?
● 正式名称は KLab Messaging Service(KMS)
● SDK形式でクライアントライブラリを提供
7
KMSシステム構成
● 過去のKLablogから引用
KMSシステム
8
KMSシステム構成要素
● IRCサーバ
○ メッセージ配信用基盤(メッセージハブ)
○ インターネット・リレー・チャット(irc)デーモンが動いて
いる
● APIサーバ
○ KMSを利用する上で必要な操作を受け付ける
○ ユーザ認証情報登録や、NGキーワード登録など
● UAサーバ
○ クライアントアプリケーションが接続するサーバ
○ ユーザ発言をリアルタイムで中継する
9
データセンター含めたシステムの話(過去形)
● 単一システムでKLab提供の全タイトルにサービスを提供
● オンプレミス環境で運用
○ DSAS上で実現
10
共有環境のメリット・デメリット
● メリット
○ 一つの物理環境でシステムを提供
■ 管理コストが低い
● デメリット
○ 問題発生時は全てのタイトルに影響が出る
■ システムメンテナンスは全タイトルと
調整が必要
11
重大イベント発生!
クラウド化のいきさつ
12
天災によるDC停止の危機
● DCの電源が喪失
○ 1週間程度で止まってしまう!
● 対象はKMSが動いていたDC
○ 停止するとKLabの全タイトルに影響が出る
13
エクソダス … 出DC!
● 急いで別環境へ移行する
● 別DCはサーバリソースに余裕がない
○ AWSを利用する
● 受け入れのためサービスセットアップ
○ サーバ準備、DB移行手順確認、DNSの管理変更…
● 緊急時のための準備を加速
14
緊急脱出の回避
● 電源が回復しDC停止は回避された
● これを機会に、共有サービス構成を見直す
15
今後のKMSのあり方を検討した結果
● クラウドへの移行を行う
● タイトルごとに分割する
移行
16
クラウドネイティブ化
4ステップ
17
クラウドネイティブ化 4ステップ
オンプレのシステムをクラウド最適化する
1. クラウド上のサーバを利用し環境移行を行う
2. システム構成そのままで、コンテナ化を行う
3. 一部機能をクラウドサービスに置き換える
4. ビジネスロジックもクラウドサービスに特化させる
18
当時のKLabのAWS利用
● 主として利用していたのはCDN
○ Amazon CloudFrontが主体
● 一部タイトルで、Amazon Elastic Compute Cloud
(Amazon EC2) ベースでAPIを実装
19
KLAWSフレームワーク
● KLabで利用しているEC2インスタンスを管理するフレームワーク
● AWS-EC2運用をDSAS運用に近づける
20
KLAWSフレームワークの問題点
● 元となるAmazon Machine Image(AMI)が古い
○ ベースOSが debian wheezy
○ 当時はEOLが直近
● AWS Nitro Systemベースの新しいインスタンスタイプが選べない
21
AWS移行
22
クラウドネイティブ化 4ステップ
オンプレのシステムをクラウド最適化する。
1. クラウド上のサーバを利用し環境移行を行う
2. システム構成そのままで、コンテナ化を行う
3. 一部機能をクラウドサービスに置き換える
4. ビジネスロジックもクラウドサービスに特化させる
23
サーバーをそのままEC2に置き換える
● ゴールイメージ
24
AWS移行に関する問題
1. AWSアカウントの管理問題
○ 1つのアカウントに複数のKMSシステムを配置するのは、
共有システムと同じ課題が発生するのでは?
2. 構築作業の問題
○ 複数のKMSシステムを作成するのは、手間なのでは?
3. ベースとなるAMIの問題
○ 既存のKLAWS用のAMIを利用すると、新しいEC2インスタ
ンスタイプを使えないのでは?
25
AWSアカウントの分割
● AWSのベストプラクティスに則った管理方法
○ タイトルだけでなく、開発/本番環境でも分離
● スイッチロールの利用
○ 一度の認証で、複数アカウントを利用可能にする
26
AWS CloudFormationを利用した構築
● サービス部分だけでなく、通知設定などもまとめて構築
● 複数のAWSアカウントで同一の環境を準備
27
AMIのベースOS更新
● KLAWS環境作成用のAnsible playbookを準備
○ Amazon Linux 1/2、debian wheezy/stretch に対応
● 最終的に、debian stretchを採用
○ Nitro SystemベースのEC2インスタンスが利用可能に!
28
Amazon RDSデータベースエンジンの選択
● RDS for MySQLではなくAmazon Auroraを採用
○ AWSが提供するRDBMS
■ MySQL互換とPostgreSQL互換それぞれ提供
● 東京リージョンで利用可能になった際に検証実施
○ 致命的な問題が発生し採用を見送った
● 期間が経過し、上記問題も解決したので採用
○ 追加された機能が魅力的(DB移行で説明)
○ 可用性設計がマルチAZのMySQLより向上
29
可用性設計の違い
● Auroraの方がディスクのコピー数が多い
○ ストレージ障害に強い
30
EC2でKMSシステムを構築完了
● 負荷試験を実施して性能も問題ないことも確認
31
EC2版KMSで新タイトル向けサービス提供成功
32
既存タイトルのKMS移行開始
● 共有システムから、タイトルごとのサブシステムへ分割
○ DBデータ移行(後で具体的説明します)
○ エンドポイントの変更
33
EC2版KMSへの移行はゴールではない
● もっとクラウドを活用するシステムを作りたい
34
コンテナの利用
35
クラウドネイティブ化 4ステップ
オンプレのシステムをクラウド最適化する。
1. クラウド上のサーバを利用し環境移行を行う
2. システム構成そのままで、コンテナ化を行う
3. 一部機能をクラウドサービスに置き換える
4. ビジネスロジックもクラウドサービスに特化させる
36
コンテナサービスとは?
● VMとは異なる仮想化技術
○ 仮想的なユーザ空間(コンテナ)でプロセスを動かす
● コンテナイメージを指定して起動する
○ アプリが動く最小限のファイルでイメージを作成
37
コンテナのメリット(個人的な見解)
● 継続的インテグレーション(CI)を行いやすい
○ VMイメージのパイプライン管理は面倒
○ コンテナイメージはパイプライン化しやすい
● 継続的デリバリー(CD)も容易
○ Kubernetes(k8s)などオーケストレーションを利用
○ さらにCDツールを組み合わせる
38
コンテナで実現したいイメージ
● Amazon Elastic Kubernetes Service (EKS)の利用
39
コンテナベースのシステム開発に向けて①
● 移行検討時のKLabの状況
○ プロダクション環境でコンテナ利用は0
● コンテナの理解程度が低かった
○ k8s/ECS/EKSはおろか、Dockerとは何か?メリットは?
40
コンテナベースのシステム開発に向けて②
● 素養はあった
○ インフラのメンバー中心に情報を収集
○ AWSからの情報提供があった
41
コンテナ化のために実施したこと - 役割編
● 開発-インフラの役割を緩め、一緒に業務を行う
○ これまでは開発者がAWSリソース定義をしなかった
● AWSアカウントの管理方法を改めた
○ 開発環境は開発者が自由にサービスが使えるようにした
■ 費用に対するガードレールを設置
○ 本番環境も、デプロイ期間を定め開発者がAWSリソース定
義を可能にした
42
役割変更によるワークフローの変更
● 以前の環境構築フロー
● 役割変更後の環境構築フロー
開発者
開発者
インフラ
担当
インフラ
担当
リソース作成
リソース作成
作業依頼
制限設定
依頼内容から
必要リソース確認
開発者の相談対応
ガードレールの
作成・維持
43
コンテナ化のために実施したこと - 技術編
● 共通の技術/言語で開発する
○ python
○ AWS Cloud Development Kit (AWS CDK)
■ https://aws.amazon.com/jp/cdk/
○ k8sのマニフェスト
44
AWS CDKとは?
● 今までのAWSのリソース作成は定義ベース
○ CloudFormationの json/yaml のテンプレート
● CDKでは、AWSリソース作成をコードとして記載する
○ サブネット定義をforループで定義したり…
● ソフトウェア開発手法を取り込みやすくなった
45
EKSでKMSシステムを構築完了
● 負荷試験を実施して性能的に問題ないことも確認
46
オンプレミスからEKS版KMSへの移行
● 移行方法はEC2版KMSと変わらず
47
EKS版KMSで既存タイトルのサービス移行成功
48
クラウド移行の完了
● すべてのKMSサービスをクラウドへ移行した
49
ここまで
KMSのクラウド移行の話
50
アジェンダ(再掲)
● KLabのチャットシステムとは?
● クラウドネイティブ化 4ステップ
● KMSシステムのクラウド移行
● データベース移行の詳細 ←イマココ
● 今後のKMS
● まとめ
51
データベース移行の詳細
52
データベースの移行パターン
1. オンプレミス環境からAWS環境への移行作業
○ MySQLの移行方法を利用する
2. AWS環境内の移行作業
○ EC2版KMSからEKS版KMSへ移行
○ Aurora固有機能を利用する
53
オンプレミスからAWSへのDB移行
● 2パターンの移行方法
● mysqldumpを利用してexportし、importする
○ データ量が多くない
○ メンテナンス時間で移行が完了する場合
●MySQLのレプリケーションを利用する
○ データ量が多い
○ メンテナンス時間で移行が完了しない場合
54
MySQLからのAuroraへのレプリケーション
● SSHトンネリング経由で通信
○ リレー用のEC2インスタンスを準備
55
Auroraのレプリケーションに関する資料
● Auroraユーザガイドに必要な情報が記載されています
○ レプリカ元は外部MySQL
○ レプリカ先はAurora
● RDSはレプリケーション関連のコマンドに制限がある
○ RDS for MySQL、Auroraともに制限
○ 代わりに、レプリケーション用プロシージャが存在
■ mysql.rds_set_external_master
■ mysql.rds_start_replication
■ mysql.rds_stop_replication
56
AWS環境内での移行
● 別VPCにAuroraクローンをおこなう
○ クローン実行時データが瞬時に利用できる
○ クローン先のRDSインスタンスが起動するまで待つだけ
57
AWS移行後の対応
58
分割していたシステムの統合
● あるタイトルで、言語別に分割していたシステムを1つに
統合することになった。
● ゲームシステムだけでなく、KMS側でもシステムの統合
が必要になった
59
統合に関するKMS側の課題
●システム構成的な課題があった
○ VPCのCIDR/サブネット設計が同じため、通信できない
60
AWSサポートの活用
● システム移行に関して、AWSサポートと会話
○ EC2版への移行やEKS版開発で技術支援をもらっていた
● データ統合に関しても相談した
○ 同一CIDRのVPCの通信について相談したところ…
■ Network Load Balancer(NLB)を組み合わせれば通信できる
とヒントをもらった
61
同一CIDRのVPCでも通信するための工夫
●別CIDRの中間VPCを準備
●NLBを経由し、サブネットのルーティング個別に変える
インスタンス A DB B
62
VPC-A から中間VPCの通信
● VPC-Aから中間VPCはVPCピアリングで接続
○ EC2インスタンスから、NLB-Aに通信を行う
インスタンス A DB B
63
中間VPC内の通信
● NLB-A のターゲットは NLB-B のIPアドレスを指定
○ 同一VPCなので直接通信する
NLB-Bへ通信
インスタンス A DB B
64
中間VPCからVPC-Bへの通信
● NLB-BのターゲットはVPB-BのRDSエンドポイント
○ NLB-Bのあるサブネットのルートテーブルを設定
■ 10.0.0/16 はVPC-BのVPCピアリングに向く
10.0.0.0/16 はVPC-B
にルーティング
インスタンス A DB B
65
中間VPCからVPC-Aへの通信(戻りパケット)
● NLB-Aのあるサブネットのルートテーブルを設定
○ 10.0.0/16 はVPC-AのVPCピアリングに向く
10.0.0.0/16 はVPC-A
にルーティング
インスタンス A DB B
66
データ統合の工夫
● 同一テーブル定義を利用していた
○ Primary Keyが重複する
● AWS Database Migration Service (DMS)の利用
○ データ変換をかけながらロードを実施
67
DBデータを含めた、システム統合の完了
68
今後のKMS
69
クラウドネイティブ化 4ステップ
オンプレのシステムをクラウド最適化する。
1. クラウド上のサーバを利用し環境移行を行う
2. システム構成そのままで、コンテナ化を行う
3. 一部機能をクラウドサービスに置き換える
4. ビジネスロジックもクラウドサービスに特化させる
70
KMSシステム構成(再掲)
● 過去のKLablogから引用
KMSシステム
サービスに置き換える
71
IRCの見直し
● チャットシステムとして完成度が高いが、パフォーマン
スが出ずボトルネックに
● Pub-Subサービスを利用したシステム変更検討中。
72
まとめ
73
まとめ
● クラウドマイグレーションを行う際は「クラウドネイテ
ィブ化 4ステップ」を頭に置く
● クラウド化によってシステムをより柔軟に扱うことがで
きるようになった
● マネージドサービスを活用することでシステムの統合・
移行作業を簡素化できる
以上

More Related Content

Similar to KLabのチャットシステム インフラ変遷

クラウドデザインパターンから始めるクラウドの利点と弱点の理解~提案から設計・開発・保守に活かす!~
クラウドデザインパターンから始めるクラウドの利点と弱点の理解~提案から設計・開発・保守に活かす!~クラウドデザインパターンから始めるクラウドの利点と弱点の理解~提案から設計・開発・保守に活かす!~
クラウドデザインパターンから始めるクラウドの利点と弱点の理解~提案から設計・開発・保守に活かす!~貴志 上坂
 
Cld018 コンテナ go_~あなた
Cld018 コンテナ go_~あなたCld018 コンテナ go_~あなた
Cld018 コンテナ go_~あなたTech Summit 2016
 
Cld018 コンテナ go_~あなた
Cld018 コンテナ go_~あなたCld018 コンテナ go_~あなた
Cld018 コンテナ go_~あなたTech Summit 2016
 
6 月 18 日 Next - Kubernetes のコンテナ技術ですべてをシンプルに
6 月 18 日 Next - Kubernetes のコンテナ技術ですべてをシンプルに6 月 18 日 Next - Kubernetes のコンテナ技術ですべてをシンプルに
6 月 18 日 Next - Kubernetes のコンテナ技術ですべてをシンプルにGoogle Cloud Platform - Japan
 
Kubernetesのしくみ やさしく学ぶ 内部構造とアーキテクチャー
Kubernetesのしくみ やさしく学ぶ 内部構造とアーキテクチャーKubernetesのしくみ やさしく学ぶ 内部構造とアーキテクチャー
Kubernetesのしくみ やさしく学ぶ 内部構造とアーキテクチャーToru Makabe
 
AWSマネージドサービスとOSSによるミッションクリティカルなシステムの実現
AWSマネージドサービスとOSSによるミッションクリティカルなシステムの実現AWSマネージドサービスとOSSによるミッションクリティカルなシステムの実現
AWSマネージドサービスとOSSによるミッションクリティカルなシステムの実現TIS Inc.
 
Infra: Kubernetes and GKE, Network
Infra: Kubernetes and GKE, NetworkInfra: Kubernetes and GKE, Network
Infra: Kubernetes and GKE, NetworkKuma Arakawa
 
July Tech Festa 2020 AKSを活用した内製教育支援プラットフォームをリリースした話
July Tech Festa 2020 AKSを活用した内製教育支援プラットフォームをリリースした話July Tech Festa 2020 AKSを活用した内製教育支援プラットフォームをリリースした話
July Tech Festa 2020 AKSを活用した内製教育支援プラットフォームをリリースした話Shingo Kawahara
 
CloudStack Overview(OSC2012Kansai@Kyoto)
CloudStack Overview(OSC2012Kansai@Kyoto)CloudStack Overview(OSC2012Kansai@Kyoto)
CloudStack Overview(OSC2012Kansai@Kyoto)Satoshi Shimazaki
 
AWS Black Belt Tech シリーズ 2015 - AWS CloudFormation
AWS Black Belt Tech シリーズ 2015 - AWS CloudFormationAWS Black Belt Tech シリーズ 2015 - AWS CloudFormation
AWS Black Belt Tech シリーズ 2015 - AWS CloudFormationAmazon Web Services Japan
 
Kubernetesの良さを活かして開発・運用!Cloud Native入門 / An introductory Cloud Native #osc19tk
Kubernetesの良さを活かして開発・運用!Cloud Native入門 / An introductory Cloud Native #osc19tkKubernetesの良さを活かして開発・運用!Cloud Native入門 / An introductory Cloud Native #osc19tk
Kubernetesの良さを活かして開発・運用!Cloud Native入門 / An introductory Cloud Native #osc19tkwhywaita
 
CNCF Updates 2019 Winter version and Knative
CNCF Updates 2019  Winter version and KnativeCNCF Updates 2019  Winter version and Knative
CNCF Updates 2019 Winter version and KnativeMasahito Zembutsu
 
Cloud Native をやっていくにはどう学んでいくかをみんなで考えてみる
Cloud Native をやっていくにはどう学んでいくかをみんなで考えてみるCloud Native をやっていくにはどう学んでいくかをみんなで考えてみる
Cloud Native をやっていくにはどう学んでいくかをみんなで考えてみるYASUKAZU NAGATOMI
 
同じサービスを ECSとOpsWorksで 運用してみた
同じサービスをECSとOpsWorksで運用してみた同じサービスをECSとOpsWorksで運用してみた
同じサービスを ECSとOpsWorksで 運用してみたJun Ichikawa
 
クラウド移行を終えてからが本番〜AWSの使いこなし術〜
クラウド移行を終えてからが本番〜AWSの使いこなし術〜クラウド移行を終えてからが本番〜AWSの使いこなし術〜
クラウド移行を終えてからが本番〜AWSの使いこなし術〜Tetsunori Nishizawa
 
Observability, Service Mesh and Microservices
Observability, Service Mesh and MicroservicesObservability, Service Mesh and Microservices
Observability, Service Mesh and MicroservicesTaiki
 
.NET Core と Docker コンテナー、そして Azure を使用したマイクロサービスのアーキテクチャ
.NET Core と Docker コンテナー、そして Azure を使用したマイクロサービスのアーキテクチャ.NET Core と Docker コンテナー、そして Azure を使用したマイクロサービスのアーキテクチャ
.NET Core と Docker コンテナー、そして Azure を使用したマイクロサービスのアーキテクチャAkira Inoue
 
【JAWS-UG AI/ML支部 第14回勉強会】Amazon EC2 Trn1 GA ! ~ AWSが提供するML向けインスタンスの豊富な品揃えと 専...
【JAWS-UG AI/ML支部 第14回勉強会】Amazon EC2 Trn1 GA !  ~ AWSが提供するML向けインスタンスの豊富な品揃えと 専...【JAWS-UG AI/ML支部 第14回勉強会】Amazon EC2 Trn1 GA !  ~ AWSが提供するML向けインスタンスの豊富な品揃えと 専...
【JAWS-UG AI/ML支部 第14回勉強会】Amazon EC2 Trn1 GA ! ~ AWSが提供するML向けインスタンスの豊富な品揃えと 専...TakeshiFukae
 

Similar to KLabのチャットシステム インフラ変遷 (20)

クラウドデザインパターンから始めるクラウドの利点と弱点の理解~提案から設計・開発・保守に活かす!~
クラウドデザインパターンから始めるクラウドの利点と弱点の理解~提案から設計・開発・保守に活かす!~クラウドデザインパターンから始めるクラウドの利点と弱点の理解~提案から設計・開発・保守に活かす!~
クラウドデザインパターンから始めるクラウドの利点と弱点の理解~提案から設計・開発・保守に活かす!~
 
Cld018 コンテナ go_~あなた
Cld018 コンテナ go_~あなたCld018 コンテナ go_~あなた
Cld018 コンテナ go_~あなた
 
Cld018 コンテナ go_~あなた
Cld018 コンテナ go_~あなたCld018 コンテナ go_~あなた
Cld018 コンテナ go_~あなた
 
6 月 18 日 Next - Kubernetes のコンテナ技術ですべてをシンプルに
6 月 18 日 Next - Kubernetes のコンテナ技術ですべてをシンプルに6 月 18 日 Next - Kubernetes のコンテナ技術ですべてをシンプルに
6 月 18 日 Next - Kubernetes のコンテナ技術ですべてをシンプルに
 
Kubernetesのしくみ やさしく学ぶ 内部構造とアーキテクチャー
Kubernetesのしくみ やさしく学ぶ 内部構造とアーキテクチャーKubernetesのしくみ やさしく学ぶ 内部構造とアーキテクチャー
Kubernetesのしくみ やさしく学ぶ 内部構造とアーキテクチャー
 
AWSマネージドサービスとOSSによるミッションクリティカルなシステムの実現
AWSマネージドサービスとOSSによるミッションクリティカルなシステムの実現AWSマネージドサービスとOSSによるミッションクリティカルなシステムの実現
AWSマネージドサービスとOSSによるミッションクリティカルなシステムの実現
 
Infra: Kubernetes and GKE, Network
Infra: Kubernetes and GKE, NetworkInfra: Kubernetes and GKE, Network
Infra: Kubernetes and GKE, Network
 
July Tech Festa 2020 AKSを活用した内製教育支援プラットフォームをリリースした話
July Tech Festa 2020 AKSを活用した内製教育支援プラットフォームをリリースした話July Tech Festa 2020 AKSを活用した内製教育支援プラットフォームをリリースした話
July Tech Festa 2020 AKSを活用した内製教育支援プラットフォームをリリースした話
 
CloudStack Overview(OSC2012Kansai@Kyoto)
CloudStack Overview(OSC2012Kansai@Kyoto)CloudStack Overview(OSC2012Kansai@Kyoto)
CloudStack Overview(OSC2012Kansai@Kyoto)
 
AWS Black Belt Tech シリーズ 2015 - AWS CloudFormation
AWS Black Belt Tech シリーズ 2015 - AWS CloudFormationAWS Black Belt Tech シリーズ 2015 - AWS CloudFormation
AWS Black Belt Tech シリーズ 2015 - AWS CloudFormation
 
Kubernetesの良さを活かして開発・運用!Cloud Native入門 / An introductory Cloud Native #osc19tk
Kubernetesの良さを活かして開発・運用!Cloud Native入門 / An introductory Cloud Native #osc19tkKubernetesの良さを活かして開発・運用!Cloud Native入門 / An introductory Cloud Native #osc19tk
Kubernetesの良さを活かして開発・運用!Cloud Native入門 / An introductory Cloud Native #osc19tk
 
CNCF Updates 2019 Winter version and Knative
CNCF Updates 2019  Winter version and KnativeCNCF Updates 2019  Winter version and Knative
CNCF Updates 2019 Winter version and Knative
 
AWS & cloudpack & CDP
AWS & cloudpack & CDPAWS & cloudpack & CDP
AWS & cloudpack & CDP
 
俺とKubernetes
俺とKubernetes俺とKubernetes
俺とKubernetes
 
Cloud Native をやっていくにはどう学んでいくかをみんなで考えてみる
Cloud Native をやっていくにはどう学んでいくかをみんなで考えてみるCloud Native をやっていくにはどう学んでいくかをみんなで考えてみる
Cloud Native をやっていくにはどう学んでいくかをみんなで考えてみる
 
同じサービスを ECSとOpsWorksで 運用してみた
同じサービスをECSとOpsWorksで運用してみた同じサービスをECSとOpsWorksで運用してみた
同じサービスを ECSとOpsWorksで 運用してみた
 
クラウド移行を終えてからが本番〜AWSの使いこなし術〜
クラウド移行を終えてからが本番〜AWSの使いこなし術〜クラウド移行を終えてからが本番〜AWSの使いこなし術〜
クラウド移行を終えてからが本番〜AWSの使いこなし術〜
 
Observability, Service Mesh and Microservices
Observability, Service Mesh and MicroservicesObservability, Service Mesh and Microservices
Observability, Service Mesh and Microservices
 
.NET Core と Docker コンテナー、そして Azure を使用したマイクロサービスのアーキテクチャ
.NET Core と Docker コンテナー、そして Azure を使用したマイクロサービスのアーキテクチャ.NET Core と Docker コンテナー、そして Azure を使用したマイクロサービスのアーキテクチャ
.NET Core と Docker コンテナー、そして Azure を使用したマイクロサービスのアーキテクチャ
 
【JAWS-UG AI/ML支部 第14回勉強会】Amazon EC2 Trn1 GA ! ~ AWSが提供するML向けインスタンスの豊富な品揃えと 専...
【JAWS-UG AI/ML支部 第14回勉強会】Amazon EC2 Trn1 GA !  ~ AWSが提供するML向けインスタンスの豊富な品揃えと 専...【JAWS-UG AI/ML支部 第14回勉強会】Amazon EC2 Trn1 GA !  ~ AWSが提供するML向けインスタンスの豊富な品揃えと 専...
【JAWS-UG AI/ML支部 第14回勉強会】Amazon EC2 Trn1 GA ! ~ AWSが提供するML向けインスタンスの豊富な品揃えと 専...
 

More from KLab Inc. / Tech

大規模モバイルオンラインゲーム開発における チーム組成とワークフロー最適化
大規模モバイルオンラインゲーム開発における チーム組成とワークフロー最適化大規模モバイルオンラインゲーム開発における チーム組成とワークフロー最適化
大規模モバイルオンラインゲーム開発における チーム組成とワークフロー最適化KLab Inc. / Tech
 
運用中の大規模オンラインゲームで 8年ぶりにPHPバージョンアップをした話
 運用中の大規模オンラインゲームで 8年ぶりにPHPバージョンアップをした話 運用中の大規模オンラインゲームで 8年ぶりにPHPバージョンアップをした話
運用中の大規模オンラインゲームで 8年ぶりにPHPバージョンアップをした話KLab Inc. / Tech
 
AirLab導入でテストコストの大幅削減と品質向上! 数十台の端末を一斉に全自動テストできる社内DeviceFarmについてご紹介
AirLab導入でテストコストの大幅削減と品質向上! 数十台の端末を一斉に全自動テストできる社内DeviceFarmについてご紹介AirLab導入でテストコストの大幅削減と品質向上! 数十台の端末を一斉に全自動テストできる社内DeviceFarmについてご紹介
AirLab導入でテストコストの大幅削減と品質向上! 数十台の端末を一斉に全自動テストできる社内DeviceFarmについてご紹介KLab Inc. / Tech
 
生成AIが切り拓く新しいゲームの創り方・遊び方
生成AIが切り拓く新しいゲームの創り方・遊び方生成AIが切り拓く新しいゲームの創り方・遊び方
生成AIが切り拓く新しいゲームの創り方・遊び方KLab Inc. / Tech
 
表も裏もすべて見せます! KLab謹製大規模オンラインゲームの リアルタイムチャットマイクロサービス
表も裏もすべて見せます! KLab謹製大規模オンラインゲームの リアルタイムチャットマイクロサービス表も裏もすべて見せます! KLab謹製大規模オンラインゲームの リアルタイムチャットマイクロサービス
表も裏もすべて見せます! KLab謹製大規模オンラインゲームの リアルタイムチャットマイクロサービスKLab Inc. / Tech
 
モバイルオンラインゲームでの大規模観戦とチート対策 〜自社製リアルタイム通信システム「WSNet2」の事例〜
モバイルオンラインゲームでの大規模観戦とチート対策 〜自社製リアルタイム通信システム「WSNet2」の事例〜モバイルオンラインゲームでの大規模観戦とチート対策 〜自社製リアルタイム通信システム「WSNet2」の事例〜
モバイルオンラインゲームでの大規模観戦とチート対策 〜自社製リアルタイム通信システム「WSNet2」の事例〜KLab Inc. / Tech
 
他業界からゲーム業界へ転向したときの話
他業界からゲーム業界へ転向したときの話他業界からゲーム業界へ転向したときの話
他業界からゲーム業界へ転向したときの話KLab Inc. / Tech
 
KLabのゲーム開発を支える開発環境
KLabのゲーム開発を支える開発環境KLabのゲーム開発を支える開発環境
KLabのゲーム開発を支える開発環境KLab Inc. / Tech
 
ゲーム開発を知らない人にも分かるKLabのゲーム開発運営
ゲーム開発を知らない人にも分かるKLabのゲーム開発運営ゲーム開発を知らない人にも分かるKLabのゲーム開発運営
ゲーム開発を知らない人にも分かるKLabのゲーム開発運営KLab Inc. / Tech
 
「リアルISUCON」としてのモバイルオンラインゲーム開発
「リアルISUCON」としてのモバイルオンラインゲーム開発「リアルISUCON」としてのモバイルオンラインゲーム開発
「リアルISUCON」としてのモバイルオンラインゲーム開発KLab Inc. / Tech
 
ゴリラテスト モバイルゲームのUIを自動的に検出・操作する モンキーテスト
ゴリラテスト  モバイルゲームのUIを自動的に検出・操作する モンキーテストゴリラテスト  モバイルゲームのUIを自動的に検出・操作する モンキーテスト
ゴリラテスト モバイルゲームのUIを自動的に検出・操作する モンキーテストKLab Inc. / Tech
 
モバイルアプリの高速で安定したビルドを支えるJenkins運用術
モバイルアプリの高速で安定したビルドを支えるJenkins運用術モバイルアプリの高速で安定したビルドを支えるJenkins運用術
モバイルアプリの高速で安定したビルドを支えるJenkins運用術KLab Inc. / Tech
 
『ラブライブ!スクールアイドルフェスティバル ALL STARS』を支えるビルドパイプライン 〜より安定したサービス提供を目指して〜
『ラブライブ!スクールアイドルフェスティバル ALL STARS』を支えるビルドパイプライン 〜より安定したサービス提供を目指して〜『ラブライブ!スクールアイドルフェスティバル ALL STARS』を支えるビルドパイプライン 〜より安定したサービス提供を目指して〜
『ラブライブ!スクールアイドルフェスティバル ALL STARS』を支えるビルドパイプライン 〜より安定したサービス提供を目指して〜KLab Inc. / Tech
 
Ganglia のUIにGrafanaを追加する話
Ganglia のUIにGrafanaを追加する話Ganglia のUIにGrafanaを追加する話
Ganglia のUIにGrafanaを追加する話KLab Inc. / Tech
 
KLabのインフラエンジニア 〜 こんな感じで働いてます 〜
KLabのインフラエンジニア 〜 こんな感じで働いてます 〜KLabのインフラエンジニア 〜 こんな感じで働いてます 〜
KLabのインフラエンジニア 〜 こんな感じで働いてます 〜KLab Inc. / Tech
 
属人化して詰まってた作業を自動化で楽しようとした話
属人化して詰まってた作業を自動化で楽しようとした話属人化して詰まってた作業を自動化で楽しようとした話
属人化して詰まってた作業を自動化で楽しようとした話KLab Inc. / Tech
 
見よう見まねでやってみる2D流体シミュレーション
見よう見まねでやってみる2D流体シミュレーション見よう見まねでやってみる2D流体シミュレーション
見よう見まねでやってみる2D流体シミュレーションKLab Inc. / Tech
 
モバイルオンラインゲームにおけるUIエンジニアの業務紹介
モバイルオンラインゲームにおけるUIエンジニアの業務紹介モバイルオンラインゲームにおけるUIエンジニアの業務紹介
モバイルオンラインゲームにおけるUIエンジニアの業務紹介KLab Inc. / Tech
 
VyOSで作るIPv4 Router/IPv6 Bridge
VyOSで作るIPv4 Router/IPv6 BridgeVyOSで作るIPv4 Router/IPv6 Bridge
VyOSで作るIPv4 Router/IPv6 BridgeKLab Inc. / Tech
 
ワールド別のDBへの取得・更新に後から対応した話
ワールド別のDBへの取得・更新に後から対応した話ワールド別のDBへの取得・更新に後から対応した話
ワールド別のDBへの取得・更新に後から対応した話KLab Inc. / Tech
 

More from KLab Inc. / Tech (20)

大規模モバイルオンラインゲーム開発における チーム組成とワークフロー最適化
大規模モバイルオンラインゲーム開発における チーム組成とワークフロー最適化大規模モバイルオンラインゲーム開発における チーム組成とワークフロー最適化
大規模モバイルオンラインゲーム開発における チーム組成とワークフロー最適化
 
運用中の大規模オンラインゲームで 8年ぶりにPHPバージョンアップをした話
 運用中の大規模オンラインゲームで 8年ぶりにPHPバージョンアップをした話 運用中の大規模オンラインゲームで 8年ぶりにPHPバージョンアップをした話
運用中の大規模オンラインゲームで 8年ぶりにPHPバージョンアップをした話
 
AirLab導入でテストコストの大幅削減と品質向上! 数十台の端末を一斉に全自動テストできる社内DeviceFarmについてご紹介
AirLab導入でテストコストの大幅削減と品質向上! 数十台の端末を一斉に全自動テストできる社内DeviceFarmについてご紹介AirLab導入でテストコストの大幅削減と品質向上! 数十台の端末を一斉に全自動テストできる社内DeviceFarmについてご紹介
AirLab導入でテストコストの大幅削減と品質向上! 数十台の端末を一斉に全自動テストできる社内DeviceFarmについてご紹介
 
生成AIが切り拓く新しいゲームの創り方・遊び方
生成AIが切り拓く新しいゲームの創り方・遊び方生成AIが切り拓く新しいゲームの創り方・遊び方
生成AIが切り拓く新しいゲームの創り方・遊び方
 
表も裏もすべて見せます! KLab謹製大規模オンラインゲームの リアルタイムチャットマイクロサービス
表も裏もすべて見せます! KLab謹製大規模オンラインゲームの リアルタイムチャットマイクロサービス表も裏もすべて見せます! KLab謹製大規模オンラインゲームの リアルタイムチャットマイクロサービス
表も裏もすべて見せます! KLab謹製大規模オンラインゲームの リアルタイムチャットマイクロサービス
 
モバイルオンラインゲームでの大規模観戦とチート対策 〜自社製リアルタイム通信システム「WSNet2」の事例〜
モバイルオンラインゲームでの大規模観戦とチート対策 〜自社製リアルタイム通信システム「WSNet2」の事例〜モバイルオンラインゲームでの大規模観戦とチート対策 〜自社製リアルタイム通信システム「WSNet2」の事例〜
モバイルオンラインゲームでの大規模観戦とチート対策 〜自社製リアルタイム通信システム「WSNet2」の事例〜
 
他業界からゲーム業界へ転向したときの話
他業界からゲーム業界へ転向したときの話他業界からゲーム業界へ転向したときの話
他業界からゲーム業界へ転向したときの話
 
KLabのゲーム開発を支える開発環境
KLabのゲーム開発を支える開発環境KLabのゲーム開発を支える開発環境
KLabのゲーム開発を支える開発環境
 
ゲーム開発を知らない人にも分かるKLabのゲーム開発運営
ゲーム開発を知らない人にも分かるKLabのゲーム開発運営ゲーム開発を知らない人にも分かるKLabのゲーム開発運営
ゲーム開発を知らない人にも分かるKLabのゲーム開発運営
 
「リアルISUCON」としてのモバイルオンラインゲーム開発
「リアルISUCON」としてのモバイルオンラインゲーム開発「リアルISUCON」としてのモバイルオンラインゲーム開発
「リアルISUCON」としてのモバイルオンラインゲーム開発
 
ゴリラテスト モバイルゲームのUIを自動的に検出・操作する モンキーテスト
ゴリラテスト  モバイルゲームのUIを自動的に検出・操作する モンキーテストゴリラテスト  モバイルゲームのUIを自動的に検出・操作する モンキーテスト
ゴリラテスト モバイルゲームのUIを自動的に検出・操作する モンキーテスト
 
モバイルアプリの高速で安定したビルドを支えるJenkins運用術
モバイルアプリの高速で安定したビルドを支えるJenkins運用術モバイルアプリの高速で安定したビルドを支えるJenkins運用術
モバイルアプリの高速で安定したビルドを支えるJenkins運用術
 
『ラブライブ!スクールアイドルフェスティバル ALL STARS』を支えるビルドパイプライン 〜より安定したサービス提供を目指して〜
『ラブライブ!スクールアイドルフェスティバル ALL STARS』を支えるビルドパイプライン 〜より安定したサービス提供を目指して〜『ラブライブ!スクールアイドルフェスティバル ALL STARS』を支えるビルドパイプライン 〜より安定したサービス提供を目指して〜
『ラブライブ!スクールアイドルフェスティバル ALL STARS』を支えるビルドパイプライン 〜より安定したサービス提供を目指して〜
 
Ganglia のUIにGrafanaを追加する話
Ganglia のUIにGrafanaを追加する話Ganglia のUIにGrafanaを追加する話
Ganglia のUIにGrafanaを追加する話
 
KLabのインフラエンジニア 〜 こんな感じで働いてます 〜
KLabのインフラエンジニア 〜 こんな感じで働いてます 〜KLabのインフラエンジニア 〜 こんな感じで働いてます 〜
KLabのインフラエンジニア 〜 こんな感じで働いてます 〜
 
属人化して詰まってた作業を自動化で楽しようとした話
属人化して詰まってた作業を自動化で楽しようとした話属人化して詰まってた作業を自動化で楽しようとした話
属人化して詰まってた作業を自動化で楽しようとした話
 
見よう見まねでやってみる2D流体シミュレーション
見よう見まねでやってみる2D流体シミュレーション見よう見まねでやってみる2D流体シミュレーション
見よう見まねでやってみる2D流体シミュレーション
 
モバイルオンラインゲームにおけるUIエンジニアの業務紹介
モバイルオンラインゲームにおけるUIエンジニアの業務紹介モバイルオンラインゲームにおけるUIエンジニアの業務紹介
モバイルオンラインゲームにおけるUIエンジニアの業務紹介
 
VyOSで作るIPv4 Router/IPv6 Bridge
VyOSで作るIPv4 Router/IPv6 BridgeVyOSで作るIPv4 Router/IPv6 Bridge
VyOSで作るIPv4 Router/IPv6 Bridge
 
ワールド別のDBへの取得・更新に後から対応した話
ワールド別のDBへの取得・更新に後から対応した話ワールド別のDBへの取得・更新に後から対応した話
ワールド別のDBへの取得・更新に後から対応した話
 

KLabのチャットシステム インフラ変遷