2010年インストールマニアックス ~javaアプリ編~
DESCRIPTION
TRANSCRIPT
![Page 1: 2010年インストールマニアックス ~Javaアプリ編~](https://reader033.vdocuments.site/reader033/viewer/2022050815/5463d083b4af9f623f8b46d1/html5/thumbnails/1.jpg)
Windows Azureにインストール ~Javaアプリ編~
![Page 2: 2010年インストールマニアックス ~Javaアプリ編~](https://reader033.vdocuments.site/reader033/viewer/2022050815/5463d083b4af9f623f8b46d1/html5/thumbnails/2.jpg)
ゕジェンダ
• Windows Azureの概要
• 外部ゕプリを動作させるコツ
• Javaゕプリを動作させるコツ
• まとめ
2
![Page 3: 2010年インストールマニアックス ~Javaアプリ編~](https://reader033.vdocuments.site/reader033/viewer/2022050815/5463d083b4af9f623f8b46d1/html5/thumbnails/3.jpg)
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
![Page 4: 2010年インストールマニアックス ~Javaアプリ編~](https://reader033.vdocuments.site/reader033/viewer/2022050815/5463d083b4af9f623f8b46d1/html5/thumbnails/4.jpg)
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等も
![Page 5: 2010年インストールマニアックス ~Javaアプリ編~](https://reader033.vdocuments.site/reader033/viewer/2022050815/5463d083b4af9f623f8b46d1/html5/thumbnails/5.jpg)
外部ゕプリを動作させるコツ(1/3)
5
対象OSS (Tomcat、Jetty等)
OSSランタイム (JVM等)
Worker Role (new Process等の処理を記述)
Azureデプロイ用パッケージ
パッケージ化
Azure上でコマンドラインOSSゕプリを動作させる場合、上記のコンポーネントをパッケージ化する必要がある
![Page 6: 2010年インストールマニアックス ~Javaアプリ編~](https://reader033.vdocuments.site/reader033/viewer/2022050815/5463d083b4af9f623f8b46d1/html5/thumbnails/6.jpg)
外部ゕプリを動作させるコツ(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. デプロイ用にパッケージングして実行
![Page 7: 2010年インストールマニアックス ~Javaアプリ編~](https://reader033.vdocuments.site/reader033/viewer/2022050815/5463d083b4af9f623f8b46d1/html5/thumbnails/7.jpg)
外部ゕプリを動作させるコツ(3/3)
7
Windows Azure には以下の制限がある
• レジストリに書き込めない
• ループバックゕドレスが利用できない(本番環境)
• フゔイルシステムは基本的に読むだけ
– Local Storage を利用すれば可能ですが、若干複雑
• JavaやPythonやRubyやPerlのランタイムが入っていない
素のWindows に含まれていないものは、自分でインストール(デプロイ用パッケージに同梱)する必要がある
![Page 8: 2010年インストールマニアックス ~Javaアプリ編~](https://reader033.vdocuments.site/reader033/viewer/2022050815/5463d083b4af9f623f8b46d1/html5/thumbnails/8.jpg)
Javaゕプリを動作させるコツ(1/8)
8
Jetty
JRE
Worker Role
Azureデプロイ用パッケージ
パッケージ化
JavaゕプリのJettyを動かすまでの手順を紹介
![Page 9: 2010年インストールマニアックス ~Javaアプリ編~](https://reader033.vdocuments.site/reader033/viewer/2022050815/5463d083b4af9f623f8b46d1/html5/thumbnails/9.jpg)
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
![Page 10: 2010年インストールマニアックス ~Javaアプリ編~](https://reader033.vdocuments.site/reader033/viewer/2022050815/5463d083b4af9f623f8b46d1/html5/thumbnails/10.jpg)
Javaゕプリを動作させるコツ(3/8)
10
• 実施手順
1. JettySolutionAccelerator.zip を展開
2. Buildme.cmd を実行
3. Packme.cmd を実行
4. Runme.cmd を実行
ビルド~実行までのスクリプトが提供されています。後で見返す際にオススメ。
![Page 11: 2010年インストールマニアックス ~Javaアプリ編~](https://reader033.vdocuments.site/reader033/viewer/2022050815/5463d083b4af9f623f8b46d1/html5/thumbnails/11.jpg)
Javaゕプリを動作させるコツ(4/8)
11
• JettySolutionAccelerator.zip を展開
JettySolutionAccelerator.zipの中身
![Page 12: 2010年インストールマニアックス ~Javaアプリ編~](https://reader033.vdocuments.site/reader033/viewer/2022050815/5463d083b4af9f623f8b46d1/html5/thumbnails/12.jpg)
Javaゕプリを動作させるコツ(5/8)
12
• Buildme.cmd の実行
Buildme.cmd実行前
Buildme.cmd実行後 Jetty
JVM
![Page 13: 2010年インストールマニアックス ~Javaアプリ編~](https://reader033.vdocuments.site/reader033/viewer/2022050815/5463d083b4af9f623f8b46d1/html5/thumbnails/13.jpg)
Javaゕプリを動作させるコツ(6/8)
13
• Packme.cmdの実行
Packme.cmd実行前
Azureデプロイ用パッケージの作成
Packme.cmd実行後
![Page 14: 2010年インストールマニアックス ~Javaアプリ編~](https://reader033.vdocuments.site/reader033/viewer/2022050815/5463d083b4af9f623f8b46d1/html5/thumbnails/14.jpg)
Javaゕプリを動作させるコツ(7/8)
• Runme.cmd の実行
そのままパッケージを本番環境にデプロイ可能!
![Page 15: 2010年インストールマニアックス ~Javaアプリ編~](https://reader033.vdocuments.site/reader033/viewer/2022050815/5463d083b4af9f623f8b46d1/html5/thumbnails/15.jpg)
Javaゕプリを動作させるコツ(8/8)
• 中身の確認
WorkerRole.cs のRunメソッド内でキック
RunJetty.cs で Processクラスを利用してキック
![Page 16: 2010年インストールマニアックス ~Javaアプリ編~](https://reader033.vdocuments.site/reader033/viewer/2022050815/5463d083b4af9f623f8b46d1/html5/thumbnails/16.jpg)
まとめ
16
• コマンドラインOSSゕプリを動作させる場合、Worker Roleがオススメ
• System.Diagnostics.Process を利用して、OSSゕプリをキックする必要あり
• OSSランタイムは別途インストールの必要あり
• Tomcat、Memcached、MySQL PHP等は簡易インストールツール(Accelerator)がある
紹介した箇所がキモになるので、まずは実際に動かしてみましょう。
![Page 17: 2010年インストールマニアックス ~Javaアプリ編~](https://reader033.vdocuments.site/reader033/viewer/2022050815/5463d083b4af9f623f8b46d1/html5/thumbnails/17.jpg)
参考
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