修羅の街で Windows Azure Web サイトについて語りつくしてみる

32
修羅の街で Windows Azure Web サイトについて語りつくしてみる Japan Windows Azure User Group しばやん

description

 

Transcript of 修羅の街で Windows Azure Web サイトについて語りつくしてみる

Page 1: 修羅の街で Windows Azure Web サイトについて語りつくしてみる

修羅の街で Windows AzureWeb サイトについて語りつくしてみる

Japan Windows Azure User Group

しばやん

Page 2: 修羅の街で Windows Azure Web サイトについて語りつくしてみる

自己紹介

• しばやん (@shibayan)

• http://shiba-yan.hatenablog.jp/

• Microsoft MVP for ASP.NET/IIS

• いつの間にか JAZUG コアメンバーに

2

Page 3: 修羅の街で Windows Azure Web サイトについて語りつくしてみる

本日のアジェンダ

• 日本データセンターが稼働してめでたいので語ります

• 質問はその都度聞いて頂いても d( ^ω゚ )オッケー!!

– エバンジェリストの方も多いので無茶振りをしたい

• それではよろしくお願いいたします

3

Page 4: 修羅の街で Windows Azure Web サイトについて語りつくしてみる

Windows Azure Web サイトとは

Japan Windows Azure User Group

しばやん

Page 5: 修羅の街で Windows Azure Web サイトについて語りつくしてみる

多分わかりやすい説明

• 簡単に Web サイトを作成して公開出来るサービス

• でも、クラウドらしくスケーラブルかつ盤石

– スケールアップ、スケールアウトも簡単

• 独自ドメイン、SSL、FTP とか普通に使えます

5

Page 6: 修羅の街で Windows Azure Web サイトについて語りつくしてみる

Windows ユーザー向けの説明

• Visual Studio からサイトの作成、削除、デプロイなど一通りの操作が出来る

• WebMatrix を使っても同じことが出来る

– サイトの作成、デプロイ、エディタで PHP のサポート!

6

Page 7: 修羅の街で Windows Azure Web サイトについて語りつくしてみる

Mac / Linux ユーザー向けの説明

• FTP を使ったファイルのアップロード

– SFTP にも対応

• Git / Dropbox を使ったデプロイ

– GitHub や CodePlex からのデプロイも出来る

• Visual Studio Online “Monaco” を使ったブラウザベースでの操作

7

Page 8: 修羅の街で Windows Azure Web サイトについて語りつくしてみる

アプリケーションの動作環境

• ASP.NET / PHP / Python / Node.js アプリケーションの実行環境

• 各種 OSS アプリケーションに標準対応

– WordPress (日本語版) / EC-CUBE

– MediaWiki / Drupal などまだまだたくさん

8

Page 9: 修羅の街で Windows Azure Web サイトについて語りつくしてみる

まとめ

• Web サイトは Windows でも、Mac でも使える

• ブラウザベースの Visual Studio Online “Monaco” に大期待したい

• OSS のアプリケーションは数クリックで構築できる

9

Page 10: 修羅の街で Windows Azure Web サイトについて語りつくしてみる

Windows Azure Web サイトのウソ&ホント

Japan Windows Azure User Group

しばやん

Page 11: 修羅の街で Windows Azure Web サイトについて語りつくしてみる

セッションのゴール

• 正しい Web サイトの知識を身につける

• 「あ、これ Web サイトでも可能な要件だ!」

• みんな幸せ

11

Page 12: 修羅の街で Windows Azure Web サイトについて語りつくしてみる

1. Web サイトは遅い?

• 思われているほど遅くない。むしろ速い!!

– 東日本だとレイテンシは 10ms ちょい

• 遅いと思われている原因

– LB と Web サーバ間にあるリバースプロキシの存在

– 日本に DC が無かった

12

Page 13: 修羅の街で Windows Azure Web サイトについて語りつくしてみる

2. 仕事では使えない?

• 何となく趣味やサンプルで使う用という空気を感じる…

• 仕事で使ってます!しかも超便利

1. 月間 100 万 PV・ASP.NET MVC・SQL DB なサービス

• S インスタンス 1 つで余裕で裁いてます

2. Facebook キャンペーンアプリ・1 か月だけ利用

• 独自ドメイン、SSL の環境を数分で準備

13

Page 14: 修羅の街で Windows Azure Web サイトについて語りつくしてみる

3. Web サイトは高い?

• クラウドサービスに比べると確かにちょっと高い

– 参考:Web サイト ¥7,588 / クラウドサービス ¥5,891

• そのかわり、クラウドサービスにはない機能がたくさん

– 独自ドメインのサポート、IP / SNI SSL、git デプロイなど

• 使い分けは重要

– Web サイトは 10 インスタンスまでしか増やせない

14

Page 15: 修羅の街で Windows Azure Web サイトについて語りつくしてみる

4. C# / ASP.NET しか動かない?

• ASP.NET/IIS の MVP 的には ASP.NET を推したい

– 結構よくできているフレームワークなんですよ…

• Microsoft 的には PHP / Python / Node.js 何でもいい

– ASP.NET さえも別に優遇していない感が漂う…

– 急に使えなくなるということはまずない

15

Page 16: 修羅の街で Windows Azure Web サイトについて語りつくしてみる

5. Microsoft は悪の帝国?

• 昔はそんなイメージでしたね

• 最近はオープン、かなりオープン

• Microsoft Open Technologies がかなり頑張ってる

– https://msopentech.com/

16

Page 17: 修羅の街で Windows Azure Web サイトについて語りつくしてみる

まとめ

• 日本データセンター稼働で Web サイトのレイテンシも3 倍以上の改善

• 信頼性は高く、実際のアプリケーション開発に必要な機能が予め揃っている

• しかし、機能が豊富なのでクラウドサービスよりはちょっとお高い

17

Page 18: 修羅の街で Windows Azure Web サイトについて語りつくしてみる

Windows Azure Web サイトのバックエンドを少しだけ

Japan Windows Azure User Group

しばやん

Page 19: 修羅の街で Windows Azure Web サイトについて語りつくしてみる

セッションのゴール

• Web サイトをさらに活用するためにバックエンドで動作しているサービスを知る

• 開発時やエラーログ解析でも役立つ

19

Page 20: 修羅の街で Windows Azure Web サイトについて語りつくしてみる

Kudu - 自称 git デプロイエンジン

• Web サイトのバックエンドで動いている git デプロイエンジンだったもの

– もはや git デプロイ以外の機能を持ちすぎである

• 割と便利な機能

– Debug Console (コマンドプロンプト的な)

– Site Extensions

20

Page 21: 修羅の街で Windows Azure Web サイトについて語りつくしてみる

Debug Console を使う

• 一般的な UNIX コマンドが使える

– ls / cp / rm / mv / less など他にもたくさん

• 何故か入っている bash

– シェルスクリプトを動かすことも出来る(何故

• unzip コマンドで高速アップロード&展開

– アップロードはファイルリストにドラッグドロップで可能

21

Page 22: 修羅の街で Windows Azure Web サイトについて語りつくしてみる

PowerShell も使える

• 最新の Kudu では Direct PowerShell に対応

– 直接 PowerShell が起動している感じ

• コマンドレットで多少の操作は出来る

– ただしシステムの設定を書き換える動作は不可

22

Page 23: 修羅の街で Windows Azure Web サイトについて語りつくしてみる

デモ

• Kudu へのログイン

• 環境情報の確認

• cmd / PowerShell を使った操作

23

Page 24: 修羅の街で Windows Azure Web サイトについて語りつくしてみる

Windows Azure Web サイトでRuby on Rails に挑戦

Japan Windows Azure User Group

しばやん

Page 25: 修羅の街で Windows Azure Web サイトについて語りつくしてみる

セッションのゴール

• クラウドサービスにも負けていない Web サイト

• 「あ、これ仕事では無理だけど面白いかも」

• 私が幸せ(割と自己満足)

25

Page 26: 修羅の街で Windows Azure Web サイトについて語りつくしてみる

Windows 上の Ruby

• RubyInstaller for Windows を使う

– http://rubyinstaller.org/

• Rails は FastCGI + Rack で動かす

– dispatch.fcgi を経由して実行

26

Page 27: 修羅の街で Windows Azure Web サイトについて語りつくしてみる

IIS と fcgi.rb の互換性

• fcgi.rb は Unix domain socket にしか対応していない

– Windows では当然ながら使えないのでエラーになる

• 少し修正して標準入出力を使うようにする

– ソケットに切り替えても動くかもしれない(IIS はデフォルトが標準入出力なので変更がめんどくさい)

27

Page 28: 修羅の街で Windows Azure Web サイトについて語りつくしてみる

動作デモと問題点

• FastCGI プロセスが立ち上がるまでに時間がかかる

– 設定次第ではもう少し改善するのかもしれない

– IIS の ApplicationInitialization モジュールでプリロード?

• Windows 上の RubyInstaller は更新が遅い

– 最新バージョンは Ruby 2.0.0

– パフォーマンスと互換性的にちょっと心配

28

Page 29: 修羅の街で Windows Azure Web サイトについて語りつくしてみる

まとめ

• Windows Web サイト上でも Ruby は動く

– ただし Windows へのサポートは割と甘い部分が多い

• FastCGI は Ruby 以外の言語を動かす場合にも有用

– Strawberry Perl で Movable Type 6 を FastCGI

• Web サイトが標準対応する可能性もあるかも?

29

Page 30: 修羅の街で Windows Azure Web サイトについて語りつくしてみる

Windows Azure Web サイトの真実

Japan Windows Azure User Group

しばやん

Page 31: 修羅の街で Windows Azure Web サイトについて語りつくしてみる

みんなが楽しめるのが Web サイト

• 初めての方にはギャラリーから簡単にインストール♪

• ちょっと慣れてきた方には FTP で自由に

• プログラマーは git / TFS や Visual Studio から

• 上級者はコマンドでガリガリ

31

Page 32: 修羅の街で Windows Azure Web サイトについて語りつくしてみる

クラウドを身近にする Web サイト

• プラットフォームのことを考えなくても良い

– 最新のセキュリティパッチなどは自動的に適用される

• レンタルサーバよりも素早く、手軽に使える

– 無料でも使えるし、共有なら月 1000 円以下

• 大規模な Web サービスにも適用可能

– ハイパフォーマンス、エラスティック、オープン

32