本を読む

読書やコンピュータなどに関するメモ

Tech DaysでWindows Azureの話を聞いてきた

 マイクロソフトの技術者向けイベント「Microsoft Tech Days」に参加し、Windows Azureの話を聞いてきました。

 Windows Azureというのは、ざっくりいうと、Google App EngineとかAmazon EC2/S3のようなPaaSサービスです。Windows Liveの認証とかの機能をSaaSで使えるようです。現在、テクニカルプレビューで公開中。

 以下、キーノートと関連セッション1本の聴講メモ。

キーノート「マイクロソフトのクラウドコンピューティング戦略」

  • 大場氏
  • 今回のTech Daysは昨年末のPDCをベースに日本でアップデート
    • MSのクラウドへの動き
    • VB1.0でWindowsアプリを使ったときの衝撃の100倍
  • ITはクラウドに向かって流れていく
    • 1日にしてクラウドに変わるわけではない
    • 既存のテクノロジーとの共存
    • 過去からの継続性
  • クラウドは魅力的な選択肢だが万能ではない
    • 基幹系
    • SIの業務形態、スキル
    • 携帯などさまざまなデバイスへの対応
  • ソフトウェア+サービス
    • 既存のIT資産やスキル、ツールなどを活用
    • 両方でビジネス展開
    • .NETが主役
  • クラウドで作るだけではお客にリーチできない
    • 使いやすいソリューション
    • ブラウザだけでは差別化にならない
  • バックエンドのクラウドプラットフォーム
  • さまざまなデバイスでのユーザーエクスペリエンス
  • 次世代の統合開発環境
  • 従来のホスティング+アプリケーション
    • 制限がある
    • 拡張、俊敏性
  • クラウドへ
    • インフラとアプリの間に、開発者向けのビルディングブロックサービスをいろいろ提供していく
    • Windows Azure(OS)+ Azure Services Platform(ビルディングブロックサービス)
  • マイクロソフトは大規模データセンターのプロフェッショナル
    • 毎月数十億トランザクション
  • 大規模データセンター向けクラウドOS
    • フロントエンドとバックエンドを分離
      • Webロールとワーカーロール
    • キューを介した疎結合
  • 中原氏
    • Hello Worldアプリの開発のデモ
  • Visual Studio
    • Webロール
    • 従来のASP.NETとほぼ同じ
    • DBアクセスは若干ちがう
  • テスト環境
    • Development Storageが常駐
    • Development Fabric(ローカルのWebサーバー)
      • インスタンス数も可変
  • VSからAzureのポータルサービスを表示
    • デプロイ
      • Staging(開発環境)とProduction(公開環境)
      • VSで作った「パッケージ」をアップロード
      • サーバーのインスタンス数などを記述したファイル
  • http://アカウント名.cloudapp.net/
  • JTB北上氏
    • eコマース専門のi.JTB社を設立
    • JTB情報システム
      • 基幹システム
      • ホストコンピュータからの決別(~2009.3)
  • toripotoazure.cloudapp.net
    • 旅のアルバムをユーザーが作れる
    • Silverlight
    • 写真の編集や加工
    • データはAzureのSQL Data Servicesに
    • Live ID認証
    • 9月まで公開
  • 比較的簡単にAzureに展開できた
  • 大容量のデータをしっかり管理してほしい
  • 大場氏
    • 基幹系で使われるサービス
      • .NET Services
      • SQL Services
  • ユージニオ氏
    • ビルディングブロックサービスを紹介
      • ライブラリのようなもの
  • 相互運用性
    • Java、Ruby…
    • SDK
  • いままで持っている知識やスキルを活用
    • C#やVB、VSなどをそのまま使える
  • SQL Data Services(SDS)
    • データサービス層
    • SQL Server基盤
  • データモデルとAPI
    • Authority
      • 容器のようなもの
    • Container
      • Authotiryの中に複数
    • Enteity
      • データの実体
      • 固定のスキーマではない(emasaka感想:key-value?)
  • インターネットのプロトコルに準拠
  • .NET Services
    • SDSの兄弟
  • Access Control sevice
    • ホスティングされたSDS
    • セキュアトークンなどの認証アーキテクチャ
  • Service Bus
    • 汎用のアプリケーションバス
    • インターネット上のサビスバス
    • 異なったネットワーク、異なったプロトコル
  • Workflow Services
    • Workflow Foundationのホスティング
  • issue trackerを作る例
    • セキュリティポリシー
    • アクセスコントロール
    • トラスト関係のトランスレーター
      • 既存のADなど
    • フェデレーション
    • Access Control Service
  • デモ
    • Access Controlを構成
    • トランスレーションのルール
    • ADでユーザーをグループに追加してissue trackerにアクセスできるようになる例
  • Access Controlは複数のシナリオをサポート
    • アクティブ、パッシブ、フェデレーションなど
  • プロセスインテグレーション
    • issue trackerへの変更が会社のメインフレームに反映される例
    • Service Bus
    • 複雑なコミュニケーションのパターンをサポート
    • バーチャルなエンドポイント
    • issueが作成されたというイベントからメッセージ
    • ServiceBusからメインフレームに
  • 大場氏
    • LiveServices
      • Windows LiveのサービスをAzureのフレームワークの中で提供
      • B2B2Cなど
  • リチャーズ氏
    • LiveServicesとは
      • コンシューマアプリケーション
      • さまざまなデバイスに対応
  • 課題
    • さまざまなデバイスを接続
    • さまざまなデバイスで使えるアプリケーション
    • データの同期
    • データやサービスを共有し、ほしいときに使えるようにする
  • BBC
    • PC、携帯、Webをまたがったリッチなアプリケーション
  • サードパーティーにLiveインフラを開示
  • LiveMesh
    • データ同期のソリューション
  • パフォーマンス、可用性
  • ユーザーのプライバシー、データのセキュリティ
  • ローガン氏
    • BBのアプリ
    • PDC用デモ
    • BBC iPlayerをLive Serviceでより使いやすく
  • LiveMeshの機能も
    • 会社PC、携帯、自分のPC
    • コンタクトリスト上の友人と共有
  • BBCはコンテンツに集中
  • 動画コンテンツのシーンにレイティング
    • 友人にpushで送信
    • 自分の視聴履歴
    • 一時停止した続きをPDAで見る、なども
  • リチャーズ氏
    • マルチなデバイス
    • ソーシャルグラフ(コンタクトリスト)
    • アプリケーション可搬性
    • ユーザーが必要なときに、必要なデバイスで、必要なものを
  • LiveServiceが提供するもの
    • コミュニケーション
    • 地理サービス
    • デバイス情報
    • アプリケーション
  • Live Framework
    • 開発者がLiveにアクセスできるしくみ
    • さまざまなプログラム、さまざまな言語
  • クラウド、ローカルなどの柔軟性
  • いますぐできること
    • dev.live.comへアクセス
    • Measenger / Alerts / Virtual Earthなどは正式利用可能
  • 大場氏
    • 実績のあるテクノロジーがベース
  • 東証コンピュータシステムの事例
    • 莫大な取引ログ
    • クラウド上の大規模オンラインストレージ
    • 技術評価中
  • GrapeCityの事例
    • ASPで学校向け業務管理ソフト
    • 技術評価中
  • ロードマップ
    • 2008.11 CTP
    • 2009年中旬 CTPアップデート
    • 1~1年半後 商用展開したい
  • azure.com
    • 開発アカウント作成
    • SDKダウンロード

Windows Azureプログラミング(開田文雄)

  • クラウドOS
  • 管理の自動化
    • 動作がおかしければすぐリセット、というわけにはいかない
  • スケーラブル
  • 開発環境
  • Windows Azure
  • 自動管理
    • ファブリックコントローラ
    • ハードウェアのリソースを管理
    • ソフト側からは抽象化されている
      • 「インスタンスを増やす」といったリクエスト
  • コンピュータとストレージ
  • 仮想化 Hyper-V
    • デプロイは手動
    • インスタンスを追加
      • Hyper-Vのイメージベースで複製
    • Azure内部でやるので、利用側はHyper-Vを意識しない
  • ストレージ
    • サービスベースでストレージ機能を提供
  • VS2008、.NET Framework 3.0
  • .NET以外の環境からも呼べる
  • Azure Services Platform
    • .NET Services、SQL Services、LiveServices
    • 特にSQL Sevices重要
  • デモ
    • Hello Azure
    • VS
    • プロジェクト作成
      • Cloud Serviceのプロジェクト
    • HTMLでもできる
    • ここではSilverlight追加
    • Expression BlendでSliverlightアニメーション作成
  • いままでのアプリと違うところ:デプロイ
    • 発行ボタン
      • Azureサイトが表示
    • パッケージはZIPファイル
    • Deployボタンでデプロイ
  • CTP
    • Vista(IIS7が必要なためXP不可)
    • Azure.com登録
      • いますごいリクエストがあり時間がかかっている
    • クラウドが必要なければデバッグ環境で実行
  • シンプルなプログラミングで拡張性
  • スケーラビリティはAzureで担保
  • 開発者はサービスに注力
  • Webロール
    • インターネットからのリクエストを受けて処理
  • Workerロール
    • Startメソッド内で無限ループ
    • インターネットからのリクエストを受けない(エンドポイントを持たない)
    • キューでのリクエスト
    • インターネット経由でキューを投げることもできる
  • 両者のバックエンドにストレージサービス
  • インスタンス1つにVM1つ
  • ストレージ
    • データ領域ではなくサービスを提供
    • フォルトトレランスや不可分散はストレージ側で考える
  • ブロブ
    • 単純な構造
    • ファイルシステムのファイルのようなもの
    • 最大50GB
  • テーブル
    • リレーショナルのない構造化ストレージ
  • キュー
    • 最大8KB
    • 送信受信
  • 従来のWebとなにが違うか
  • ストレージアクセスがいちばん違う
    • RESTのインターフェイス
    • 多くのアプリケーションが修正が必要
  • Cloud Serviceプロジェクト
    • XML
      • Service Definition
        • ロールの種類
        • エンドポイント
      • Service Configuration
        • あとで変えられるような情報
        • インスタンス数
  • デバッグ
    • シミュレーター環境
      • デベロップメントファブリック
      • 各インスタンスのコンソールが見える
    • デベロップメントストレージ
      • ブロブは最大2GB
  • デバッグ環境から本番環境にデプロイするときに、ストレージの参照情報を変更する必要がある
  • デプロイされると、Allocated状態
  • Runボタンで実行される
  • 既存のWebアプリケーションのプロジェクトを使えるか
    • マッピングができない
    • Role Typeなど
    • プロジェクトファイルを手動で追加という裏技
  • 本番環境のログ
    • Configureボタンから参照
    • 出力先はストレージサービス上
    • 中身を見るツールはないので、ふつうにブロブとして
  • ローカルストレージ
    • インスタンスごとのストレージ
    • キャッシュ目的
  • セキュリティ
    • 認証はアクセスコントロールサービスで
      • Live IDやOpen IDなど
  • コードアクセスセキュリティ
    • ASP.netのMedium相当
      • 一部異なる
        • アンマネージコード呼び出し不可
        • 外部Web接続可
  • ストレージプログラミング  
    • サービスなので認証が必要
      • アカウント名
        • Azure登録時に取得
      • 256bitシークレットキー
        • RESTのヘッダーに入れる
        • すべてのリクエスト
    • パブリックアクセスに設定するとヘッダー情報不要
  • ブロブの構造
    • アカウント
    • の中に複数のコンテナ
    • の中に複数のブロブ
    • の中に複数のブロック
  • ブロブアクセスのデモ
    • 認証のヘルパークラスがSDKに入っている
    • テーブルでADO.NET Data Servicesを利用
  • ストレージのプロジェクトを参照
    • データバインド
    • StorageAccountInfo
    • ストレージを取得
    • ストレージからコンテナを取得
    • ストレージのアカウント情報をService Definitionに記述
      • デバッグ環境では共通
    • テストデータの登録
      • PowerShell用のライブラリがSDKで用意されている
      • copy-cd
    • データにメタデータを設定できる
      • 8KBまで
      • プロパティ内
    • CreateBlob
  • キュー
    • queue.CreateQueu()
    • queue.PutMessage()
    • queue.GetMessage()
    • queue.DeleteMessage()
    • GetMessageするとメッセージはinvisibleの状態になる
    • GetMessage()の引き数でinvisibleのタイムアウト時間を指定できる
  • ログ
    • ブロブ
    • PowerShellでアクセスできる
      • ローカルにコピーなど
  • セッション、メンバーシップ
    • インプロセス、SQL Serverは使用不可
      • インスタンスが分かれるので
  • AspProviders
    • Azureストレージを使用
  • 今後
    • ネイティブコード対応、動的スケーリング(今年予定)
    • Windows Server VMのサポート(それ以降の計画)

コメント

コメントの投稿

管理者にだけ表示を許可する

トラックバック

http://emasaka.blog65.fc2.com/tb.php/542-04eaec50

 | HOME | 

Categories

Recent Entries

Recent Comments

Recent Trackbacks

Appendix

emasaka

emasaka

フリーター。
連絡先はこのへん

Monthly


FC2Ad