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
Azure Kubernetes Service を活用したマイクロサービス開発/clouddev
Search
TonyTonyKun
March 06, 2021
Technology
600
0
Share
Azure Kubernetes Service を活用したマイクロサービス開発/clouddev
クラウドデベロッパーちゃんねるのセッション動画スライドです。
TonyTonyKun
March 06, 2021
More Decks by TonyTonyKun
See All by TonyTonyKun
Azure Static Web Apps の自動ビルドがタイムアウトしやすくなった状況に対応した件/global-azure2026
thara0402
0
730
Azure Durable Functions で作った NL2SQL Agent の精度向上に取り組んだ話/jat08
thara0402
0
380
これでバッチリ!Azure マルチテナントアーキテクチャ設計のコツ/jat06
thara0402
0
720
Azure Load Testing を使って Azure Functions Flex Consumption の HTTP Trigger のパフォーマンスとコストを最適化してみよう/global-azure2025
thara0402
0
320
Prompty を使って生成 AI アプリケーション開発のプロンプトを管理する/jat03
thara0402
0
85
Azure OpenAI Service で意図せず PTU モデルをデプロイして高額請求されてしまった件/jat04
thara0402
0
93
「Durable Task Scheduler」をチョイ見せ!/jat05
thara0402
0
69
Azure App Service on Linux の Sidecar に Phi-3 を配置してインテリジェントなアプリケーションを作ってみよう/jazug-anniv14
thara0402
0
1.5k
サイクルガードサービス AlterLock の問い合わせ対応業務に Azure OpenAI Service を活用した話/jazug46
thara0402
0
1k
Other Decks in Technology
See All in Technology
Terraformモジュールは、なぜ「魔境」化するのか
hayama17
1
170
OpenID Connectによるサービス間連携
takesection
0
150
AI Adaptable なテストを整える工夫 / Ways to Make Your Tests AI-Adaptable
bitkey
PRO
2
200
個人の発見を、組織の知恵に 〜生成AI活用を"探索"から"組織の仕組み"へ〜
kintotechdev
2
720
Databricks における 生成AIガバナンスの実践
taka_aki
1
270
ChatworkとBPaaS 異なる特性で学んだAI機能開発の ベストプラクティス
kubell_hr
2
2.1k
Javaコミュニティをもっと楽しむための9箇条
takasyou
0
1.1k
Agentic ERPをどう設計するか ー 受発注エージェントを動かす、現場の知見と設計思想ー
recerqainc
1
890
コードレビューを制するチームがソフトウェアデリバリーのフローを制す / Beyond Code Review: Distributing Its Responsibilities Across the SDLC
mtx2s
3
820
ルールやカスタム機能、どう使う?理想の出力を引き出すために今知りたいIBM Bob 5つの機能
muehara
1
300
TypeScript Compiler APIとPHP-Parserを活用し、TypeScriptとPHPで型を共有する
shuta13
0
320
Dynamic Workersについて
yusukebe
2
570
Featured
See All Featured
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.7k
Code Reviewing Like a Champion
maltzj
528
40k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
2.8k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
254
22k
How to Talk to Developers About Accessibility
jct
2
220
HU Berlin: Industrial-Strength Natural Language Processing with spaCy and Prodigy
inesmontani
PRO
0
400
Building Applications with DynamoDB
mza
96
7.1k
Odyssey Design
rkendrick25
PRO
2
670
Navigating Algorithm Shifts & AI Overviews - #SMXNext
aleyda
1
1.3k
Crafting Experiences
bethany
1
160
Java REST API Framework Comparison - PWX 2021
mraible
34
9.3k
How GitHub (no longer) Works
holman
316
150k
Transcript
Azure Kubernetes Service を活用した マイクロサービス開発のベストプラクティス
自己紹介 https://gooner.hateblo.jp/ https://jazug.connpass.com
AKS を活用したマイクロサービス開発のベストプラクティス
1. Helm でマイクロサービスの構成を管理する https://hub.kubeapps.com/
2. Nginx Ingress Controller で外部向けエンドポイントを公開する ※ Azure ポータルから設定できる HTTP Application
Routing アドオンの本番運用は非推奨です。 POS Service Client Item Service Nginx Ingress Controller /pos /item Ingress.yaml Kubernetes Cluster Ingress.yaml
3. アップグレード戦略には Blue / Green デプロイを採用する ※ サービスメッシュ(Istio など)を使わなくても、Blue /
Green デプロイを実現できます。 POS Service Client Nginx Ingress Controller Kubernetes Cluster Pod Pod pos-api v1 pos-api v1 pos-api v2 Service
3. アップグレード戦略には Blue / Green デプロイを採用する Nginx Ingress Controller Microservices
( Pod ) Kubernetes Cluster v 1.18.14 Nginx Ingress Controller Kubernetes Cluster v 1.19.7 Microservices ( Pod ) Application Gateway V2 Data Store
4. Pod と Node のスケーリングを組み合わせて構成する 200m 256Mi 100m 128Mi
4. Pod と Node のスケーリングを組み合わせて構成する ※ 導入時は Cluster Autoscaler を使わずに、Node
数を固定して運用を開始する方法もあります。
5. 障害が発生する前提で構成を決める
5. 障害が発生する前提で構成を決める / 80 /readiness 80
6. Azure Monitor でマイクロサービスを監視する Kubernetes Docker Application Container(Pod) アプリ監視 インフラ・ミドル
ウェア監視 Application Insights Azure Monitor for Containers OS VM マイクロサービス プラットフォーム
6. Azure Monitor でマイクロサービスを監視する
6. Azure Monitor でマイクロサービスを監視する
まとめ マイクロサービスを実現する手段は、Kubernetes だけではありません。 Kubernetes を採用するなら、シンプルな構成から始めましょう。
Microsoft Learn のお勧めコンテンツ https://aka.ms/k8s-learn-jp
None