現場開発者視点で答える Windows Azure 業務アプリ開発の実際 シグマコンサルティング株式会社 橋本 圭一.

Slides:



Advertisements
Similar presentations
WINDOWS AZURE上での ACTIVE DIRECTORY構築入門 Windows Azure ハンズオン トレーニング.
Advertisements

マイクロソフトがホスティングする拡張性に優れたサービス ベース アプリケーション プラットフォーム.
1 アップデート 株式会社アプライド・マーケティング 大越 章司
Oracle Application Express アーキテクチャ. © 2009 Oracle Corporation アーキテクチャ概要 データベース 9iR2 、 10g 、 11g 、 XE 内に統合 メタデータ駆動型 APEX リスナー、組込みゲートウェイ、または ModPLSQL を使用.
Windows Azure ハンズオン トレーニング Windows Azure Web サイト入門.
こさっきー クラウドの一般的なご紹 介. 目次 1. クラウドとは? 2. なぜクラウドって生まれたの? 3. クラウドってナニが新しいの? 4. クラウドのメリット・デメリット 「クラウド、クラウドって、 “ 雲をつかむような ” 話 だねー」 「昔からあったでしょう?そんな話」
IT ソリューション塾 講義資料 © , all rights reserved by NetCommerce & applied marketing アップデート.
テスト環境の見直しで貴社の開発が劇的に変わる!! 納期や品質の向上の決め手は、テスト環境の最適化にあります。
Curlの特徴.
インターネット ショップを開設するための要件
ネットアイキュー/ノベル パートナーカンファレンス2016
クラウドコンピューティング メディアコミュニケーション論Ⅲ 第12回.
SoftLayer専用線サービス SoftLayerデータセンター
.NET テクノロジー を利用した SAP ソリューションの拡張 (3階層化) (評価環境構築ガイド)
Docker.
Ad / Press Release Plan (Draft)
クラウドコンピューティング(1) オペレーティングシステム 第12回.
クラウド上での リアルタイム・非同期・双方向通信アプリケーション開発基礎
Windows Azure 仮想マシン 入門.
データセンター間デプロイ(海外展開) 数クリックで、サーバーの海外展開 仮想サーバーの海外展開イメージ 約20分
Microsoft® UC&C向けデル導入計画
電子社会設計論 第11回 Electronic social design theory
Microsoft Office Project 2007
SoftLayerへのお引越し方法 お客様環境(或いは他社クラウド)からSoftLayerへの移行は簡単です。
複数のコンピュータ(ノード)を一群にまとめて、信頼性や処理性能の向上を実現するシステム
PaaSの起源とxaaSの今後.
ISV 向け Windows Azure による SaaS アプリケーション開発
“所有”から“利用”へ 情報社会とコンピュータ 第12回.
Live Framework 入門 その2 JZ5(松江) 2009/8/22.
視聴回数や端末毎の視聴状況など優れたログ分析機能
シネックスインフォテック Microsoft Azure 相談センター
カンファレンス、学会資料教育、研修等での活用
.NET テクノロジー を利用した SAP ソリューションの拡張 (3階層化) (評価環境構築ガイド)
iStorage NSシリーズ ウィルスチェック運用の手引き
1 2 ワークスタイルを変えるOffice変革 クラウド導入をサポートする Microsoft CSPプログラムのご案内
マイクロソフト株式会社 SAP/Microsoft コンピテンスセンター
Accessでできる 「サーバー・データベースシステム構築」のご紹介
11/9/2018 3:35 AM Windows Azure Platform ハンズオン トレーニング Windows Azure アプリケーション開発概要 ~ Windows Azure 入門編 ~ © 2007 Microsoft Corporation. All rights reserved.
SaaS アプリとの SSO を使った業務イメージの共有
DataSpider Cloud Colt閉域網接続サービス
建設・建築現場のデータもクラウドへ自動バックアップ!
Node.js や MongoDB の Azure 利用
2017年度 情報技術マップ調査 ITディレクトリの構成とSI要素技術
Riakデータベース on SoftLayer
製品情報 Windows Server 2003のサポート終了をむかえ、ファイルサーバーの入れ替えを検討されていらっしゃる方も多いのではないでしょうか?既存のファイルサーバーをいきなりクラウド化するとインターネット回線の影響で、エクセルやワードのようなサイズの小さなファイルでさえ、開くまでに時間がかかってしまうことがあります。
Windows Azure (CTP) 触ってみた
マイクロソフト様のCSP(Cloud Solution Provider) これから主流のプログラムになります!! リセラー様大絶賛募集中
仕事: SystemVerilogを使いたい
$ DaaSの切り札! マネージドサービスと クラウドを使った先進のVDI 今だけ
すぐできるBOOK -基本設定編-.
OSSAJ 事務局 株式会社ウィズ.アール 古木 良子
SaaS/PaaSの起源とこれから 株式会社アプライド・マーケティング 大越 章司
Windows Azure (CTP) 触ってみた
サーバーレスとPaaS 株式会社アプライド・マーケティング 大越 章司
W3CがHTML5を勧告として公開 ( ).
データベース設計 第7回 実用データベースの運用例 クライアント=サーバシステム(1)
Ajilius は、オープン ソースの手頃な価格と エンタープライズ レベルの機能との間にスイート スポットを発見
ネットワークをシンプルにする エンタープライズ NFV
IaaS 基盤に必要な vNET を 準備します。 VPN を構成し、 オンプレミスと接続します。
PaaSの起源.
各種プログラム、検索サーバー、鍵サーバーのご利用 クライアントサイド暗号などセキュリティの評価
Azure 上での 大規模 CAE ベンチマークをご支援します
ご要望をお聞きし、最適な検証環境をご提案します お客様のデータを使いながら検証環境を構築します
Db2 Warehouse on Cloud Db2 on Cloud フルマネージドサービス提案時の注意点
PaaSの起源 株式会社アプライド・マーケティング 大越 章司
Windows Azureの 料金体系 日本マイクロソフト株式会社.
Microsoft Office Project Server 2007
SD-WAN-インターネットブレイクアウト-
災害対策や計画停止でも止まらないサーバーを可能にします。
外出先でも、セキュリティを保ったまま接続可能
Presentation transcript:

現場開発者視点で答える Windows Azure 業務アプリ開発の実際 シグマコンサルティング株式会社 橋本 圭一

はじめに ■本資料の注意 ・クラウドコンピューティングのとらえ方、その比較、 評価は、非常にプレゼンターの主観に基づきます。 ・Azureの説明の中には、未リリースの製品が含まれて います。よって現時点の情報でしかない点も含まれて いることをご容赦ください。 ・一部、Microsoft社の資料を転記しておりますので、 その点ご了承ください。(各資料に転記と記載)

はじめまして ■経歴 ・外国語学部(ロシア語・国際政治) ⇒ SIer ・SIerで5年間、製薬業や食品業のお客様のSIを担当 ・2006年に起業、現在5期目 ・中小のお客様向けにCIO+システム部門のアウトソース ・AzureとSilverlightを楽しむ ・おばかアプリに夢中 ■信条:楽しく、人に喜ばれる ■リタイア後の野望:自分のビールブランドを持つ。

クラウドコンピューティングとは? インターネット経由でコンピューターリソースを利用 利用した分だけ課金される 大規模データセンター(仮想化されたサーバー) ⇒ITの所有から利用へ コスト削減・期間短縮 Cloud Service

クラウドコンピューティングのレイヤー レイヤー説明例 SaaS インターネット経由でソフトウエアをサー ビスとして提供。 ( ユーザーは、ハードウェ アを持たず、利用課金 ) 古くは ASP と呼ばれ る。 GoogleApps Microsoft Online Services Salesforce CRM PaaS 開発プラットフォーム自体をサービスとし て提供。開発者は、プラットフォーム上で 構築したサービスを自分の顧客に提供する ことができる。 Force.com Google App Engine Windows Azure Heroku IaaS インターネット経由でインフラ(仮想サー バー、ディスク)をサービスとして提供。 開発者は、 OS の選択から構築可能。 AmazonEC2 / S3

なんでクラウドをやるの? ■業界動向 SI縮小=作るから利用するへのシフト インターネット以降の投資がひと段落 (WEB化ひと段落)では次は? OSの進化は停滞気味 リアルタイムWEBの台頭(Twitter,4sq) よりスピーディな開発が求められている ■稼ぎ方が今後変わる 保守が重要性を占める=クラウドで預かれる 顧客との共生へ(ひがやすおさんも言っている)

クラウドで何をしよう? ■何をしよう? 人が欲しがるものを作りなさい(VC格言) ■キーポイント モバイルデバイス対応がカギ(携帯端末がインター ネットトラフィックを増大させている) →業務システムもマルチデバイス対応が増える見込み 新規事業向き(失敗即撤退) やはりベンチャー向き

クラウドの皮肉 ■色々と出る問題 結局すべてはクラウドに乗らない。 法律等の問題で社外に出せないデータも多い 仮想化=クラウド? バズワードの迷走 環境を与えてもらっても稼ぎ方がわからない お隣が騒がしいと、迷惑を受ける(NW遅延) 明日も同じレスポンスとは限らない 質が高いとは言えないSLA 即儲からず、投資から。規模の戦いが必要。

クラウドのメリットについておさらい ハードウェアやOSの購買、インフラ構築費用が不要 費用として支払うため、資産計上しなくて済む 初期投資 すぐにアプリの開発、利用が可能になる 新規事業などの変化の早いニーズに対応 スピード システム管理業務をアウトソース、パッチ適用も自動化 遠隔地での冗長化で事業継続性を確保 運用 従量制課金であるため、不要時に即 停止可能 需要が測りきれない新サービスに有効 短期利用 サーバーを後で増強できる。 需要に応じて、リソースを増減できる。 スケーラビリティ

クラウドのデメリットについておさらい 99.95% というところが多い。=年間4時間STOP 基幹業務では、不安を残す。 (が、業種による。例:9-19 が業務時間など) サービス保証 サーバーが距離的に遠いと、速度が遅くなる ※USにある場合などは、もっさりした表示速度になる。 速度の問題 高める方法はあるが、重要データ漏えいのリスクはある。 法律で国外に置けないデータもある。 セキュリティ OS自体の管理権限がないため、できないこともある。 インフラの自由度 サービス提供側としても顧客としても事例が不足 導入は急いでいなければ後からでも 経験値不足

クラウド化の検討ポイント例 自社開発 すべき SaaS 利用可能 PaaSを 活用した 自社開発 SaaS 利用可能 コア業務 ※他社との差別化が できる収益の基 非コア業務 ミッション クリティカル ※停止不可 非ミッション クリティカル ※停止可能 2009年度において代表的なクラウドのプレーヤーと製品を分類しています。 ポジショニングについては、業務システムという軸で見ているのと、プレゼンターの主観によります。

代表的なプレーヤーを独断で比較 事業者 サービス名 Amazon EC2 Google App Engine Microsoft Windows Azure Salesforce Force.com 開発ツール開発技術 開発言語に依存 テキスト・エディタ Eclipse VS2008 VS2010 ブラウザ Eclipse 開発言語利用するOSに依存Python、JAVA.NET利用可言語 PHP、JAVA、Ruby Apex データベースSimpleDB MySQL、Oracle、 SQL Server 2005 BigTableSQL Azure Storage Service Force.com Database 開発容易性 ABBC 既存資産活用 ACAC 運用の手間 CAAA オンプレミス連携 BCB+B 導入容易性 ACBA 事例 ABCA 適した用途ゲームアプリ 業務アプリ など何でも Appsと連携するような グループウェア? スケールアウトが必要な 簡易WEBサービス エンタープライズ アプリケーション向き? 汎用的な業務アプリ

Windows Azureって何? ■プレゼンターの結論から申し上げると エンタープライズ用途実現に非常に適したPaaS エンタープライズ向けSaaSにも適している 最も機能拡張が見込まれるPaaS 仕様を見ていると後発の強みあり これまでで、最も簡単に売れないWindows

オンプレミス Windows Azure全体像 ストレージコンピューティング … Service Bus Service Bus Access Control Access Control SQL Server Reporti ng BI Data Sync Data Sync LB 一部Microsoft社の資料抜粋

Hosted Service のポイント ・WebRole = WEBアプリ IIS7(ASP.NET, FastCGI) ・WorkerRole = 非同期処理(QUEUE経由) バッチ,その他何でも用途 JAVA-Tomcatも動作 ・VMロール=AmazonのAMIのようにOSを自分で自由に 変更できる(提供予定) Webロール Worker ロール VM ロール(予定) LB Inter net

使ってみよう。簡易なWEBサービスを移行。 Windows Azure上にWEBアプリを移行。 WEBサービスを利用したアプリ(EDI) 手順は3つ。 ①CloudServiceプロジェクトの追加 ②既存WEBアプリに参照設定の追加 ③パッケージを作成。

待っている間に開発ポータルツアー シンプルなインターフェースで使いやすい。

Storage Service テーブル =Key-Value型のデータストア(実データ) BLOB =バイナリ格納、ファイルストレージ(CDN対応) キュー =メッセージ通信 ドライブ =ファイルI/Oでアクセス可能なNTFSフォルダ ストレージ 画像=Microsoft社の資料抜粋

テーブル詳細 エンティティテーブルアカウント users movies Microsoft社の資料抜粋

使ってみよう。StorageServiceに接続。 ■使ってみよう ・選択した画像データのURLをTableに格納する。 ・その内容をTweetする。 ・選択肢にはおまけあり。

SQL Azure SQLServer2008とほぼ 同等。 制約条件(容量1G,10G、管理機能使えない、 CLR、ユーザー定義型不可) DBのみの利用も可能。 今後リリースされる機能に期待大(Report,BI,Sync) 画像=Microsoft社の資料抜粋

SQL Azureのアーキテクチャ ゲートウェイマスターDB課金・認証 フロント ノード群 数百台のサーバーでファブリックを構成 サーバーをまたがったレプリケーションDBを作成して同期 SQL Server インスタンス … クラウド データセンター内 ファブリック サーバー1サーバー2サーバー3 サーバーをまたがったレプリケーションDBを作成して同期 Microsoft社の資料抜粋

使ってみよう。SQL Azureに接続。 ■使ってみよう ・SQL AzureにSSMS2008 R2から接続。 ・SQL Azureに接続して、ストアドをバッチ実行。 ・SQL Azureへのデータ移行イメージ ■ただし ・この移行スクリプトとイニシャルデータの作成、テス トは結構地道な作業になる。(自動生成は可 能)

手早く、賢い使い方1 SQL Azureのみ利用。クライアントアプリから接 続。(SQL Serverライセンス費用の超削減) Code Far型 ユーザー WindowsForm, WPF からアクセ ス WindowsForm, WPF からアクセ ス

手早く、賢い使い方2 特別なミドルウェアを必要としない WEBアプリとSQL Azure 同じデータセンターならSQL Azure転送量無料 Code Near型 ユーザー WEB ブラウザ からアクセス WEB ブラウザ からアクセス

運用管理 ■運用管理について 開発ポータルで行う作業は、ほぼ全てバッチから 可能(管理用APIをたたくツールあり) SQL Azureへのバッチ実行 ■管理用API利用ツール Cmdlet Windows Azure Service Management API Tool

管理用APIを叩いてみよう Cmdlet からサービスの停止、起動してみます

ログはどうなっているの? ■大事なこと ・Azure上ではログの管理方法が異なる。書き込めない。(補足:Driveを 試していない) ・診断ログのAPIがあって下記の情報を閲覧できる。 ◇テーブルに格納可能なログ a)Windows Azureトレース・ログ(出力レベルや内容は独自に記述) b)Windows診断インフラストラクチャ・ログ c)Windowsイベント・ログ d)パフォーマンス・カウンタ ◇ブロブに格納可能なログ e)IIS 7.0ログ f)IIS 7.0失敗した要求のトレース・ログ g)Windows Azureクラッシュ・ダンプ

なんで私はAzureなのか? ソースやデータの社内既存資産を活用したい。 運用は任せたい。パッチ当てなぞ、したくない。 SaaSを作りたい。適したプラットフォームを選びた い。 オンプレミスを考えた時に、最も連携がよさげ。

おいくら?(Techdays 2010資料抜粋) 日本円一月換算 Windows Azure コンピューティング時間 (hour) S\11.76 \8,640 M\23.52 \17,280 L\47.04 \33,840 XL\94.08 \67,680 ストレージ (GB/month) \14.70 \147 ストレージ トランザクション ( 回数 ) \0.98 /10,000 \98 Azure AppFabric アクセス コントロール (transaction) \ /100,000 ? サービス バス 従量課金モデル (1 connection) \ ? パックモデル (5 connection) \975.1 ? SQL Azure Web Edition (1GB)\ Business Edition (10GB)\9, Data Transfers 北米およびヨーロッパ 受信 (GB) \9.80 \980 送信 (GB) \14.70 \1,470 アジア太平洋 受信 (GB) \29.40 \2,940 送信 (GB) \44.10 \4,410

料金例 WEBロール1個 =\8,000 ストレージ10G =\147 ストレージトランザクション10万回 = \98 SQL Azure(WebEdition) = \980 データ転送量50G(Asia) = \3,500 ざっと\13,000円くらい?

どこで買えるの? Microsoft Online Services でポチっとな。 ※基本カード払い、一定額を超える=請求書

障害発生時の問い合わせ DashBoardでステータスを確認 サポートオンラインから問い合わせ(8h以内に?)

Azure 今後のお楽しみ機能 AppFabric Windows Identity Foundation =ハイブリッド化を推進、AD連携 VMロール = 何でもできるように? SQL Azureのバックアップ機能=安心

一般利用されるまでの道のり 事例が300に達する ※事例を模倣しない限り、爆発的には増えない ⇒一部の英雄的なアーキテクトしか触れないようだ と当然、事例は増えない。 SQLAzureの容量解放、バックアップ機能 認証をオンプレミス環境と統一 日本にデータセンター=これで法的制約減る Key-Value型の成功事例が多数生まれる

余談 開発者に求められる素養 プログラミングだけではダメ。 デプロイの知識は必須。(意外とデプロイ作業をやっ たことがない人もいるが・・・) 運用を意識した設計も超重要(環境は思い通りに ならない、知りたいことが知りたいときに知れるように 環境を熟知すべし) つまり、総合力が必要。全部やってみよう。 大きすぎる範囲ではない。きっとできる。

おまけ ■クラウド開発におさえておくべき用語(一部) ジャンル用語説明 データ Key-Value 型 RDB とは違い、 Key-Value のみ保持するデータストア。負荷分散や可用性に優れている。 ACID 徳性 確保は苦手。 クラウドパブリッククラウド とプライベートクラ ウド パブリッククラウド=インターネット経由で提供されるクラウド、プライベートクラウド=企業 のイントラや特定のネットワークに閉じたクラウド トランザ クション CAP 定理分散システムにおいて、データの Consistency( 整合性 ) ・可用性 (Availability) ・分散化 (Partition) の3つ を同時に満たすことはできない。クラウドでは、可用性と分散化が必須。 トランザ クション BASE トランザクショ ン クラウドでは ACID なトランザクションは実現しにくい。よって ACID に代わる BASE トランザクショ ンという考え方がある。 Basically Available =高可用性。楽観ロックやキューによって実現可能。 Soft-State =あるノードの状態が失われても、定期的に状態情報を取得すれば状態は復元される。 EventuallyConsistent = ↓ トランザ クション イベンチュアル・コ ンジステンシー システム内に、一時的に一貫性が損なわれる状態が生まれても、ある期間の後には、一貫性のあ る状態になるような性質を、イベンチュアル・コンジステンシーという。 ( 丸山先生の資料より ) 例として DNS 。 ※ Scalable で Available で、かつ、 EventuallyConsistent なシステムは可能である。 ( 丸山先生の資料よ り ) 楽観的ロック ( データにバージョンを持たせて、違えば更新できないで OK ではないか。 ) セキュリ ティ クレームベース認証アイデンティティ管理に利用する認証形態。ポイントは、システム内に認証機能を作りこまず、 外部からのトークンによって実現することで、クラウドとオンプレミスの双方で、同じ認証形態 が可能というメリットがある。(説明足りずですみません・・・。) 通信 CDN コンテンツデリバリネットワーク (Contents Delivery Network, CDN) とは、 Web コンテンツをイン ターネット経由で配信するために最適化されたネットワークのことである。コンテンツ配信網と も。( wikipedia )

参考URL ■Azure関連情報 Techdays2010のセッション資料 開発ポータル お使いになる前に 著者事例「業務システムでWindows Azureを使うための42の覚え書き」 Windows Azure Service Management CmdLets Windows Azure Service Management API Tool 3 ■その他 ひがやすを「SIerは顧客の良きパートナーとなれ」 丸山先生の資料(Baseトランザクション)