View
1.607
Download
3
Category
Preview:
DESCRIPTION
Citation preview
Windows Azureにインストール ~Javaアプリ編~
ゕジェンダ
• Windows Azureの概要
• 外部ゕプリを動作させるコツ
• Javaゕプリを動作させるコツ
• まとめ
2
Windows Azureの概要(1/2)
3
Windows Azure platform
AppFabric
SQL Azure
Market Place等々
… Azure
Storage
Worker Role
Web Role
Windows Azure (Compute+Storage)
Windows Azure
色々コンポーネントがありますが、OSSインストール時にはWeb Role/Worker Roleの理解が重要
Windows Azure Platform
4
Windows Azureの概要(2/2)
IIS上で動作するRole
•PHP等のOSSアプリはこちら向け
•CGI Web Roleもあるので設定はそれなりに簡単
ほぼ普通のWindowsなRole
•コマンドラインOSSアプリを動作させるならこちら
• new Process().Start() なことをするのもこちら
Worker Role
Web Role
Javaゕプリを動作させる場合、Worker Roleがオススメ
もちろんPythonやRubyやPerl等も
外部ゕプリを動作させるコツ(1/3)
5
対象OSS (Tomcat、Jetty等)
OSSランタイム (JVM等)
Worker Role (new Process等の処理を記述)
Azureデプロイ用パッケージ
パッケージ化
Azure上でコマンドラインOSSゕプリを動作させる場合、上記のコンポーネントをパッケージ化する必要がある
外部ゕプリを動作させるコツ(2/3)
6
Worker Role と System.Diagnostics.Process クラスを利用して、外部プロセスとしてコマンドラインOSSゕプリを呼び出す
コマンドラインOSSゕプリを動作させる大雑把な流れ
1. Worker Roleを作成する
2. OSS実行に必要なフゔイルをWorker Roleプロジェクトに同梱する
3. Worker Role から System.Diagnostics.Process を利用して、OSSを実行する処理を記述する
4. デプロイ用にパッケージングして実行
外部ゕプリを動作させるコツ(3/3)
7
Windows Azure には以下の制限がある
• レジストリに書き込めない
• ループバックゕドレスが利用できない(本番環境)
• フゔイルシステムは基本的に読むだけ
– Local Storage を利用すれば可能ですが、若干複雑
• JavaやPythonやRubyやPerlのランタイムが入っていない
素のWindows に含まれていないものは、自分でインストール(デプロイ用パッケージに同梱)する必要がある
Javaゕプリを動作させるコツ(1/8)
8
Jetty
JRE
Worker Role
Azureデプロイ用パッケージ
パッケージ化
JavaゕプリのJettyを動かすまでの手順を紹介
Javaゕプリを動作させるコツ(2/8)
9
Jetty
JRE
Worker Role
今回は Windows Azure Jetty Solution Accelerator を利用してさくっと稼働確認
http://code.msdn.microsoft.com/winazurejetty
http://www.java.com/ja/download/
http://www.eclipse.org/jetty/downloads.php
Javaゕプリを動作させるコツ(3/8)
10
• 実施手順
1. JettySolutionAccelerator.zip を展開
2. Buildme.cmd を実行
3. Packme.cmd を実行
4. Runme.cmd を実行
ビルド~実行までのスクリプトが提供されています。後で見返す際にオススメ。
Javaゕプリを動作させるコツ(4/8)
11
• JettySolutionAccelerator.zip を展開
JettySolutionAccelerator.zipの中身
Javaゕプリを動作させるコツ(5/8)
12
• Buildme.cmd の実行
Buildme.cmd実行前
Buildme.cmd実行後 Jetty
JVM
Javaゕプリを動作させるコツ(6/8)
13
• Packme.cmdの実行
Packme.cmd実行前
Azureデプロイ用パッケージの作成
Packme.cmd実行後
Javaゕプリを動作させるコツ(7/8)
• Runme.cmd の実行
そのままパッケージを本番環境にデプロイ可能!
Javaゕプリを動作させるコツ(8/8)
• 中身の確認
WorkerRole.cs のRunメソッド内でキック
RunJetty.cs で Processクラスを利用してキック
まとめ
16
• コマンドラインOSSゕプリを動作させる場合、Worker Roleがオススメ
• System.Diagnostics.Process を利用して、OSSゕプリをキックする必要あり
• OSSランタイムは別途インストールの必要あり
• Tomcat、Memcached、MySQL PHP等は簡易インストールツール(Accelerator)がある
紹介した箇所がキモになるので、まずは実際に動かしてみましょう。
参考
17
• あれとゕレは混ぜるな危険
– わんくま同盟 東京勉強会#46 フォローゕップ その1
• http://d.hatena.ne.jp/haru-tama/20100427
– わんくま同盟 東京勉強会#46 フォローゕップ その2
• http://d.hatena.ne.jp/haru-tama/20100508
– わんくま同盟 東京勉強会#46 フォローゕップ その3 • http://d.hatena.ne.jp/haru-tama/20100511
• MSDN Blogs > Run Java with Jetty in Windows Azure
• http://blogs.msdn.com/b/dachou/archive/2010/03/21/run-java-with-jetty-in-windows-azure.aspx
Recommended