Azureで作るnodeアプリケーション①
-
Upload
vx-pc-club -
Category
Engineering
-
view
61 -
download
1
Transcript of Azureで作るnodeアプリケーション①
パソコン部活動報告番外編
最新の技術をとりあえず試してみることを目的とした部です。
活動内容
azureでアプリケーションを作った場合どんな感じなのかを知るために、 nodeでアプリケーションを構築する。
今回はアプリケーションのデプロイ方法とデータベース接続までを目標とする。
1.開発について
開発には以下のものを利用した。
● cloud9○ アプリケーション作成用
● visual studio2013○ ログ確認○ データベース操作
1.開発について
cloud9 IDE
git hub
azuru web site
SQLサーバー SQLサーバー
cloud9サーバー
開発環境 本番環境azureサーバー
AWS RDS
AWS RDS
1.開発について
cloud9 IDE
git hub
azuru web site
SQLサーバーSQLサーバー
cloud9サーバー
開発環境 本番環境azureサーバー
開発~動作確認まで行う。
cloud9から直接デプロイができなかったため、 githubに pushする
AWS RDS
1.開発について
cloud9 IDE
git hub
azuru web site
SQLサーバー SQLサーバー
cloud9サーバー
開発環境 本番環境azureサーバー
開発~動作確認まで行う。
cloud9から直接デプロイができなかったため、 githubに pushする
azuruの設定でgithubと同期を取れるため pushされたタイミングで自動的にデプロイされる。
2.データベース
データベースを UIから簡単に作成できる。
必要事項を入力するだけ。
3.WebSiteの作成
サイトを UIから簡単に作成できる。必要事項を入力するだけ。
また、カスタム作成を選ぶと作成時にデータソースをリンクさせることができる。
3.WebSiteの作成
今回は作成したアプリケーションからデータベースに接続するためリソースをリンクさせておく。
作成したサイトを選択してここを押す。
次にここを押す。すると、リソース追加の画面がでるので「既存のリソースをリンクする」を選んで作成したデータベースを選択する。
3.WebSiteの作成
「構成」リンクからアプリケーションのログを出すように設定しておく。今回はファイルシステムに出力するようにした。
3.WebSiteの作成
nodeのバージョンをアップさせる。マウスオーバーさせるとインプットに変更されるので直接バージョンを入力する。今回はパフォーマンスが上がったといわれる 0.12.0に変更した。
4.アプリケーションの作成
データベース作成用にmssqlをインストールしておく。azuru上のデータベースへアクセスするには、以下の定義を追加しておく。
コネクションテスト用
4.アプリケーションの作成
● user○ データベース作成時に設定したユーザー
● password○ データベース作成時に設定したパスワード
● server○ azuruポータルの DBダッシュボードの下に表示されている文字列
ポートは指定しないでよい
● databese○ データベース作成時に入力したデータベース名
4.アプリケーションの作成
ひとまずここまでを azuruにデプロイする。cloud9から githubへ pushすると azuruポータルでデプロイ状況を確認できる。
4.アプリケーションの作成
サイトにアクセスしてアプリケーションが動いていることと、データベースとの疎通を確認する。
4.アプリケーションの作成
azureポータル上からアプリケーションのログを直接参照することができなかったため、 VisualStudioからアカウントを同期させて確認する。
アカウントの同期を取るとWebサイトに作成したものが表示される。
4.アプリケーションの作成
ここに console.logしたのものが出力されている。
このログに nullと出ていればコネクションが取れたということ。
4.アプリケーションの作成
テーブルの作成は azureポータルからできそうな雰囲気だが。。。
結局 VisualStudioから接続させることにした。
silverlightをインストールしてもダメだった。
よくわからない
4.アプリケーションの作成
VisualStudioを起動してメニューのツール>データベースの接続を選択する。ポップアップされた画面でデータベース作成時に設定した内容を入力し OKを押すと、サーバーエクスプローラーにデータベースが出てくるようになる。
データベースを右クリックすると「新しいクエリ」メニューがあるのでそれを選択するとデータベースに対して SQLを発行できるようになる。
5.感想
ここまでやるのにだいたい 1日かかった。nodeではなくて .netだったら半日かからないで同じことができたと思う。
VisualStudioに慣れている人だったら、 2-3時間でできたかもしれないけど、 VisualStudioだと typescriptになってしまうし、 nodeで作りたかったから後悔はしていない。
一回やり方がわかってしまえば、アプリケーションの構築はAMI使わないで新規で AWSに構築するよりも早くできると思った。
ただインフラまわりはわかっていないのでトータルで考えた場合はどちらがいいかはわからない。
5.感想
僕の Visual Studioは日本語化されていますが、実は日本語化パッチを適用中にエラーとなりました。
しかし、エラーとなった後に再起動してみたところ、 Visual Studioの言語設定に「日本語」が追加されていて、日本語化されました。。。
また、パッチ適用は結構時間がかかり、 Visual Studioの環境( Visual Studio For Webを含む)を作るのにだいたい 5-6時間はかかったと思います。※Visual Studio For Webはブラウザ上で実行される IDEです。 正直使いにくくて cloud9でコーディングするようにしました。
5.感想
.netで開発するなら、 Visual Studioと azureはとても親和性が取れているので、開発~デプロイまでがとても楽になると思います。
今回は nodeで作っているので、 githubを介して azureへデプロイしていますが、もともと cloud9は azureへの直接デプロイが可能な IDEだったので、個人的には Visual Studioを使うことはないと思います。(cloud9のバージョンアップによりデプロイがコマンド式になってしまったのと、 documentがわかりにくくて直接デプロイを諦めました。。。 )
あえてインストール型 IDE使うならwebmatrixを使うと思います。