Azure開発の極意

4,785 views

Published on

デブサミ2010講演資料です。デブサミということで、Azureを.NETはもちろんPHPやJava、Rubyなみなさまにも身近に楽しく感じてもらえればという思いでお話ししました。Azure開発のHow To的な内容は含まれておりません。

Published in: Technology
1 Comment
6 Likes
Statistics
Notes
No Downloads
Views
Total views
4,785
On SlideShare
0
From Embeds
0
Number of Embeds
222
Actions
Shares
0
Downloads
181
Comments
1
Likes
6
Embeds 0
No embeds

No notes for slide

Azure開発の極意

  1. 1. 18-D-7<br />砂金信一郎<br />マイクロソフト株式会社<br />エバンジェリスト<br />Azure 開発の極意<br />
  2. 2. はじめに:本資料につきまして<br />当セッションにご参加いただき、ありがとうございます。本資料は「デブサミ201018-D-7 “Azure開発の極意”」の手元参照用資料です<br />諸事情により、セッションで表示する資料とは内容が異なる場合がございます<br />本資料の記載事項は、弊社の一般的な製品の方向性に関する概要を説明するものです。また、情報提供を唯一の目的とするものであり、いかなる契約にも組み込むことはできません。以下の事項は、マテリアルやコード、機能を提供することを確約するものではなく、製品に関して記載されている機能の開発、リリースおよび次期については、弊社の裁量により決定されます<br />
  3. 3. スピーカープロフィール:ご質問などございましたらお気軽にお声掛けください<br />いさご<br />砂金 信一郎 shisago@microsoft.com<br />アーキテクトエバンジェリスト マイクロソフト株式会社<br />マイクロソフトでクラウドコンピューティングを中心とした啓蒙活動を行うエバンジェリスト。東京工業大学出身。日本オラクルで修行を積んだ後、戦略コンサルタントに転身していた時期もあったが、Windows Azureの世界観に魅せられてマイクロソフトに参画。自社技術に閉じないスタイルが信条。自他共に認めるガンダム好きで、特に戦略シミュレーションものにぐっときます。<br />ブログでもAzureの話題を提供<br />http://blogs.itmedia.co.jp/isago/<br />Twitterフォローはお気軽に<br />http://twitter.com/shin135/<br />
  4. 4. 本日50分でみなさまとシェアしたい内容<br />極意1<br />AzureなWindows。当たり前の悟り<br />極意2<br />こんな時代だからこそ、<br />無駄なく賢く使うセコロジー<br />極意3<br />クセのあるストレージもこれで楽勝。<br />お助けツール使いこなし術<br />極意4<br />PHP, Java, Rubyなら迷わずWorkerRole<br />極意5<br />クラウドはやっぱり疎結合<br />
  5. 5. Windows だから….NET開発者はそのままAzureへ<br />
  6. 6. Windows だから…暗黙的な対応アプリは多い(はず)<br />クラウドで動く 制約の厳しい Windows Server 64bit版<br />
  7. 7. Windows だから…サポートもSLAも購買手続きも安心<br />日本語ポータルから購入->即利用<br />技術サポート対応可(Premier)<br />99.95% のSLA(細則あり)<br />請求書払いにも対応(24,250円/月↑)<br />http://mocp.microsoftonline.com/<br />
  8. 8. 極意1<br />AzureなWindows。当たり前の悟り<br />極意2<br />こんな時代だからこそ、<br />無駄なく賢く使うセコロジー<br />極意3<br />クセのあるストレージもこれで楽勝。<br />お助けツール使いこなし術<br />極意4<br />PHP, Java, Rubyなら迷わずWorkerRole<br />極意5<br />クラウドはやっぱり疎結合<br />
  9. 9. セコロジー#1タダで使うためにすべきこと<br />MSDNサブスクリプション<br />BizSparkへの加入<br />初期特別<br />プラン<br />誰でも使えるお試しプラン<br />クレジットカードの登録は必要<br />やろうと思えばLive IDをたくさん用意して…<br />MSDN購読特典でAzureが実質1インスタンス使い放題(8ヶ月間)<br />会社でMSDN購読していて誰もAzure使っていなければ手を回してゲット<br />スタートアップ企業なら、マイクロソフトの支援プログラムに加入できる<br />加入するともれなくMSDNがついてくる。すなわちAzure利用権付き<br />MSDNがついてくる<br />25時間/月まで0 円<br />750時間/月まで0円<br />
  10. 10. セコロジー#2課金は1時間単位の盲点<br />Azure課金の細則<br />CPU使用率は関係なく占有したデプロイ時間で課金(GAEよりEC2に近い)<br />Runしてなくてもデプロイすれば(削除しない限り)課金発生。ステージングも同じレート<br />最小単位は1時間。各時の0分から59分のスロットで、1分でもデプロイすれば1時間分<br />
  11. 11. セコロジー#3面倒な管理はコマンドレットで自動化<br />http://code.msdn.microsoft.com/azurecmdlets<br />
  12. 12. アップグレード スクリプトの例<br />$cert = Get-Item cert:CurrentUserMyD6BE55AC439FEA8CBEBAFF432BDC0780F1BD00CF <br />$sub = &quot;CCCEA07B-1E9A-5133-8476-3818E2165063&quot; $servicename = &apos;myservice&apos; <br />$package = &quot;http://myaccount.blob.core.windows.net/publish/MyPackage.cspkg&quot; <br />$label = &apos;nolabel&apos; <br />$role = &apos;&apos; <br />if ($args.Length -eq 2) <br />{ <br />$role = $args[0] <br />$label = $args[1] <br />} <br />if ($args.Length -eq 1) <br />{ <br />$label = $args[0] <br />} <br />if ($role -ne &apos;&apos;) <br />{ <br />Get-HostedService $servicename -Certificate $cert -SubscriptionId $sub | <br />Get-Deployment -Slot Production | <br />Set-Deployment -mode Auto -roleName $role -package $package -label $label | <br />Get-OperationStatus -WaitToComplete<br />} <br />else <br />{ <br />Get-HostedService $servicename -Certificate $cert -SubscriptionId $sub | Get-Deployment -Slot Production | Set-Deployment -mode Auto -package $package -label $label | Get-OperationStatus -WaitToComplete<br />} <br />夜間にアプリのモジュールを自動アップグレードする際には便利<br />(データ転送料がかからない)夜間だけデプロイして処理が終わったら削除するような運用も可能ではある<br />
  13. 13. 極意1<br />AzureなWindows。当たり前の悟り<br />極意2<br />こんな時代だからこそ、<br />無駄なく賢く使うセコロジー<br />極意3<br />クセのあるストレージもこれで楽勝。<br />お助けツール使いこなし術<br />極意4<br />PHP, Java, Rubyなら迷わずWorkerRole<br />極意5<br />クラウドはやっぱり疎結合<br />
  14. 14. 便利ツール#1ストレージ管理<br />RESTアクセス<br />プログラムからはStorage Client 経由で<br />ツール経由でFTPやファイルサーバーのように<br />Harutama氏解説:http://d.hatena.ne.jp/haru-tama/20100115<br />
  15. 15. 便利ツール#2SQL Azure Manager<br />SQL Azureの利用<br />SSMSなどのSQL Server用ツールがあれば、接続文字列の変更でそのまま利用可能<br />↑がない場合、Click Onceで起動できる SQL Azure Manager が便利<br />SQL Azureはアプリから普通のリレーショナルデータストアとして利用することができる<br />http://hanssens.org/post/SQL-Azure-Manager.aspx<br />
  16. 16. 便利ツール#3 Computing<br />監視用アプリ<br />管理APIにUIをつけたものやコードから呼び出すものがある<br />いずれはSystemCenter<br />http://azureservicesmanager.codeplex.com/releases/view/35069<br />
  17. 17. 極意1<br />AzureなWindows。当たり前の悟り<br />極意2<br />こんな時代だからこそ、<br />無駄なく賢く使うセコロジー<br />極意3<br />クセのあるストレージもこれで楽勝。<br />お助けツール使いこなし術<br />極意4<br />PHP, Java, Rubyなら迷わずWorkerRole<br />極意5<br />クラウドはやっぱり疎結合<br />
  18. 18. WebRoleはIIS。WorkerRoleはそれ以外全部<br />80 でHTTP/HTTPS?<br />管理をアウトソースしたい?<br />Web Role<br />Web Role<br />IIS<br />WebRole<br />Port 80<br />Web Role<br />Web Role<br />Search<br />WorkerRole<br />LB<br />バックエンド処理での活用が基本形<br />Web Role<br />Web Role<br />SMTP Server<br />WorkerRole<br />Port 25<br />Storage<br />任意のTCPポートで通信可能<br />
  19. 19. PHP は IISの FastCGIで対応。VisualStudioにテンプレートまである<br />PHP対応<br />IISすなわちWebRoleで対応。Fast CGIの枠組みそのままでPHPもOK<br />PHP用SDKを使えば拡張性の高い Azure Storage にアクセスしやすくなる<br />SQL Server用PHPドライバでSQL Azure を使うこともできる<br />
  20. 20. アクセラレーターfor Tomcat とJava SDK / EclipseツールでJava開発<br />http://code.msdn.microsoft.com/winazuretomcat<br />
  21. 21. アクセラレーターfor X非MS系ミドルの方が動かしやすい罠<br />アドミン権限が不要<br />レジストリに依存しない<br />コマンドで起動できる<br />
  22. 22. Ruby on Rails にも対応<br />http://code.msdn.microsoft.com/railsonazure<br />
  23. 23. 極意1<br />AzureなWindows。当たり前の悟り<br />極意2<br />こんな時代だからこそ、<br />無駄なく賢く使うセコロジー<br />極意3<br />クセのあるストレージもこれで楽勝。<br />お助けツール使いこなし術<br />極意4<br />PHP, Java, Rubyなら迷わずWorkerRole<br />極意5<br />クラウドはやっぱり疎結合<br />
  24. 24. クラウドの真価は(金さえ払えば)無限のスケーラビリティ<br />“急速な成長“ <br />“On と Off “ <br />稼働不要な<br />時期<br />コンピューティング<br />コンピューティング<br />平均使用量<br />使用量<br />平均<br />時間<br />時間<br />“予測不能な使用増“ <br />“周期的な使用増“ <br />コンピューティング<br />コンピューティング<br />平均使用料<br />平均使用量<br />時間<br />時間<br />
  25. 25. Worker Roleを散らせばMap Reduce的な実装もできなくない<br />Data<br />Worker<br />Data<br />Data<br />Worker<br />Web Role<br />Client<br />Worker<br />Data<br />Client Application<br />Job/Task Scheduler<br />Remote Service<br />Req<br />Queue<br />Table<br />
  26. 26. 素数をMapReduce的に求めてみた<br />
  27. 27. 本日のまとめ<br />極意1<br />AzureなWindows。当たり前の悟り<br />極意2<br />こんな時代だからこそ、<br />無駄なく賢く使うセコロジー<br />極意3<br />クセのあるストレージもこれで楽勝。<br />お助けツール使いこなし術<br />極意4<br />PHP, Java, Rubyなら迷わずWorkerRole<br />極意5<br />クラウドはやっぱり疎結合<br />
  28. 28. アンケートにご協力ください<br />
  29. 29. ご清聴ありがとうございました<br />続きは TechDays 2010 で!<br />Let’s dream and then Let’s build<br />

×