Azureで作るnodeアプリケーション①

22
パパパパパパパパパ パパパ パパパパパパパパパパパパパパパパパパパパパ パパパパパパ

Transcript of Azureで作るnodeアプリケーション①

Page 1: Azureで作るnodeアプリケーション①

パソコン部活動報告番外編

最新の技術をとりあえず試してみることを目的とした部です。

Page 2: Azureで作るnodeアプリケーション①

活動内容

azureでアプリケーションを作った場合どんな感じなのかを知るために、 nodeでアプリケーションを構築する。

今回はアプリケーションのデプロイ方法とデータベース接続までを目標とする。

Page 3: Azureで作るnodeアプリケーション①

1.開発について

開発には以下のものを利用した。

● cloud9○ アプリケーション作成用

● visual studio2013○ ログ確認○ データベース操作

Page 4: Azureで作るnodeアプリケーション①

1.開発について

cloud9 IDE

git hub

azuru web site

SQLサーバー SQLサーバー

cloud9サーバー

開発環境 本番環境azureサーバー

AWS RDS

Page 5: Azureで作るnodeアプリケーション①

AWS RDS

1.開発について

cloud9 IDE

git hub

azuru web site

SQLサーバーSQLサーバー

cloud9サーバー

開発環境 本番環境azureサーバー

開発~動作確認まで行う。

cloud9から直接デプロイができなかったため、 githubに pushする

Page 6: Azureで作るnodeアプリケーション①

AWS RDS

1.開発について

cloud9 IDE

git hub

azuru web site

SQLサーバー SQLサーバー

cloud9サーバー

開発環境 本番環境azureサーバー

開発~動作確認まで行う。

cloud9から直接デプロイができなかったため、 githubに pushする

azuruの設定でgithubと同期を取れるため pushされたタイミングで自動的にデプロイされる。

Page 7: Azureで作るnodeアプリケーション①

2.データベース

データベースを UIから簡単に作成できる。

必要事項を入力するだけ。

Page 8: Azureで作るnodeアプリケーション①

3.WebSiteの作成

サイトを UIから簡単に作成できる。必要事項を入力するだけ。

また、カスタム作成を選ぶと作成時にデータソースをリンクさせることができる。

Page 9: Azureで作るnodeアプリケーション①

3.WebSiteの作成

今回は作成したアプリケーションからデータベースに接続するためリソースをリンクさせておく。

作成したサイトを選択してここを押す。

次にここを押す。すると、リソース追加の画面がでるので「既存のリソースをリンクする」を選んで作成したデータベースを選択する。

Page 10: Azureで作るnodeアプリケーション①

3.WebSiteの作成

「構成」リンクからアプリケーションのログを出すように設定しておく。今回はファイルシステムに出力するようにした。

Page 11: Azureで作るnodeアプリケーション①

3.WebSiteの作成

nodeのバージョンをアップさせる。マウスオーバーさせるとインプットに変更されるので直接バージョンを入力する。今回はパフォーマンスが上がったといわれる 0.12.0に変更した。

Page 12: Azureで作るnodeアプリケーション①

4.アプリケーションの作成

データベース作成用にmssqlをインストールしておく。azuru上のデータベースへアクセスするには、以下の定義を追加しておく。

コネクションテスト用

Page 13: Azureで作るnodeアプリケーション①

4.アプリケーションの作成

● user○ データベース作成時に設定したユーザー

● password○ データベース作成時に設定したパスワード

● server○ azuruポータルの DBダッシュボードの下に表示されている文字列

ポートは指定しないでよい

● databese○ データベース作成時に入力したデータベース名

Page 14: Azureで作るnodeアプリケーション①

4.アプリケーションの作成

ひとまずここまでを azuruにデプロイする。cloud9から githubへ pushすると azuruポータルでデプロイ状況を確認できる。

Page 15: Azureで作るnodeアプリケーション①

4.アプリケーションの作成

サイトにアクセスしてアプリケーションが動いていることと、データベースとの疎通を確認する。

Page 16: Azureで作るnodeアプリケーション①

4.アプリケーションの作成

azureポータル上からアプリケーションのログを直接参照することができなかったため、 VisualStudioからアカウントを同期させて確認する。

アカウントの同期を取るとWebサイトに作成したものが表示される。

Page 17: Azureで作るnodeアプリケーション①

4.アプリケーションの作成

ここに console.logしたのものが出力されている。

このログに nullと出ていればコネクションが取れたということ。

Page 18: Azureで作るnodeアプリケーション①

4.アプリケーションの作成

テーブルの作成は azureポータルからできそうな雰囲気だが。。。

結局 VisualStudioから接続させることにした。

silverlightをインストールしてもダメだった。

よくわからない

Page 19: Azureで作るnodeアプリケーション①

4.アプリケーションの作成

VisualStudioを起動してメニューのツール>データベースの接続を選択する。ポップアップされた画面でデータベース作成時に設定した内容を入力し OKを押すと、サーバーエクスプローラーにデータベースが出てくるようになる。

データベースを右クリックすると「新しいクエリ」メニューがあるのでそれを選択するとデータベースに対して SQLを発行できるようになる。

Page 20: Azureで作るnodeアプリケーション①

5.感想

ここまでやるのにだいたい 1日かかった。nodeではなくて .netだったら半日かからないで同じことができたと思う。

VisualStudioに慣れている人だったら、 2-3時間でできたかもしれないけど、 VisualStudioだと typescriptになってしまうし、 nodeで作りたかったから後悔はしていない。

一回やり方がわかってしまえば、アプリケーションの構築はAMI使わないで新規で AWSに構築するよりも早くできると思った。

ただインフラまわりはわかっていないのでトータルで考えた場合はどちらがいいかはわからない。

Page 21: Azureで作るnodeアプリケーション①

5.感想

僕の Visual Studioは日本語化されていますが、実は日本語化パッチを適用中にエラーとなりました。

しかし、エラーとなった後に再起動してみたところ、 Visual Studioの言語設定に「日本語」が追加されていて、日本語化されました。。。

また、パッチ適用は結構時間がかかり、 Visual Studioの環境( Visual Studio For Webを含む)を作るのにだいたい 5-6時間はかかったと思います。※Visual Studio For Webはブラウザ上で実行される IDEです。 正直使いにくくて cloud9でコーディングするようにしました。

Page 22: Azureで作るnodeアプリケーション①

5.感想

.netで開発するなら、 Visual Studioと azureはとても親和性が取れているので、開発~デプロイまでがとても楽になると思います。

今回は nodeで作っているので、 githubを介して azureへデプロイしていますが、もともと cloud9は azureへの直接デプロイが可能な IDEだったので、個人的には Visual Studioを使うことはないと思います。(cloud9のバージョンアップによりデプロイがコマンド式になってしまったのと、 documentがわかりにくくて直接デプロイを諦めました。。。 )

あえてインストール型 IDE使うならwebmatrixを使うと思います。