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
Microsoft Azure で実現する最新クラウドアーキテクチャ
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Tatsuro Shibamura
PRO
August 22, 2022
Technology
3
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Microsoft Azure で実現する最新クラウドアーキテクチャ
Tatsuro Shibamura
PRO
August 22, 2022
More Decks by Tatsuro Shibamura
See All by Tatsuro Shibamura
AI Agent を本番環境へ―― Microsoft Foundry × Azure Serverless で作る Enterprise-Ready な基盤
shibayan
PRO
0
140
Azure Cosmos DB パフォーマンス最適化入門 - 設計・開発・運用の実践テクニック
shibayan
PRO
0
560
Azure Serverless のパフォーマンスとコストを 最適化
shibayan
PRO
0
2
Hack Azure! #5 - Geek of Azure Serverless
shibayan
PRO
0
130
.NET Conf 2020 Online - .NET 5 リリース記念パーティートーク
shibayan
PRO
0
9.9k
Terraform Provider for Azure に貢献してみた話
shibayan
PRO
0
660
Azure Functions と SendGrid の良い関係
shibayan
PRO
0
1.3k
Azure Serverless を活用したリアルタイム Web のすべて
shibayan
PRO
1
3k
祝 東日本リージョン一般提供! Azure Application Insights 基礎と実践
shibayan
PRO
1
42k
Other Decks in Technology
See All in Technology
AI、CDK と協働する Full TypeScript アプリケーション開発 / Full TypeScript Application with AI and CDK
geekplus_tech
2
500
「休む」重要さ
smt7174
6
1.7k
文字起こし基盤の信頼性
abnoumaru
0
130
AmplifyHostingConstructからSSRフレームワークのためのホスティング設計を考察する/amplify-hosting-construct
fossamagna
1
320
副作用のある Lambda でも Lambda Power Tuning は使えるのか / lambda-power-tuning-side-effects
koukihosaka
2
150
大量データに対しても、生成AIを用いてリーズナブルにデータ加工をしたい!Databricksのai_queryについて調べてみた
kamoshika
2
290
Jitera Company Deck
jitera
0
490
2年前に削除したPHPクラスが、 ある日突然決済をエラーにした
ykagano
1
810
MCPをつなげて作る組織横断のAIエージェント基盤
tsubakimoto_s
0
140
壊して学ぶAWS CDK: そのcdk deployで消えるもの、残るもの
k_adachi_01
1
490
SoccerMaster: A Vision Foundation Model for Soccer Understanding
kzykmyzw
0
180
reFACToring
moznion
0
220
Featured
See All Featured
How to train your dragon (web standard)
notwaldorf
97
6.7k
Unlocking the hidden potential of vector embeddings in international SEO
frankvandijk
0
880
State of Search Keynote: SEO is Dead Long Live SEO
ryanjones
0
220
Measuring & Analyzing Core Web Vitals
bluesmoon
9
910
Kristin Tynski - Automating Marketing Tasks With AI
techseoconnect
PRO
0
410
4 Signs Your Business is Dying
shpigford
187
22k
Build your cross-platform service in a week with App Engine
jlugia
234
18k
Primal Persuasion: How to Engage the Brain for Learning That Lasts
tmiket
0
390
Information Architects: The Missing Link in Design Systems
soysaucechin
0
1k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
A brief & incomplete history of UX Design for the World Wide Web: 1989–2019
jct
2
430
What's in a price? How to price your products and services
michaelherold
247
13k
Transcript
Microsoft Azure で実現する 最新クラウドアーキテクチャ Tatsuro Shibamura @shibayan
私について 芝村 達郎 @shibayan ZEN Architects Distinguished Engineer Microsoft MVP
for Microsoft Azure Blog : https://blog.shibayan.jp GitHub : https://github.com/shibayan
本日お伝えしたいこと Azure を使うと最新のクラウドアーキテクチャを簡単に実現できる マネージドサービスは正しく使えば怖くない 開発者・チームを疎かにするとアーキテクチャは失敗する
最新のクラウドアーキテクチャとは?
最新のクラウドアーキテクチャとは、常にアップデー トが可能な疎結合アーキテクチャ モノリシック、マイクロサービスという視点ではない 疎結合にして常にアップデートが可能なアーキテクチャを目指す 疎結合なアーキテクチャを実現するためのサービスが Azure には用意されている なぜ疎結合なアーキテクチャが重要なのか
大前提:アーキテクチャは設計した瞬間から古くなる クラウドの世界では設計が完了した瞬間が最新、その後は古くなる一方 Azure サービスのアップデートは異次元の速度 サービスの選定を間違えると、実装が完了した時点で陳腐化することも度々 より優れたサービスが登場する可能性を理解しておく 疎結合なアーキテクチャにすることで部分的なアップデートを可能にする
大前提:大量のコンピューティングリソースが使える スケールアップではなくスケールアウトの容易さで考える バッチ処理を書くと並列実行・スケーリングが難しい メッセージングを利用したイベントドリブンで実現出来ないかを優先する 実行中にインスタンスが追加・削除されることを前提にする 疎結合なアーキテクチャではスケーリングに柔軟に対応可能
大前提:使われているハードウェアの信頼性は低い ハードウェアの信頼性の低さをソフトウェアで補っている 動作するアプリケーションもソフトウェアで信頼性を高める必要がある 信頼性を高める方法は一般化され、広く公開されている リトライが容易な設計、冪等性の担保が重要 マネージドサービスは意図しないタイミングで再起動される 疎結合なアーキテクチャはリトライと冪等性の担保が行いやすい
最新のクラウドアーキテクチャが必要な理由は?
最新のクラウドアーキテクチャで実現したい要素 高いスケーラビリティと可用性 PaaS / Serverless とイベントドリブンを活用した疎結合なアーキテクチャ サービス運用のコスト削減 マネージドサービスでリソース自体のコストと人的コストの両方を最適化 開発体験の向上による価値提供のスピードアップ Visual
Studio Code や GitHub を組み合わせて開発体験を向上 DevOps / IaC を導入し、自動化によってアジリティを高める
全てに対応できるアーキテクチャは存在しない 自分たちが何を必要としているのかを、正確に理解して共有する アプリケーションによって必要なスケールや可用性レベルはバラバラ 過剰なアーキテクチャを構築しないように注意する 手段と目的を間違えないようにする あくまでも最新のクラウドアーキテクチャは手段でしかない 最新のクラウドアーキテクチャを構築するのが目的になってはいけない
高いスケーラビリティと可用性を実現する
アプリケーションを小さく作り、疎結合にする 開発やテスト、デプロイが行いやすくなり、顧客への価値提供を早められる 規模に比べて過剰に小さく作るなど、粒度を間違わないようにする アプリケーションの要件によって適切な粒度は異なる 利用するサービスやリソース数は必然的に多くなる 実現するために必須となるのは自動化(DevOps / IaC)
実証済みのデザインパターンを最優先する ソフトウェアの世界と同様にクラウドの世界にもデザインパターンが存在する 当たり前と言えるリトライ自体もデザインパターンとして紹介されている そういった当たり前を言語化し、リスト化されていることが重要 複数のデザインパターンを組み合わせて目的のアーキテクチャを実現する
サービス運用のコスト削減を目指す
PaaS / Serverless なサービスを積極的に利用する Azure は元々 PaaS から始まったクラウドサービス 100% 活用するためには
PaaS / Serverless サービスの利用が必須と言える 必要なタイミングで必要なだけリソースを確保出来る PaaS / Serverless を最適な場面で組み合わせてデザインパターンを実装する
シナリオに合わせて最適なデータストアを選択する 1 つのアーキテクチャに複数のデータストアを利用するのは基本 特にデータストアに関しては相反する要件が求められるケースも多い 読み込み・書き込みで別々のデータストアを用意して実現する データの同期と一貫性を担保するために、Azure のサービスを利用する データストアは絶対に 1 つという発想を捨てる
開発体験の向上による価値提供のスピードアップ
Visual Studio Code / GitHub との高度な連携 開発中から実運用に至るまで、必要な機能をフルサポート Azure 側にも開発初期から DevOps
を導入するための機能が提供されている
開発者の生産性と安全性を高める 自動化を推進し、開発者による手動での作業を無くす DevOps / IaC の全面的な導入を行い、徹底することでアジリティを高める そもそも開発者が危険な操作を行えないようにする Azure Policy /
Azure Active Directory / RBAC などの組み込み機能を活用する
最新のクラウドアーキテクチャとは 常にアップデートが可能な疎結合アーキテクチャ 実現するためのサービスが Azure には全て用意されている
ご清聴ありがとうございました
Q. 利用する Azure サービスは最小限にした方が良い のでは?
A. アーキテクチャの構成要素を深く理解し、最適な Azure サービスを惜しみなく使う フロントエンド・バックエンド・バッチ処理など、明らかに特性の異なる処理に 単一のサービスを適用すると歪みと妥協が必ず生じる その妥協した部分が後々のボトルネックとなり、アプリケーション全体へ影 響を及ぼす 最小限にしたい理由は、主に経験不足による不安と不完全な自動化
Q. 多くの Azure サービスを使うことに不安を感じ る。セキュリティ面でも管理できるのか心配
A. 心配は経験不足によるもの、実際に手を動かすこと で解消出来る ワークショップ・ハンズオン・ハッカソンなどを活用する 管理面は DevOps / IaC を活用した自動化によって解消される 開発者が
Azure Portal や Azure CLI を使って直接作業することを不要にする Azure Policy や Microsoft Defender for Cloud を導入し、セキュリティのベストプ ラクティスを一括で適用する