azure web apps 入門

25
Azure Web Apps 入入 devcussion #23 2016/06/19 Kurosawa 1

Upload: miho-kurosawa

Post on 16-Apr-2017

1.686 views

Category:

Technology


1 download

TRANSCRIPT

Page 1: Azure Web Apps 入門

Azure Web Apps 入門

devcussion #232016/06/19 Kurosawa

1

Page 2: Azure Web Apps 入門

About me

黒澤

・ガジェクラ(スマホ、ノート PC )

・スマホアプリ( Xamarin )

・ Web アプリ、ツール

・ Twitter ( @kurosawa0626)

・ Blog (ぅゎょぅι゛ょっょぃ)

仕事

・フリーランス

・サーバーサイドエンジニア

( PHP 、 HTML5 、 CSS3 、 JS )

・主にソシャゲの開発、運営、ツール作成

2

Page 3: Azure Web Apps 入門

本日の目標

• Linux とか全然詳しくないです。

• Google Cloud Platform はインスタンスすら立てられなかった。( 3 年ぐらい前の話)

• AWS は少し触ったことあるけど正直訳わからなかったし二度と触りたくない。

• そんな俺でもあまり悩まずに使えた Azure Web Apps を紹介したい。

• 紹介したいというか興味持ったら是非使ってノウハウ共有したい。

• Azure に詳しい人が雲の上の存在過ぎて聞きにくい。(クラウドだけに)

3

Page 4: Azure Web Apps 入門

Microsoft Azure

• Microsoft が提供しているクラウドサービス(競合他社に Amazon AWS 、 Google Cloud など)

• VPS のような IaaS(Infrastructure as a Service)

• レンタルサーバーのような PaaS(Platform as a Service)

• Twitter 、 Google Apps 、 Outlook のような SaaS(Software as a Service)

• サーバースペックや台数を自由に変更出来る

• 使った分だけお支払い

4

Page 5: Azure Web Apps 入門

5

Page 6: Azure Web Apps 入門

Web Apps

• Azure App Service でのアプリの 1 つで、 Web サイトと Web アプリケーションをホストするためのサー

ビス

• PaaS として提供されているため開発者はコーディングに集中できる

• .NET 、 Node.js 、 Java 、 PHP 、 Python をサポート

• VSTS 、 Git ( Local 、 Github 、 bitbucket )、 OneDrive 、 Dropbox からデプロイ

• オートスケール (Standard 以上 )

• デプロイメントスロット( Standard 以上)

• 認証 / 承認機能

6

Page 7: Azure Web Apps 入門

Web Apps 立ち上げ

7

Page 8: Azure Web Apps 入門

Web Apps 立ち上げ

• アプリ名

サブドメイン名(サイトの URL になる)

• サブスクリプション

課金対象の Azure アカウント

• リソースグループ

Azure 各種サービスをまとめたグループ

(リソースグループを削除すると各種サービスも削除される)

• App Service プラン / 場所

サーバースペックとデータセンターの選択

複数の Web Apps を同じプラン / リージョンに設置すると追加料金は発生しない。

8

Page 9: Azure Web Apps 入門

App Service プラン

• App Service プランの名前

任意の名前

• 場所

データセンターの場所(リージョン)

日本国内だと東日本 / 西日本とあるが米国リージョンと比べると割高

なぜか西日本のほうがちょっと安い

• 価格レベル

スペックによって Free プランから Premium プランまで

9

Page 10: Azure Web Apps 入門

アプリケーションの設定

• Runtime のバージョン

.NET framework 3.5 / 4.6 、 PHP 5.4 / 5.5 / 5.6 / 7.0 、 Java 7 / 8 、 Python 2.7 / 3.4

• 常時接続 (Basic 以上 )オフにするとコールドスタンバイになり、長時間アクセスがないと初回アクセス時に時間がかかる。

• アプリ設定

.NET の場合は構成の AppSettings に挿入され、既存設定を上書きする。

PHP 、 Python 、 Java 、 Node は環境変数として設定される。

10

Page 11: Azure Web Apps 入門

アプリケーションの設定

• 接続文字列

以下の Prefix 文字列が付く以外はアプリ設定と同じ。

SQL Server: SQLCONNSTR_MySQL: MYSQLCONNSTR_SQL Database: SQLAZURECONNSTR_カスタム : CUSTOMCONNSTR_

• 既定のドキュメント

弄らなくてもいいけど要らないのは消しといたほうがいい。

• 仮想アプリケーションとディレクトリ

Web サイトのルートに対する相対パスを指定できる。

FuelPHP などを使うときは、 site\wwwroot を site\wwwroot\public に変更が必要。

11

Page 12: Azure Web Apps 入門

診断ログ

• アプリケーションログ ( ファイルシステム )ファイル システムに、アプリケーションのログを書き込みます。

追加料金はありませんが、ログ記録は 12 時間しか記録されません。

• アプリケーションログ (Blob)Blob Storage にログを書き込みます。

消さないかぎり残りますが、 Blob Storage の料金が発生します。

• Web サーバーログ

アクセスログなどを書き込みます。

ファイルシステムとストレージはアプリケーションログと同じ。

12

Page 13: Azure Web Apps 入門

デプロイ (Bitbucket の場合 )

• ソースの選択

展開元サービス

• 承認

サービスの認証

• プロジェクトの選択

展開元プロジェクト

• ブランチの選択

展開元ブランチ

13

Page 14: Azure Web Apps 入門

スケール

• 手動

指定したインスタンス数を維持する。

• CPU 使用率

指定使用率を上回るとインスタンスを増やし、下回ると減らす。

50%~ 75%で指定すると 75%を一定時間超えると増やし、 50%を一定時間下回ると減らす。

• スケジュールおよびパフォーマンスルール

オートスケールのルールを指定スケジュールで行う。

ルールには CPU 使用率以外にメモリ使用率、 Disk キュー、 Http キュー、 Data I/O がある。

14

Page 15: Azure Web Apps 入門

スケール時に気にすること

• ロードバランサ

Azure がよろしくやってくれるので気にしなくて良い。

その代わり振り分けルールは決められない。(多分均等割当)

• ストレージ

Web サーバーは増えるがデータディスク自体は共有なため気にする必要が無い。

Azure がよろしくやってくれる。

• セッション

外部キャッシュが必要。

15

Page 16: Azure Web Apps 入門

デプロイメントスロット

要 Standard プラン以上

主に本番環境に展開する前に使用するステージング環境構築ためのもの。

デプロイメントスロットを利用すると以下の機能が利用可能になる。

• スワップ

運用スロットとデプロイメントスロットをダウンタイムなしに入れ替える。

• トラフィックルーティング

指定割合で運用スロットとデプロイメントスロットにトラフィックを流す。

16

Page 17: Azure Web Apps 入門

認証 / 承認機能

コードを書かずに認証 / 承認処理が出来る。

ActiveDirectory を使えば指定ユーザーだけがアクセス出来るようになる。

Microsoft 、 Google 、 Facebook 、 Twitter での認証は誰でもできるので、その先はコードを書かないといけ

ない。

※サイト全体にかかるので使いドコロは限られるのでデモのみ

17

Page 18: Azure Web Apps 入門

値段

• Free共有コア (60 分 / 日 ) 、 1GB RAM 、 1GB ストレージ、 \0

• Shared共有コア (240 分 / 日)、 0.5GB RAM 、 1GB ストレージ、 \1.56/ 時間 (\1,161.09/月 )

• BasicB1: 1 コア、 1.75GB RAM 、 10GB ストレージ、 \09.03/ 時間 (\06,716/月 )B2: 2 コア、 3.50GB RAM 、 10GB ストレージ、 \18.05/ 時間 (\13,432/月 )B3: 4 コア、 7.00GB RAM 、 10GB ストレージ、 \36.11/ 時間 (\26,864/月 )

18

Page 19: Azure Web Apps 入門

値段

• StandardS1: 1 コア、 1.75GB RAM 、 50GB ストレージ、 \12.04/ 時間 (\8,955/月 )S2: 2 コア、 3.50GB RAM 、 50GB ストレージ、 \24.07/ 時間 (\17,910/月 )S3: 4 コア、 7.00GB RAM 、 50GB ストレージ、 \48.14/ 時間 (\35,819/月 )

• PremiumP1: 1 コア、 01.75GB RAM 、 500GB ストレージ、 \036.11/ 時間 (\026,864/月 )P2: 2 コア、 03.50GB RAM 、 500GB ストレージ、 \072.22/ 時間 (\053,729/月 )P3: 4 コア、 07.00GB RAM 、 500GB ストレージ、 \144.43/ 時間 (\107,457/月 )P4: 8 コア、 14.00GB RAM 、 500GB ストレージ、 \288.86/ 時間 (\214,915/月 )

東日本リージョンの場合

https://azure.microsoft.com/ja-jp/pricing/details/app-service/

19

Page 20: Azure Web Apps 入門

値段

• ブロック Blob Storage最初の 1TB/月は¥ 2.45~ 6.22/GB (データ冗長オプションによる)

100,000 トランザクション(読み取り、書き込み)あたり \0.37

• データ転送

受信データはいくら受信しても無料

送信データは最初の 5GB/月は無料、それ以降の 5GB~10TB/月は東日本リージョンの場合 \14.08/GB※ 同じリージョン内でのデータ転送は無料

20

Page 21: Azure Web Apps 入門

艦これデータリンクの場合

• App Service \5,940東日本リージョン、 S1 Standard719 時間

• ブロック Blob Storage \244東日本リージョン、 Basic 、ローカル冗長

30.7GB 、 4,158万トランザクション

• Standard Schedule \1,426東日本リージョン、 1ユニット

• データ転送 \359受信 2.03GB 、送信 25.5GB

• Redis Cache \1,669東日本リージョン、 C0 Basic

• SQL Database \1,728東日本リージョン、 S0 Standard

合計 \7,969 (+\3,397)

Visual Studio Enterprise with MSDN サブスクライバー (BizSpark)4月 26 日 ~5月 25 日のデータ(春イベント 5月 3 日 ~6月 1 日)

21

Page 22: Azure Web Apps 入門

問題点

• MySQL がない

VM 立ててその中に MySQL を用意出来るが別途料金がかかる上に、 IaaS なため作業コストが高くつく。

ClearDB というサードパティ製の MySQL もあるが、性能はお世辞にも高くない。

• Microsoft が命名下手すぎのせいでググリビリティ、 Bing リビリティが低すぎる

Web Apps もあれだけど、これの前が Web Sites という名前でもっとやばかった。

SQL Database とかもっとヒット率やばい。

• ポータルの UX が酷い

教えてくれる人がいないと分からないところが多々ある。

22

Page 23: Azure Web Apps 入門

興味を持ったら

• 学生

DreamSpark を使えばクレカなくても Azure を使える。

ただし WebApp 、 MySQL (ClearDB) 、 VS Online 、 Application Insight のみなのでかなり制限される。

• Visual Studio サブスクライバー

Professional \5,500/月、 Platforms \10,500/月、 Enterprise \15,500/月BizSpark は Enterprize枠

• 無料試用版

30 日間 \20,500 の無料クレジットが利用可能

登録にクレカが必要

Azure で利用できる無料の機能 https://azure.microsoft.com/ja-jp/free/pricing-offers/

23

Page 24: Azure Web Apps 入門

Azure な方々

• こすもすえびさん( @kosmosebi)Azure の新情報はまずブチザッキと言われるぐらい毎回ちゃんとまとめてくれる方

• しばやんさん( @shibayan)

しばやん雑記には Azure Web Apps の大切なことが全部詰まってるんだよ(ポロローン)

• 帝国兵さん( @superriver)Azure の中の人と噂の暗黒面な人

24

Page 25: Azure Web Apps 入門

質疑応答

25