今日のつぶやき

Twilog

[Twitter]今日のつぶやき ff.im/bAUcn #

そろそろいくかなー #

#pdc09 Key Note会場入り。左の前の方。 #

#pdc09 火、水、木に参加するセッションを確認してみた。ほとんどAzureで埋まる予定。1つだけUML/DSLのセッションに参加かもしれない。 #

#pdc09 Ray Ozzie - Chief software architect #

#pdc09 キーノート始まった。 #

#pdc09 pda, pc, game - 同じ開発戦略で開発できる。 #

#pdc09 visual studio/ expression studio #

#pdc09 Loic Lemeur #

#pdc09 Codename "dallas" #

#pdc09 Dave Campbell #

#pdc09 データソースを統合する? #

#pdc09 data feed #

#pdc09 フィードされたデータをexcelに取り込むデモ。 #

#pdc09 Windows 7 #

#pdc09 Windows Azure, SQL Azure #

#pdc09 Microsoft Pinpoint, Codename "Dallas" #

#pdc09 azure(クラウド)で3つのスクリーン(smartphone, pc, game)をつなぐ。クラウド上のパブリックデータを集めてくる。ここまではこんな感じ? #

#pdc09 bing #

#pdc09 fifth generation of computing - mainframe, clientservfer, web, soa, cloud #

#pdc09 cloud application model - scale-out, alwasy avialble, staged production, model driven, self-sevicce muti-tenant, failure resilient #

dc09 federated elastic, service-orietned, #

#pdc09 bing autopilot。bingは検索エンジンじゃないのか? #

#pdc09 move, enhance, transform - application evolution #

#pdc09 キーノートでソースコードが出てくるのがすごいなぁ。 #

#pdc09 ライブでSQL書いてる。 #

#pdc09 今度はjavascriptajax #

#pdc09 2つの製品ラインが並存する商品構成みたい。 #

#pdc09 Windowsサーバ系とWindows Azure#

#pdc09 SQL Azure Data Sync #

#pdc09 azure(クラウド)とenterpriseを結ぶ。 - data service, serivce bus, acess control service windows azure #

#pdc09 on-primse(enterprise)とcloudのつなぎ方も重要な論点。 #

#pdc09 windows azure connectivity agent #

#pdc09 windows azure virtual machine role -- helps easily move existing apps to cloud #

#pdc09 Appabric - caching, workflow hosting, monitoring, service bus, service hosting, access control #

#pdc09 high availability, sacle-out, muti-tenant, *** #

#pdc09 Windowsサーバの製品ラインを前提としてクラウドを包含するとすると、大体このような製品ラインになりそう。アプリケーションは共通、監視機構(Microsoft Center?)も共通、サーバはWindowsサーバとAzureの2系統。、 #

#pdc09 Googleはサーバ製品を持っていないので、クラウドWebブラウザ(UIコンテナ)のアーキテクチャを取れる。On-primseのサーバ製品の有無が有利なのか不利なのか。棲み分けることになるのか。 #

#pdc09 AppFabricがキーワードみたい。要確認。 #

#pdc09 『Lap Around the Windows Azure Platform』開始。 #

#pdc09 このセッションは昨日の話とかぶるかなー #

#pdc09 The Windows Azure Platform -- Windows azure, sql azure, windows azure platform AppFabric. #

#pdc09 -Developer tools - Microsoft codename "Dallas" #

#pdc09 windows azure - compute, management, storage #

#pdc09 #

#pdc09 AppFabric - Service Bus - Access Control #

#pdc09 - secure connections between services - claim-based *** #

#pdc09 "Dallas" Information Services - content brokerage and discovery platform - available as a CTP at commercial launch. #

#pdc09 昨日のデモticket directが出てきた。 #

#pdc09 クラウドの中で新しい応用を追求するというより、企業アプリケーションをクラウドにつなげるという立ち位置と考えるとよさそう。 #

#pdc09 そういえばOsloの話はなかったかな。Model Drivenというキーワードは出てきたけど、モデリングの技術は出てこなかった。 #

#pdc09 javaphpはopen web APIsでつなぐ。 #

#pdc09 tuesday 3:00 hal f - building java applications with windows azure #

#pdc09 service healing #

#pdc09 in-place rolling upgrads #

#pdc09 Blobs, Tables, Queue #

#pdc09 (New)Drives
- Use standard file system APIs #

#pdc09 Coming soon

  • administrator priviledges, deployment
  • pre-configured vm images #

    #pdc09 user-selectable geo-locations for replicas

secondary indices on tables
remote terminal server access to VMs #

#pdc09 SQL azure

  • relational database, provided as a service #

    #pdc09 - beyond "hosted database" - high availability, DB provisioning, DB management are provided by the service

  • pay for what you use #

    #pdc09 data sync, service bus, access control #

    #pdc09 Service Busと"Dallas"を併せて使うと、パブリックなデータを集約して、バスで結合したサービスで多段処理がてきるのかな。 #

    #pdc09 "Dallas"

  • Content brokerage and discovery platform.
  • Built on Windows Azure and SQL Azure #

    #pdc09 4:30 hall E "Dallas" #

    #pdc09 ずいぶんまいてる。時間が足りなかった。 #

    #pdc09 テラスでランチ中。電源がある! #

    #pdc09 ボクの認識ではPDC09の新機能はDriverの追加(Table, Queue, Blobに加えて)、Tableのsecond index、そしてAppFabricというところかな。 #

    #pdc09 "Dallas"でクラウドから集めてきた大量データをWindows Azureで処理して集約。Data Syncを使ってOn PremiseのSQL Serverと同期。On PremiseのWindows Serverで基幹業務のデータとして使用する。 #

    #pdc09 というユースケースか。AzureのTableとSQL Serverは同期処理できるのかな。SQL Azure/SQL Server間のみというしばりがあったりして。同期中の排他処理を考えるとあるかも。 #

    #pdc09 次はHall EのSQL Azureに出る予定。 #

    #pdc09 当面は既存の業務をクラウドに乗せかえるというニーズはなさそうなので、SaaSをas-isで使うか(古いアプリは捨てる)か、PaaSならWeb/ConsumerやDWHといったアプリが候補。 #

    #pdc09 Webで完結するアプリの場合、Windows Azureの強みは生きない。Web系の開発者には.NETの技術を一通り修得するコストがかかる。逆に、Windows開発者ならWebで完結するアプリはWindows Azureを使わない手はない。 #

    #pdc09 サーバ側の開発者の場合Windows系なら、Azureを使うのが当然の選択。Windows系以外の開発者にとってのメリットを整理したい。 #

    #pdc09 『Widows Azure presents and future』開始。 #

    #pdc09 business portal - developer portal - service management service - storage cluster - computec luster

Windows Azureの構成 #

#pdc09 service management serviceとstorage clusterからRESTが出ている。 #

#pdc09 Cloud VM

  • User code
  • Runtime API #

    #pdc09 2-role service architecutres; queue-based communication; partial trust ASP.NET/.NET #

    #pdc09 今までの機能の話をしている。

Storage service - blobs;tables; queues #

#pdc09 Microsoft Global Datacenters
VM Image deployment; network programming; vm allocation
Service model processing; service health model #

#pdc09 Windwos Azureのレイヤを下から説明中 #

#pdc09 Replicated data store, Load balanced partitions
ここまでがcloud infrastructure, built bottom up #

#pdc09 ここからdeveloper platform, designed top down
Developer Tools
Programming Model, Service Management, Storage Abstractions: Blobs, Tables #

#pdc09 CTP - A credible introduction to the cloud.
Launch - ready for business-critical applications. #

#pdc09 Future - Broader ISV & Enterprise scenarios #

#pdc09 programming model, storage, service management, business
four bullet #

#pdc09 programming model principles: familiar programming envronment, best practices for the cloud. #

#pdc09 service consists of

  • an isolation boundary
  • a set of component role, each with endpoints #

    #pdc09

  • numbered, identical instances of each roles #

    #pdc09 a role instance is a set of code, configuration, and local data, deployed in a dedicated VM. #

    #pdc09 Web role: The role is hosted on IIS. #

    #pdc09 worker role: *** #

    #pdc09 a service is reachable externally via a single VIP for load-balanced traffic to multiple endpoints #

    #pdc09 endpoints are reachable internally over TCP, HTTP

(New) Runtime API exposes & updates IP/Port values #

#pdc09 Roleという用語はactorとかactivityというような意味に取るとよさそう。 #

#pdc09 role instanceの作成をcallbackで受け取ることができる。 #

#pdc09 (new) secure certificate store in the cloud
<- familiar programming environment #

#pdc09 (New) logging and diagnostics system
<- best practices for the cloud #

#pdc09 administratior privileges on cloud vms
user-driven construction and configuration, and platform deployment, of VM images #

#pdc09

  • remote terminal *** #

    #pdc09 blobs

  • small to very large files, random read, chunked
  • (new)random writes #

    #pdc09 tables

  • partitioned, dynamic schema, entity sets
  • batch transacations within a partition #

    #pdc09 queues

(new)drivers #

#pdc09 geo-replication

  • user-selectable geo-loations for replicas

tables

  • secondary indices #

    #pdc09 「service management」 #

    #pdc09 (New)service management api #

    #pdc09 Service upgrade model

  • (new) in-place rolling upgrade
  • ral-time hot swap
  • planned downtime #

    #pdc09 update domainごとに順にupgradeしていく。in-place rolling upgarde. #

    #pdc09 read-time hot swapは複雑なアーキテクチャの変更を可能にする。 #

    #pdc09 billing, sla, support, microsoft pinpint marketplace, ***

<- business #

#pdc09 コカコーラの例:Windows Azure - XML gateway - Enterprise Service Bus - 基幹システム #

#pdc09 『Developing Java Applications with Windows Azure』開始 #

#pdc09 参加者はかなり少ない #

#pdc09 scalable computation in the cloud, durable cloud strage, write code, test, debug locally, #

#pdc09 automated management in the coloud, utility busines model
<- このスピーカーのAzureのまとめ #

#pdc09 これから作るもの:LB->Tomcat<-->JRE + Storage #

#pdc09 hellojava.clloudapp.net #

#pdc09 正: hellojava.cloudapp.net #

#pdc09 worker roles with endpoints (listen on port 80)
Initialization (copy and launch Tomcat) #

#pdc09 おぉ windowsazure4j.org #

#pdc09 java storage libraryを使うとjavaからazureのstorageを触れるようだ。 #

#pdc09 Azure StorageのRESTインタフェースを使うのかな。 #

#pdc09 org.soyatec.windows.azure.blob.* #

#pdc09 *.batでtomcatを起動する(設定で自動的に) #

#pdc09 Eclipseで開発している。 #

#pdc09 Eclipseの中だから*.batで起動している、は間違いですね。 #

#pdc09 Windows AzureっていうメニューがEclipseに出来てた。専用pluginがあるのかな。 #

#pdc09 「Running Tomcat in Windows Azure

  • use the solution accelerator; it's easier
  • built by our partner infosys #

    #pdc09 to do it yourself

copy tomcat to local storage
configure correct listening port
start tomcat service
monitor and report heald #

#pdc09 using th etomcat solution accelerator
1. download accelerator, Tomcat, and JRE #

#pdc09 2. buildme.cmd - copy bits and build
3. runme.cmd - run locally
4. packme.cmd - package for the cloud #

#pdc09 buildmeコマンドでtomcatのツリーを全部どこかにコピーした。 #

#pdc09 次はJRE binariesのディレクトリをコピー。 #

#pdc09 runmeコマンドで自動。  #

#pdc09 最後にcsrunコマンドで問題のプログラムを動かす。
packme
runme
のコマンドを起動する。 #

#pdc09 optimistic concurrency, asynchronous so you can "catch up"が必要。
<- 排他制御 #

#pdc09 asyncronous web/worker architecture

  • loosely-coupled system with queues
  • benefit: scalability, availability, fault tolerance #

    #pdc09 worker role programming model

  • basically dll with main()
  • In.NET
    • OnStart(), Run(), OnStop() #

      #pdc09 expected to run forever <- 帰ってこないことを想定 #

      #pdc09 sleep(1000)で無限している。 #

      #pdc09 Java Worker Role

JRE - Worker.class
.NET -> Worker.dll
.NETがJREをキックする構造。 #

#pdc09
var p = new Process()
StartInfo = new ProcessStartInfo(approot + @"\jre\bin\java.exe" ... #

#pdc09 a better jva worker

  • reading configuration settings
  • discovering endpoints
#

#pdc09 パッケージをBlob storageに置いている。 #

#pdc09 なんだかすごいこといってたけど時間がないのですごいまいている。 #

#pdc09 twitter.com/smarx スピーカー #

AzureのstorageはRESTで操作できる。生でRESTさわってもよいし、Java用のAPIクラスライブラリが www.windowsazure4j.org/ でも用意しているのでそれを使っても良いはず。 #pdc09 #

#pdc09 RESTベースなので工夫次第でAzure→AppEngine、AppEngine→Azureの連携も簡単にできそう。RESTで連携するクラウド的なアーキテクチャがこれからの主流。 #

#pdc09 AzureやAppEngineなどのプラットフォームをまたがるアーキテクチャの問題点はセキュリティ、リソース割り当ての最適化、管理の一元化といったところ。 #

#pdc09 セキュリティ、リソース割り当ての最適化、管理の一元化、課金といった観点で目的に合致したプラットフォームを主に使い、他のプラットフォーム特有の部品を従にする形がよい。プラットフォーム間の競争も激しくなる。 #

これはすごい。『Song of Cloud: 送金のトランザクション処理パターン』atomicにしたい処理からidempotencyな処理をfactor outするのがポイントになる。 ff.im/bDJp0 #

データベースのジャーナルのようなことをアプリケーション側で行うという切り口で理解するとよいのかな。 re: ff.im/bDJp0 #

atomicを担保するために使っているAppEngineの機能は、 (1)EntityGroup:レコードとジャーナル・ログのatomic性の確保、 (2)1レコード更新のトランザクション:ユニーク制約を実現するため、... re: ff.im/bDJp0 #

ユニーク制約はトランザクションとKeyで確保する。 トランザクション境界をまたがる処理は冪等性(idempotent)を確保する。 dirty readは避けることができない。 は #appengine... re: ff.im/bDJp0 #

KVSや分散KVSという用語を使う時は気をつけないと。『Bigtableと分散KVS - スティルハウスの書庫』 ff.im/bDNtp #

冪等性を切り出してTaskQueueでリトライ、は利用価値の高い、というか #appegine で必須のパターン。 re: ff.im/bDJp0 #

冪等性(idempotency)をビルディング・ブロックにするのが分散脳、クラウド脳。 @myen #

actor-event-resouceによる抽象モデルではeventでトランザクショナルな処理を記述する。eventを #appengine で実現するためには、ジャーナル用のエンティティをeventとresource双方で用意する。 #simplemodeler @myen #

Automatically shipped by LoudTwitter