SlideShare a Scribd company logo
1 of 60
クラウドデザインパターンの
コードを覗く
kyrt / Takekazu Omi
http://kyrt.in
takekazu.omi@kyrt.in
@takekazuomi
2014/7/30 1.0.1
クラウドデザインパターン
Cloud Design Patterns: Prescriptive Architecture Guidance for Cloud Applications
kyrt @takekazuomi 2
自己紹介
近江 武一
JAZUG Azure Storage 担当(自称)
Microsoft MVP for Azure
kyrt @takekazuomi 3
kyrt.in
github.com/takekazuomi
white paper
紹介
• Microsoft patterns & practices
• Cloud Design Patterns: Prescriptive
Architecture Guidance for Cloud Applications
• http://msdn.microsoft.com/en-
us/library/dn568099.aspx
• 翻訳が、2014年6月に出ました
• クラウドデザインパターン Azureを例とし
たクラウドアプリケーション設計の手引き
• http://ec.nikkeibp.co.jp/item/books/P98330.html
• 日経BP
以下、CDP本と記述
kyrt @takekazuomi 4
内容
クラウドアプリケーション設計の頻出課題集
Software design pattern の Cloud Application 版
•24のパターン
•10のガイダンス
ポスター
• http://azure.microsoft.com/en-us/documentation/infographics/cloud-
design-patterns/
kyrt @takekazuomi 5
JAZUGで監訳
•翻訳と監訳のはざまに悩みつつも de:code
で出せるように奮闘
kyrt @takekazuomi 6
回答集じゃない
課題が整理され、考慮点について記述されて
いる
•8つの問題領域
•10つのcode sample
kyrt @takekazuomi 7
Design Patterns with Sample Code
kyrt @takekazuomi 8
名称 可用性
データ
管理
設計
実装
メッセージ
ング
管理
監視
パフォーマンス
スケーラビリ
ティ
回復性
セキュリ
ティ
Code
samples
Competing Consumers Pattern ◯ ◯
Compute Resource Consolidation
Pattern
◯ ◯
External Configuration Store Pattern ◯ ◯ ◯
Health Endpoint Monitoring Pattern ◯ ◯ ◯
Leader Election ○ ○ ○
Pipes and Filters Pattern ◯ ◯ ◯
Priority Queue Pattern ◯ ◯ ◯
Runtime Reconfiguration Pattern ◯ ◯ ◯
Static Content Hosting Pattern ◯ ◯ ◯ ◯
Valet Key Pattern ◯ ◯ ◯
kyrt @takekazuomi 9
Sample Codes
サンプルコードをざっと見ていこう
kyrt @takekazuomi 10
前準備
•Web Platform Installer
•Microsoft Visual Studio 2012/2013
•Windows Azure Tools for Microsoft Visual
Studio
• http://azure.microsoft.com/ja-jp/develop/net/
•Azure Trial
• http://azure.microsoft.com/ja-jp/pricing/free-trial/
kyrt @takekazuomi 112014/2/26
Codes
•細かいところがなかなか興味深い
•概要を紹介
• パターンの内容自体はざっくり流して、細かいとこ
ろを見る
•注意
• Azure Storageのバージョンが2.1.xで古い。最新は、
4.2.0 (7/28 release)
• Azure SDK が、2.2 (2.3 へ変換で動く)
kyrt @takekazuomi 12
場所
•Cloud Design Patterns: Prescriptive Architecture
Guidance for Cloud Applications
• http://msdn.microsoft.com/en-us/library/dn568099.aspx
•サンプルコード
• http://aka.ms/Cloud-Design-Patterns-Sample
kyrt @takekazuomi 13
Cloud Design Patterns Examples.zip
Competing Consumers
Compute Resource Consolidation
External Configuration Store
Health Endpoint Monitoring
Leader Election
Pipes and Filters
Priority Queue
Runtime Reconfiguration
Static Content Hosting
Valet Key
+Readme files
kyrt @takekazuomi 14
Competing Consumers Pattern
競争する消費者のパターン
kyrt @takekazuomi 15
Competing Consumers Pattern
図引用 http://msdn.microsoft.com/en-us/library/dn568101.aspx
kyrt @takekazuomi 16
•競争する消費者のパターン
Outline
•送る側は投げるだけ、処理する側はQueueか
らひたすら読んで処理する
•ワークロードの急増を平準化する
•ワークロードを負荷分散させる
•信頼性を改善する
kyrt @takekazuomi 17
Project 構成
•CompetingConsumers.ccproj
• Azure のRole 定義
•CompetingConsumers.Shared.csproj
• Sender,Receiverの共通
•Receiver.csproj
• 右のConsumer
•Sender.csproj
• 左のProducer
kyrt @takekazuomi 18
コード構成
•2つのコンポーネントで構成
• Sender worker role
• Service Bus Queueにメッセージを送信
• Receiver worker role
• Queueからメッセージを読んで処理をする
•Receiver worker は、2インスタンスが起動す
るように初期構成
kyrt @takekazuomi 19
Service Bus Queue のUtility Class
CompetingConsumers.Shared.QueueManager
コンパクトな使用例
•Start()
•Stop()
•SendMessagesAsync()
•ReceiveMessages()
kyrt @takekazuomi 20
async Task QueueManager.Start()
•Receiver.OnStart(), Sender.OnStart() の両方で呼ぶ
• Queueの作成、起動される順番は不定
•Queueの作成処理は idempotent にする
• 存在Check->作成-> MessagingEntityAlreadyExistsException
は、 TraceWarning(エラーじゃない)
•MessagingException
• InnerException as WebException !=null の場合は、APIのエ
ラー、 HttpStatusCode でエラーコードがわかる
kyrt @takekazuomi 21
async Task QueueManager.Start()
queueDescription.MaxDeliveryCount = 3;
•Brokered Messaging: Dead Letter Queue
• http://code.msdn.microsoft.com/windowsazure/Brokere
d-Messaging-Dead-
22536dd8/sourcecode?fileId=76870&pathId=497121593
kyrt @takekazuomi 22
Compute Resource Consolidation
Pattern
コンピューティング リソースの統合 パターン
1.5章 P32
kyrt @takekazuomi 23
Compute Resource Consolidation Pattern
図引用 http://msdn.microsoft.com/en-us/library/dn589778.aspx
kyrt @takekazuomi 24
コンピューティング リソースの統合 パターン
Outline
•separation of concerns(SoC、関心の分離)
の設計原則に沿って分割
•論理設計の簡素化
•複数のタスクを同一の計算ユニットで実行
する(=統合)
•費用対効果の最適化
kyrt @takekazuomi 25
Project 構成
•ComputeResourceConsolidation.ccproj
• Role定義
•ComputeResourceConsolidation.Worker.ccproj
• WorkerRole
kyrt @takekazuomi 26
コード構成
•WorkerRoleに全部ある
•MyWorkerTask[12](CancellationToken ct)
• サンプルのworker role task
• Trace.TraceInformation して、Task.Delayしてloop
• #1 は、30秒間隔で、#2は、5分間隔で動作
• CancellationToken で中断
• Task.Delay()のところにコードを入れる
kyrt @takekazuomi 27
WorkerRole.Run()
•Run()
• バックグラウンド処理の一般例
• Task.WaitAny() して、Taskの完了待ち
• AggregateExceptionでは、
OperationCanceledException は、キャンセル処理
(Stop)を実行
kyrt @takekazuomi 28
WorkerRole.Run():L61,L74,L98
•L61 catch (AggregateException ex)
• キャンセルでここに来た場合でも、まだ動いている
タスクがあることを忘れない(L71)
• cts.IsCancellationRequested でない場合は、全部のタ
スクをキャンセル(Stop)してる
•L74, L98:Stop(TimeSpan.FromMinutes(5))
• L98、OnStop()の執行猶予は5分
• L74は任意で可
kyrt @takekazuomi 29
kyrt @takekazuomi 30
External Configuration Store Pattern
構成情報の外部ストア保存 パターン
1.8 P62
kyrt @takekazuomi 31
External Configuration Store Pattern
図引用 http://msdn.microsoft.com/en-us/library/dn589803.aspx
kyrt @takekazuomi 32
構成情報の外部ストア保存 パターン
Outline
•アプリケーションのデプロイと構成情報
(config)を分離
•アプリケーションの再デプロイなしに、構
成情報を変更
•アプリケーション間で構成情報を共有
kyrt @takekazuomi 33
コード構成
• WorkerRole.cs
• WorkerRole Class
• ExternalConfigurationManager.cs
• 設定のCache 、取得
• 変更監視
• ExternalConfiguration.cs
• ExternalConfigurationManagerのFactory Class
• Lazy<>を利用した典型的な実装
• BlobSettingsStore.cs
• 設定をBlobに保存するStore
kyrt @takekazuomi 34
WorkerRole.OnStart():L43
•デフォルトの構成情報をUL
• L85: パッケージに含まれるので上書
•構成上の変更イベントをSubscribe
• L52: ExternalConfiguration.Instance.Changed.Subscribe
kyrt @takekazuomi 35
WorkerRole.OnStop():L65
• Blogにあげた構成情報ファイルを削除
• DeleteConfigurationBlob():L94
• コンテナごと削除
• デプロイ後に構成情報を変更した場合
• 再デプロイではパッケージに含まれる構成情報に戻る
• 構成情報を共有している場合はupload, deleteのタイミングを検
討
• Version Checkして「新しければULで削除はしない」という実装
もある(ETagでは不可)
kyrt @takekazuomi 36
ISettingsStore
•サンプルコードには、本のP65と違って
Update() が無い
• 問題ないというか無い方が良い
kyrt @takekazuomi 37
public interface ISettingsStore
{
Task<string> GetVersionAsync();
Task<Dictionary<string, string>> FindAllAsync();
}
BlobSettingsStore
•async Task<string> GetVersionAsync() :L40
• FetchAttributesAsync()はHEAD を使う、Bodyの転送が
伴わないのでETag は効率的
• ETagだと同一性の判断ができても新旧の区別が不可
kyrt @takekazuomi 38
おまけ
•Azure Files
• 同一データセンター内ならSMB 2.1 でマウント可
• net use z: myaccount.file.core.windows.netmyshare
/u:myaccount StgAccKey==
• データセンター外からでもAzCopy 2.4 以降でcopy可
• Storage Client library 4.0 からサポートあり
• Microsoft Azure Files サービスの概要
• http://blogs.msdn.com/b/windowsazurej/archive/2014/06/05/
blog-introducing-microsoft-azure-file-service.aspx
kyrt @takekazuomi 39
Health Endpoint Monitoring
エンドポイントの健康監視
1.11 P82
kyrt @takekazuomi 40
Health Endpoint Monitoring
図引用 http://msdn.microsoft.com/en-us/library/dn589789.aspx
kyrt @takekazuomi 41
エンドポイントの健康監視
Outline
•サービス監視でhttpのエンドポイントを使う
方法
•専用のエンドポイントを作成することで、
効果的に監視
•ネットワーク的な遅延、応答速度
•SSL証明書の有効期限
kyrt @takekazuomi 42
コード構成
•HealthEndPointMonitoring.Web.csproj
• Endpointを実装してるASP.NET
•HealthEndpointMonitoring.Cloud.ccproj
• Azure Project
kyrt @takekazuomi 43
Leader Election Pattern
リーダー選出 パターン
1.13 P99
kyrt @takekazuomi 44
kyrt @takekazuomi 45
図引用 http://msdn.microsoft.com/en-us/library/dn568104.aspx
Outline
•Role内の1つのインスタンスに管理的なJob
を委託
•障害時には再度選出が行われリーダーが移
動
•Blobのリースを利用して Mutex を実装
•Apache Zookeeper などの外部サービスを
使った実装も検討する
kyrt @takekazuomi 46
コード構成
•DistributedMutex.csproj
• 本体
•LeaderElection.ccproj
• Azure Project
•LeaderElection.Tests.csproj
• Unit Test
•LeaderElection.Worker.csproj
• Worker Role
kyrt @takekazuomi 47
BlobLeaseManager
•L51: RetryPolicy = new
LinearRetry(TimeSpan.FromSeconds(1), 3);
• RetryPolicy は、 LinearRetry
•L76,L138
• Debugには、StorageExceptionの
StorageExtendedErrorInformationと、RequestResultが
便利
kyrt @takekazuomi 48
Pipes and Filters Pattern
パイプとフィルターのパターン
1.15 P133
kyrt @takekazuomi 49
kyrt @takekazuomi 50
図引用 http://msdn.microsoft.com/en-us/library/dn568100.aspx
Outline
•処理をパイプで繋いでデータを流す
•各処理は分割し再利用しやすい
•インスタンスを増やす、パイプを増やすで、
スケール
kyrt @takekazuomi 51
Project構成
• PipesAndFilters.Cloud.ccproj
• Azure Project
• InitialSender.csproj
• データ送信のWorkerRole
• PipeFilterA.csproj
• データのフィルターAのWorkerRole
• PipeFilterB.csproj
• データのフィルターBのWorkerRole
• FinalReceiver.csproj
• 最後にデータを受けるWorkerRole
kyrt @takekazuomi 52
コード構成
•QueueManager.cs
• Competing Consumers の QueueManagerとほとんど同じ
だけどちょっと違う。参考にするときは両方見ると良い
•ServiceBusPipeFilter.cs
• Start()は、idempotent にする
• OnPipeFilterMessageAsync()がフィルター本体
• フィルターの関数 Func<BrokeredMessage,
Task<BrokeredMessage>>を受け取って、結果のMesasgeを、
out queueに送る
kyrt @takekazuomi 53
kyrt @takekazuomi 54
終わりに
kyrt @takekazuomi 55
•Queueが全部 Service Bus Queue だけど、
Storage Queue 使おうよ
•Special Thanks
• Source Han Sans
• https://github.com/adobe-fonts/source-han-sans/
kyrt @takekazuomi 56
おまけ
祝、Storage Client Library 4.2.0 がリリースされました
kyrt @takekazuomi 57
Windows Azure Storage 4.2.0 (1)
2014/7/28 リリース、変更内容
• All: リソース名のバリデーションを行う NameValidator class を追加
• All: LogRecord の RequestUrl で HTML4 decoded が間違っていた BUGを
修正
• All: 許可された最大実行時間は24 日
• All: log line error の文言変更
• All (WP): Windows Phoneアプリケーションをストアに提出するさいに必
要な認証に失敗する問題を修正
• All (WP): Windows Phone 8.1 Silverlight support を追加
kyrt @takekazuomi 58
Windows Azure Storage 4.2.0 (2)
• Blobs: blob snapshots の SAS tokens をサポート
• Blobs: CloudBlobClient.DefaultDelimiter の “” を禁止
• https://github.com/Azure/azure-storage-
net/commit/905e9f260b8c673988cee9903092af7c71517270#diff-
90cd11bb9518ee4bff77205ad15cf726R218
• Queues (RT): queue に、 message を追加するときに、
messagettl と visibilitytimeout の query parameters が
正しく設定されない問題を修正
kyrt @takekazuomi 59
Windows Azure Storage 4.2.0 (3)
•Tables: CloudTable.DeleteIfExists 、 async 版は、
Table が存在しない場合に、exceptionではな
く false を返す
• https://github.com/Azure/azure-storage-
net/releases/tag/v4.2.0
• http://www.nuget.org/packages/WindowsAzure.Storage/
4.2.0
kyrt @takekazuomi 60

More Related Content

What's hot

さいきんのMySQLに関する取り組み(仮)
さいきんのMySQLに関する取り組み(仮)さいきんのMySQLに関する取り組み(仮)
さいきんのMySQLに関する取り組み(仮)Takanori Sejima
 
開発者なのに運用で手がいっぱい? そんなあなたに贈る、 クラウド時代に最適な OSS の RDBMS ! Azure Database for MySQL...
開発者なのに運用で手がいっぱい? そんなあなたに贈る、 クラウド時代に最適な OSS の RDBMS ! Azure Database for MySQL...開発者なのに運用で手がいっぱい? そんなあなたに贈る、 クラウド時代に最適な OSS の RDBMS ! Azure Database for MySQL...
開発者なのに運用で手がいっぱい? そんなあなたに贈る、 クラウド時代に最適な OSS の RDBMS ! Azure Database for MySQL...Suguru Ito
 
Cosmos DB 入門 multi model multi API編
Cosmos DB 入門 multi model multi API編Cosmos DB 入門 multi model multi API編
Cosmos DB 入門 multi model multi API編Takekazu Omi
 
大規模化するピグライフを支えるインフラ ~MongoDBとChefについて~ (前編)
大規模化するピグライフを支えるインフラ ~MongoDBとChefについて~ (前編)大規模化するピグライフを支えるインフラ ~MongoDBとChefについて~ (前編)
大規模化するピグライフを支えるインフラ ~MongoDBとChefについて~ (前編)Akihiro Kuwano
 
Hyper-V 仮想マシンをAzure ARMへV2C移行...のメモ
Hyper-V 仮想マシンをAzure ARMへV2C移行...のメモHyper-V 仮想マシンをAzure ARMへV2C移行...のメモ
Hyper-V 仮想マシンをAzure ARMへV2C移行...のメモwintechq
 
S03 企業内システムと Microsoft Azure の VPN 接続
S03 企業内システムと Microsoft Azure の VPN 接続S03 企業内システムと Microsoft Azure の VPN 接続
S03 企業内システムと Microsoft Azure の VPN 接続Microsoft Azure Japan
 
Awsのクラウドデザインパターンをwindows azureに持ってきてみた
Awsのクラウドデザインパターンをwindows azureに持ってきてみたAwsのクラウドデザインパターンをwindows azureに持ってきてみた
Awsのクラウドデザインパターンをwindows azureに持ってきてみたSunao Tomita
 
17 E-5 震災とHackとクラウドと 亀渕分
17 E-5 震災とHackとクラウドと 亀渕分17 E-5 震災とHackとクラウドと 亀渕分
17 E-5 震災とHackとクラウドと 亀渕分Keiji Kamebuchi
 
20170902 kixs azure&azure stack
20170902 kixs azure&azure stack20170902 kixs azure&azure stack
20170902 kixs azure&azure stackOsamu Takazoe
 
Microsoft Azure超超入門_20140412
Microsoft Azure超超入門_20140412Microsoft Azure超超入門_20140412
Microsoft Azure超超入門_20140412Sayaka Shimada
 
[G-Tech2014講演資料] Microsoft Azureで負荷分散された仮想マシンを作ってみよう ~Amazon Web Servicesと比べな...
[G-Tech2014講演資料] Microsoft Azureで負荷分散された仮想マシンを作ってみよう ~Amazon Web Servicesと比べな...[G-Tech2014講演資料] Microsoft Azureで負荷分散された仮想マシンを作ってみよう ~Amazon Web Servicesと比べな...
[G-Tech2014講演資料] Microsoft Azureで負荷分散された仮想マシンを作ってみよう ~Amazon Web Servicesと比べな...Trainocate Japan, Ltd.
 
99999999 azure iaas_newportal版
99999999 azure iaas_newportal版99999999 azure iaas_newportal版
99999999 azure iaas_newportal版Osamu Takazoe
 
Azure Database for MySQL PostgreSQLを使って運用の手間を省きませんか?
Azure Database for MySQL PostgreSQLを使って運用の手間を省きませんか?Azure Database for MySQL PostgreSQLを使って運用の手間を省きませんか?
Azure Database for MySQL PostgreSQLを使って運用の手間を省きませんか?Suguru Ito
 
20141110 tf azure_iaas
20141110 tf azure_iaas20141110 tf azure_iaas
20141110 tf azure_iaasOsamu Takazoe
 
わんくま東京勉強会#46 Azureセッション資料
わんくま東京勉強会#46 Azureセッション資料わんくま東京勉強会#46 Azureセッション資料
わんくま東京勉強会#46 Azureセッション資料guest628c07
 
InnoDBのすゝめ(仮)
InnoDBのすゝめ(仮)InnoDBのすゝめ(仮)
InnoDBのすゝめ(仮)Takanori Sejima
 
S04 企業内システムと Microsoft Azure の VPN 接続、ファイルサーバー連携
S04 企業内システムと Microsoft Azure の VPN 接続、ファイルサーバー連携S04 企業内システムと Microsoft Azure の VPN 接続、ファイルサーバー連携
S04 企業内システムと Microsoft Azure の VPN 接続、ファイルサーバー連携Microsoft Azure Japan
 
S08 Microsoft Azure SQL Server の活用 (IaaS 環境における設定や運用)
S08 Microsoft Azure SQL Server の活用 (IaaS 環境における設定や運用)S08 Microsoft Azure SQL Server の活用 (IaaS 環境における設定や運用)
S08 Microsoft Azure SQL Server の活用 (IaaS 環境における設定や運用)Microsoft Azure Japan
 
Windows Server 2016 で実現しちゃう HCI (Hyper Converged Infrastructure)
Windows Server 2016 で実現しちゃう HCI (Hyper Converged Infrastructure)Windows Server 2016 で実現しちゃう HCI (Hyper Converged Infrastructure)
Windows Server 2016 で実現しちゃう HCI (Hyper Converged Infrastructure)Miho Yamamoto
 

What's hot (19)

さいきんのMySQLに関する取り組み(仮)
さいきんのMySQLに関する取り組み(仮)さいきんのMySQLに関する取り組み(仮)
さいきんのMySQLに関する取り組み(仮)
 
開発者なのに運用で手がいっぱい? そんなあなたに贈る、 クラウド時代に最適な OSS の RDBMS ! Azure Database for MySQL...
開発者なのに運用で手がいっぱい? そんなあなたに贈る、 クラウド時代に最適な OSS の RDBMS ! Azure Database for MySQL...開発者なのに運用で手がいっぱい? そんなあなたに贈る、 クラウド時代に最適な OSS の RDBMS ! Azure Database for MySQL...
開発者なのに運用で手がいっぱい? そんなあなたに贈る、 クラウド時代に最適な OSS の RDBMS ! Azure Database for MySQL...
 
Cosmos DB 入門 multi model multi API編
Cosmos DB 入門 multi model multi API編Cosmos DB 入門 multi model multi API編
Cosmos DB 入門 multi model multi API編
 
大規模化するピグライフを支えるインフラ ~MongoDBとChefについて~ (前編)
大規模化するピグライフを支えるインフラ ~MongoDBとChefについて~ (前編)大規模化するピグライフを支えるインフラ ~MongoDBとChefについて~ (前編)
大規模化するピグライフを支えるインフラ ~MongoDBとChefについて~ (前編)
 
Hyper-V 仮想マシンをAzure ARMへV2C移行...のメモ
Hyper-V 仮想マシンをAzure ARMへV2C移行...のメモHyper-V 仮想マシンをAzure ARMへV2C移行...のメモ
Hyper-V 仮想マシンをAzure ARMへV2C移行...のメモ
 
S03 企業内システムと Microsoft Azure の VPN 接続
S03 企業内システムと Microsoft Azure の VPN 接続S03 企業内システムと Microsoft Azure の VPN 接続
S03 企業内システムと Microsoft Azure の VPN 接続
 
Awsのクラウドデザインパターンをwindows azureに持ってきてみた
Awsのクラウドデザインパターンをwindows azureに持ってきてみたAwsのクラウドデザインパターンをwindows azureに持ってきてみた
Awsのクラウドデザインパターンをwindows azureに持ってきてみた
 
17 E-5 震災とHackとクラウドと 亀渕分
17 E-5 震災とHackとクラウドと 亀渕分17 E-5 震災とHackとクラウドと 亀渕分
17 E-5 震災とHackとクラウドと 亀渕分
 
20170902 kixs azure&azure stack
20170902 kixs azure&azure stack20170902 kixs azure&azure stack
20170902 kixs azure&azure stack
 
Microsoft Azure超超入門_20140412
Microsoft Azure超超入門_20140412Microsoft Azure超超入門_20140412
Microsoft Azure超超入門_20140412
 
[G-Tech2014講演資料] Microsoft Azureで負荷分散された仮想マシンを作ってみよう ~Amazon Web Servicesと比べな...
[G-Tech2014講演資料] Microsoft Azureで負荷分散された仮想マシンを作ってみよう ~Amazon Web Servicesと比べな...[G-Tech2014講演資料] Microsoft Azureで負荷分散された仮想マシンを作ってみよう ~Amazon Web Servicesと比べな...
[G-Tech2014講演資料] Microsoft Azureで負荷分散された仮想マシンを作ってみよう ~Amazon Web Servicesと比べな...
 
99999999 azure iaas_newportal版
99999999 azure iaas_newportal版99999999 azure iaas_newportal版
99999999 azure iaas_newportal版
 
Azure Database for MySQL PostgreSQLを使って運用の手間を省きませんか?
Azure Database for MySQL PostgreSQLを使って運用の手間を省きませんか?Azure Database for MySQL PostgreSQLを使って運用の手間を省きませんか?
Azure Database for MySQL PostgreSQLを使って運用の手間を省きませんか?
 
20141110 tf azure_iaas
20141110 tf azure_iaas20141110 tf azure_iaas
20141110 tf azure_iaas
 
わんくま東京勉強会#46 Azureセッション資料
わんくま東京勉強会#46 Azureセッション資料わんくま東京勉強会#46 Azureセッション資料
わんくま東京勉強会#46 Azureセッション資料
 
InnoDBのすゝめ(仮)
InnoDBのすゝめ(仮)InnoDBのすゝめ(仮)
InnoDBのすゝめ(仮)
 
S04 企業内システムと Microsoft Azure の VPN 接続、ファイルサーバー連携
S04 企業内システムと Microsoft Azure の VPN 接続、ファイルサーバー連携S04 企業内システムと Microsoft Azure の VPN 接続、ファイルサーバー連携
S04 企業内システムと Microsoft Azure の VPN 接続、ファイルサーバー連携
 
S08 Microsoft Azure SQL Server の活用 (IaaS 環境における設定や運用)
S08 Microsoft Azure SQL Server の活用 (IaaS 環境における設定や運用)S08 Microsoft Azure SQL Server の活用 (IaaS 環境における設定や運用)
S08 Microsoft Azure SQL Server の活用 (IaaS 環境における設定や運用)
 
Windows Server 2016 で実現しちゃう HCI (Hyper Converged Infrastructure)
Windows Server 2016 で実現しちゃう HCI (Hyper Converged Infrastructure)Windows Server 2016 で実現しちゃう HCI (Hyper Converged Infrastructure)
Windows Server 2016 で実現しちゃう HCI (Hyper Converged Infrastructure)
 

Viewers also liked

Azure Storage Partition Internals
Azure Storage Partition  Internals Azure Storage Partition  Internals
Azure Storage Partition Internals Takekazu Omi
 
Asynchronous Messaging入門
Asynchronous Messaging入門Asynchronous Messaging入門
Asynchronous Messaging入門Tatsuaki Sakai
 
[AWS Summit 2012] クラウドデザインパターン#8 CDP アンチパターン編
[AWS Summit 2012] クラウドデザインパターン#8 CDP アンチパターン編[AWS Summit 2012] クラウドデザインパターン#8 CDP アンチパターン編
[AWS Summit 2012] クラウドデザインパターン#8 CDP アンチパターン編Amazon Web Services Japan
 
AWSクラウドデザインパターン(CDP) - 概要編 -
AWSクラウドデザインパターン(CDP) - 概要編 - AWSクラウドデザインパターン(CDP) - 概要編 -
AWSクラウドデザインパターン(CDP) - 概要編 - SORACOM, INC
 
初心者向けWebinar 貴重なデータを守るクラウドバックアップの実現
初心者向けWebinar 貴重なデータを守るクラウドバックアップの実現初心者向けWebinar 貴重なデータを守るクラウドバックアップの実現
初心者向けWebinar 貴重なデータを守るクラウドバックアップの実現Amazon Web Services Japan
 
Awsのインフラをデザインパターン駆使して設計構築
Awsのインフラをデザインパターン駆使して設計構築Awsのインフラをデザインパターン駆使して設計構築
Awsのインフラをデザインパターン駆使して設計構築Monstar Lab Inc.
 
デザインパターンから見た AWS と Azure
デザインパターンから見た AWS と Azureデザインパターンから見た AWS と Azure
デザインパターンから見た AWS と AzureSunao Tomita
 
20170311 jawsdays 新訳 とあるアーキテクトのクラウドデザインパターン目録
20170311 jawsdays 新訳 とあるアーキテクトのクラウドデザインパターン目録20170311 jawsdays 新訳 とあるアーキテクトのクラウドデザインパターン目録
20170311 jawsdays 新訳 とあるアーキテクトのクラウドデザインパターン目録Naomi Yamasaki
 
JAWSDAYS2017 新訳 とあるアーキテクトのクラウドデザインパターン目録 AMI Maintenance Environment
JAWSDAYS2017 新訳 とあるアーキテクトのクラウドデザインパターン目録 AMI Maintenance EnvironmentJAWSDAYS2017 新訳 とあるアーキテクトのクラウドデザインパターン目録 AMI Maintenance Environment
JAWSDAYS2017 新訳 とあるアーキテクトのクラウドデザインパターン目録 AMI Maintenance EnvironmentJin k
 
jawsdays 2017 新訳-とある設計士の雲設計定石目録_3
jawsdays 2017 新訳-とある設計士の雲設計定石目録_3jawsdays 2017 新訳-とある設計士の雲設計定石目録_3
jawsdays 2017 新訳-とある設計士の雲設計定石目録_3a kyane
 
20170311 jawsdays 公開
20170311 jawsdays 公開20170311 jawsdays 公開
20170311 jawsdays 公開Hideki Ojima
 
サーバーレスの今とこれから
サーバーレスの今とこれからサーバーレスの今とこれから
サーバーレスの今とこれから真吾 吉田
 

Viewers also liked (12)

Azure Storage Partition Internals
Azure Storage Partition  Internals Azure Storage Partition  Internals
Azure Storage Partition Internals
 
Asynchronous Messaging入門
Asynchronous Messaging入門Asynchronous Messaging入門
Asynchronous Messaging入門
 
[AWS Summit 2012] クラウドデザインパターン#8 CDP アンチパターン編
[AWS Summit 2012] クラウドデザインパターン#8 CDP アンチパターン編[AWS Summit 2012] クラウドデザインパターン#8 CDP アンチパターン編
[AWS Summit 2012] クラウドデザインパターン#8 CDP アンチパターン編
 
AWSクラウドデザインパターン(CDP) - 概要編 -
AWSクラウドデザインパターン(CDP) - 概要編 - AWSクラウドデザインパターン(CDP) - 概要編 -
AWSクラウドデザインパターン(CDP) - 概要編 -
 
初心者向けWebinar 貴重なデータを守るクラウドバックアップの実現
初心者向けWebinar 貴重なデータを守るクラウドバックアップの実現初心者向けWebinar 貴重なデータを守るクラウドバックアップの実現
初心者向けWebinar 貴重なデータを守るクラウドバックアップの実現
 
Awsのインフラをデザインパターン駆使して設計構築
Awsのインフラをデザインパターン駆使して設計構築Awsのインフラをデザインパターン駆使して設計構築
Awsのインフラをデザインパターン駆使して設計構築
 
デザインパターンから見た AWS と Azure
デザインパターンから見た AWS と Azureデザインパターンから見た AWS と Azure
デザインパターンから見た AWS と Azure
 
20170311 jawsdays 新訳 とあるアーキテクトのクラウドデザインパターン目録
20170311 jawsdays 新訳 とあるアーキテクトのクラウドデザインパターン目録20170311 jawsdays 新訳 とあるアーキテクトのクラウドデザインパターン目録
20170311 jawsdays 新訳 とあるアーキテクトのクラウドデザインパターン目録
 
JAWSDAYS2017 新訳 とあるアーキテクトのクラウドデザインパターン目録 AMI Maintenance Environment
JAWSDAYS2017 新訳 とあるアーキテクトのクラウドデザインパターン目録 AMI Maintenance EnvironmentJAWSDAYS2017 新訳 とあるアーキテクトのクラウドデザインパターン目録 AMI Maintenance Environment
JAWSDAYS2017 新訳 とあるアーキテクトのクラウドデザインパターン目録 AMI Maintenance Environment
 
jawsdays 2017 新訳-とある設計士の雲設計定石目録_3
jawsdays 2017 新訳-とある設計士の雲設計定石目録_3jawsdays 2017 新訳-とある設計士の雲設計定石目録_3
jawsdays 2017 新訳-とある設計士の雲設計定石目録_3
 
20170311 jawsdays 公開
20170311 jawsdays 公開20170311 jawsdays 公開
20170311 jawsdays 公開
 
サーバーレスの今とこれから
サーバーレスの今とこれからサーバーレスの今とこれから
サーバーレスの今とこれから
 

Similar to JAZUG クラウドデザインパターンのコードを覗く

VSCodeで始めるAzure Static Web Apps開発
VSCodeで始めるAzure Static Web Apps開発VSCodeで始めるAzure Static Web Apps開発
VSCodeで始めるAzure Static Web Apps開発Yuta Matsumura
 
Azure IoT Edge で Custom Vision
Azure IoT Edge で Custom VisionAzure IoT Edge で Custom Vision
Azure IoT Edge で Custom VisionYoshitaka Seo
 
わんくま同盟名古屋勉強会18回目 ASP.NET MVC3を利用したHTML5な画面開発~クラウドも有るよ!~
わんくま同盟名古屋勉強会18回目 ASP.NET MVC3を利用したHTML5な画面開発~クラウドも有るよ!~わんくま同盟名古屋勉強会18回目 ASP.NET MVC3を利用したHTML5な画面開発~クラウドも有るよ!~
わんくま同盟名古屋勉強会18回目 ASP.NET MVC3を利用したHTML5な画面開発~クラウドも有るよ!~normalian
 
JAWS目黒 EC2チューニングTips #jawsmeguro #jawsug
JAWS目黒 EC2チューニングTips #jawsmeguro #jawsugJAWS目黒 EC2チューニングTips #jawsmeguro #jawsug
JAWS目黒 EC2チューニングTips #jawsmeguro #jawsugYasuhiro Matsuo
 
JAZUG 第2回 CDP 勉強会 Compensating Transaction, Index Table パターン
JAZUG 第2回 CDP 勉強会 Compensating Transaction, Index Table パターンJAZUG 第2回 CDP 勉強会 Compensating Transaction, Index Table パターン
JAZUG 第2回 CDP 勉強会 Compensating Transaction, Index Table パターンTakekazu Omi
 
130329 04
130329 04130329 04
130329 04openrtm
 
20130329 rtm4
20130329 rtm420130329 rtm4
20130329 rtm4openrtm
 
Azure API Management 俺的マニュアル
Azure API Management 俺的マニュアルAzure API Management 俺的マニュアル
Azure API Management 俺的マニュアル貴志 上坂
 
AlloyDB のデータ分析基盤での活用におけるポテンシャルとは?
AlloyDB のデータ分析基盤での活用におけるポテンシャルとは?AlloyDB のデータ分析基盤での活用におけるポテンシャルとは?
AlloyDB のデータ分析基盤での活用におけるポテンシャルとは?Takuya Ogawa
 
Microservices and Servcie Mesh on Azure
Microservices and Servcie Mesh on AzureMicroservices and Servcie Mesh on Azure
Microservices and Servcie Mesh on AzureTsukasa Kato
 
Observability, Service Mesh and Microservices
Observability, Service Mesh and MicroservicesObservability, Service Mesh and Microservices
Observability, Service Mesh and MicroservicesTaiki
 
Microsoft Tunnel 概要
Microsoft Tunnel 概要Microsoft Tunnel 概要
Microsoft Tunnel 概要Yutaro Tamai
 
Microsoft Antimalware for Azure による Azure 仮想マシンの簡易的なマルウェア対策
Microsoft Antimalware for Azure による Azure 仮想マシンの簡易的なマルウェア対策Microsoft Antimalware for Azure による Azure 仮想マシンの簡易的なマルウェア対策
Microsoft Antimalware for Azure による Azure 仮想マシンの簡易的なマルウェア対策wintechq
 
分散環境におけるDocker とオーケストレーション
分散環境におけるDocker とオーケストレーション分散環境におけるDocker とオーケストレーション
分散環境におけるDocker とオーケストレーションMasahito Zembutsu
 
Osc fukuoka xAI Meetup
Osc fukuoka xAI MeetupOsc fukuoka xAI Meetup
Osc fukuoka xAI Meetupru pic
 
アセットビルドパイプラインについて考えてみる
アセットビルドパイプラインについて考えてみるアセットビルドパイプラインについて考えてみる
アセットビルドパイプラインについて考えてみるRYUTARO OSAFUNE
 
AKSを活用した社内向けイベント支援プラットフォームをリリースした話
AKSを活用した社内向けイベント支援プラットフォームをリリースした話AKSを活用した社内向けイベント支援プラットフォームをリリースした話
AKSを活用した社内向けイベント支援プラットフォームをリリースした話Shingo Kawahara
 
IBM Rational Team Concertに触れてみた
IBM Rational Team Concertに触れてみたIBM Rational Team Concertに触れてみた
IBM Rational Team Concertに触れてみたYou&I
 
Swarm mode運用してみた
Swarm mode運用してみたSwarm mode運用してみた
Swarm mode運用してみたAkifumi Niida
 

Similar to JAZUG クラウドデザインパターンのコードを覗く (20)

VSCodeで始めるAzure Static Web Apps開発
VSCodeで始めるAzure Static Web Apps開発VSCodeで始めるAzure Static Web Apps開発
VSCodeで始めるAzure Static Web Apps開発
 
Azure IoT Edge で Custom Vision
Azure IoT Edge で Custom VisionAzure IoT Edge で Custom Vision
Azure IoT Edge で Custom Vision
 
わんくま同盟名古屋勉強会18回目 ASP.NET MVC3を利用したHTML5な画面開発~クラウドも有るよ!~
わんくま同盟名古屋勉強会18回目 ASP.NET MVC3を利用したHTML5な画面開発~クラウドも有るよ!~わんくま同盟名古屋勉強会18回目 ASP.NET MVC3を利用したHTML5な画面開発~クラウドも有るよ!~
わんくま同盟名古屋勉強会18回目 ASP.NET MVC3を利用したHTML5な画面開発~クラウドも有るよ!~
 
JAWS目黒 EC2チューニングTips #jawsmeguro #jawsug
JAWS目黒 EC2チューニングTips #jawsmeguro #jawsugJAWS目黒 EC2チューニングTips #jawsmeguro #jawsug
JAWS目黒 EC2チューニングTips #jawsmeguro #jawsug
 
JAZUG 第2回 CDP 勉強会 Compensating Transaction, Index Table パターン
JAZUG 第2回 CDP 勉強会 Compensating Transaction, Index Table パターンJAZUG 第2回 CDP 勉強会 Compensating Transaction, Index Table パターン
JAZUG 第2回 CDP 勉強会 Compensating Transaction, Index Table パターン
 
130329 04
130329 04130329 04
130329 04
 
20130329 rtm4
20130329 rtm420130329 rtm4
20130329 rtm4
 
Azure API Management 俺的マニュアル
Azure API Management 俺的マニュアルAzure API Management 俺的マニュアル
Azure API Management 俺的マニュアル
 
AlloyDB のデータ分析基盤での活用におけるポテンシャルとは?
AlloyDB のデータ分析基盤での活用におけるポテンシャルとは?AlloyDB のデータ分析基盤での活用におけるポテンシャルとは?
AlloyDB のデータ分析基盤での活用におけるポテンシャルとは?
 
Microservices and Servcie Mesh on Azure
Microservices and Servcie Mesh on AzureMicroservices and Servcie Mesh on Azure
Microservices and Servcie Mesh on Azure
 
Observability, Service Mesh and Microservices
Observability, Service Mesh and MicroservicesObservability, Service Mesh and Microservices
Observability, Service Mesh and Microservices
 
Microsoft Tunnel 概要
Microsoft Tunnel 概要Microsoft Tunnel 概要
Microsoft Tunnel 概要
 
Microsoft Antimalware for Azure による Azure 仮想マシンの簡易的なマルウェア対策
Microsoft Antimalware for Azure による Azure 仮想マシンの簡易的なマルウェア対策Microsoft Antimalware for Azure による Azure 仮想マシンの簡易的なマルウェア対策
Microsoft Antimalware for Azure による Azure 仮想マシンの簡易的なマルウェア対策
 
分散環境におけるDocker とオーケストレーション
分散環境におけるDocker とオーケストレーション分散環境におけるDocker とオーケストレーション
分散環境におけるDocker とオーケストレーション
 
Open Source x AI
Open Source x AIOpen Source x AI
Open Source x AI
 
Osc fukuoka xAI Meetup
Osc fukuoka xAI MeetupOsc fukuoka xAI Meetup
Osc fukuoka xAI Meetup
 
アセットビルドパイプラインについて考えてみる
アセットビルドパイプラインについて考えてみるアセットビルドパイプラインについて考えてみる
アセットビルドパイプラインについて考えてみる
 
AKSを活用した社内向けイベント支援プラットフォームをリリースした話
AKSを活用した社内向けイベント支援プラットフォームをリリースした話AKSを活用した社内向けイベント支援プラットフォームをリリースした話
AKSを活用した社内向けイベント支援プラットフォームをリリースした話
 
IBM Rational Team Concertに触れてみた
IBM Rational Team Concertに触れてみたIBM Rational Team Concertに触れてみた
IBM Rational Team Concertに触れてみた
 
Swarm mode運用してみた
Swarm mode運用してみたSwarm mode運用してみた
Swarm mode運用してみた
 

More from Takekazu Omi

jazug34 Container Apps Key Vault
jazug34 Container Apps Key Vaultjazug34 Container Apps Key Vault
jazug34 Container Apps Key VaultTakekazu Omi
 
Bicep + VS Code で楽々Azure Deploy
Bicep + VS Code で楽々Azure DeployBicep + VS Code で楽々Azure Deploy
Bicep + VS Code で楽々Azure DeployTakekazu Omi
 
Bicep 入門 MySQL編
Bicep 入門 MySQL編Bicep 入門 MySQL編
Bicep 入門 MySQL編Takekazu Omi
 
//Build 2021 FASTER 紹介
//Build 2021 FASTER 紹介//Build 2021 FASTER 紹介
//Build 2021 FASTER 紹介Takekazu Omi
 
//build 2021 bicep 0.4
//build 2021 bicep 0.4//build 2021 bicep 0.4
//build 2021 bicep 0.4Takekazu Omi
 
bicep dev container
bicep dev containerbicep dev container
bicep dev containerTakekazu Omi
 
Introduction of Azure Docker Integration
Introduction of Azure Docker IntegrationIntroduction of Azure Docker Integration
Introduction of Azure Docker IntegrationTakekazu Omi
 
Cosmos DB Consistency Levels and Introduction of TLA+
Cosmos DB Consistency Levels and Introduction of TLA+ Cosmos DB Consistency Levels and Introduction of TLA+
Cosmos DB Consistency Levels and Introduction of TLA+ Takekazu Omi
 
20180421 Azure Architecture Cloud Design Patterns
20180421 Azure Architecture Cloud Design Patterns20180421 Azure Architecture Cloud Design Patterns
20180421 Azure Architecture Cloud Design PatternsTakekazu Omi
 
Azure Application Insights とか
Azure Application Insights とかAzure Application Insights とか
Azure Application Insights とかTakekazu Omi
 
第8回 Tokyo Jazug Night Ignite 2017 落穂拾い Storage編
第8回 Tokyo Jazug Night Ignite 2017 落穂拾い Storage編第8回 Tokyo Jazug Night Ignite 2017 落穂拾い Storage編
第8回 Tokyo Jazug Night Ignite 2017 落穂拾い Storage編Takekazu Omi
 
祝GA、 Service Fabric 概要
祝GA、 Service Fabric 概要祝GA、 Service Fabric 概要
祝GA、 Service Fabric 概要Takekazu Omi
 
Servcie Fabric and Cloud Design Pattern
Servcie Fabric and Cloud Design PatternServcie Fabric and Cloud Design Pattern
Servcie Fabric and Cloud Design PatternTakekazu Omi
 
Service Fabric での高密度配置
 Service Fabric での高密度配置 Service Fabric での高密度配置
Service Fabric での高密度配置Takekazu Omi
 
Introduction to Azure Service Fabric
Introduction to Azure Service FabricIntroduction to Azure Service Fabric
Introduction to Azure Service FabricTakekazu Omi
 
Azure Service Fabric 紹介
Azure Service Fabric 紹介Azure Service Fabric 紹介
Azure Service Fabric 紹介Takekazu Omi
 
Azure Cloud Application Design and Implementation Guidance の紹介
Azure Cloud Application Design and Implementation Guidance の紹介Azure Cloud Application Design and Implementation Guidance の紹介
Azure Cloud Application Design and Implementation Guidance の紹介Takekazu Omi
 

More from Takekazu Omi (20)

jazug34 Container Apps Key Vault
jazug34 Container Apps Key Vaultjazug34 Container Apps Key Vault
jazug34 Container Apps Key Vault
 
bicep 0.5 pre
bicep 0.5 prebicep 0.5 pre
bicep 0.5 pre
 
Bicep + VS Code で楽々Azure Deploy
Bicep + VS Code で楽々Azure DeployBicep + VS Code で楽々Azure Deploy
Bicep + VS Code で楽々Azure Deploy
 
Bicep 入門 MySQL編
Bicep 入門 MySQL編Bicep 入門 MySQL編
Bicep 入門 MySQL編
 
//Build 2021 FASTER 紹介
//Build 2021 FASTER 紹介//Build 2021 FASTER 紹介
//Build 2021 FASTER 紹介
 
//build 2021 bicep 0.4
//build 2021 bicep 0.4//build 2021 bicep 0.4
//build 2021 bicep 0.4
 
bicep 紹介
bicep 紹介bicep 紹介
bicep 紹介
 
bicep dev container
bicep dev containerbicep dev container
bicep dev container
 
Introduction of Azure Docker Integration
Introduction of Azure Docker IntegrationIntroduction of Azure Docker Integration
Introduction of Azure Docker Integration
 
Cosmos DB Consistency Levels and Introduction of TLA+
Cosmos DB Consistency Levels and Introduction of TLA+ Cosmos DB Consistency Levels and Introduction of TLA+
Cosmos DB Consistency Levels and Introduction of TLA+
 
20180421 Azure Architecture Cloud Design Patterns
20180421 Azure Architecture Cloud Design Patterns20180421 Azure Architecture Cloud Design Patterns
20180421 Azure Architecture Cloud Design Patterns
 
Azure Application Insights とか
Azure Application Insights とかAzure Application Insights とか
Azure Application Insights とか
 
第8回 Tokyo Jazug Night Ignite 2017 落穂拾い Storage編
第8回 Tokyo Jazug Night Ignite 2017 落穂拾い Storage編第8回 Tokyo Jazug Night Ignite 2017 落穂拾い Storage編
第8回 Tokyo Jazug Night Ignite 2017 落穂拾い Storage編
 
life with posh
life with poshlife with posh
life with posh
 
祝GA、 Service Fabric 概要
祝GA、 Service Fabric 概要祝GA、 Service Fabric 概要
祝GA、 Service Fabric 概要
 
Servcie Fabric and Cloud Design Pattern
Servcie Fabric and Cloud Design PatternServcie Fabric and Cloud Design Pattern
Servcie Fabric and Cloud Design Pattern
 
Service Fabric での高密度配置
 Service Fabric での高密度配置 Service Fabric での高密度配置
Service Fabric での高密度配置
 
Introduction to Azure Service Fabric
Introduction to Azure Service FabricIntroduction to Azure Service Fabric
Introduction to Azure Service Fabric
 
Azure Service Fabric 紹介
Azure Service Fabric 紹介Azure Service Fabric 紹介
Azure Service Fabric 紹介
 
Azure Cloud Application Design and Implementation Guidance の紹介
Azure Cloud Application Design and Implementation Guidance の紹介Azure Cloud Application Design and Implementation Guidance の紹介
Azure Cloud Application Design and Implementation Guidance の紹介
 

JAZUG クラウドデザインパターンのコードを覗く

Editor's Notes

  1. 9個のサンプルがある
  2. 10個のディレクトリにサンプルが入っている
  3. 648
  4. 最初だけ
  5. Brokered Messaging: Dead Letter Queue http://code.msdn.microsoft.com/windowsazure/Brokered-Messaging-Dead-22536dd8/sourcecode?fileId=76870&pathId=497121593 MessagingEntityAlreadyExistsExceptionと、response.StatusCode != HttpStatusCode.Conflict の両方みてるクレイジー!
  6. 648
  7. 最初だけ
  8. 648
  9. 648
  10. 648
  11. 648
  12. https://github.com/Azure/azure-storage-net/commit/905e9f260b8c673988cee9903092af7c71517270#diff-90cd11bb9518ee4bff77205ad15cf726R218
  13. https://github.com/Azure/azure-storage-net/commit/905e9f260b8c673988cee9903092af7c71517270#diff-90cd11bb9518ee4bff77205ad15cf726R218