microsoft azure で "無料で" 運営する勉強会申し込みサイト
TRANSCRIPT
Microsoft Azure で"無料で" 運営する勉強会申し込みサイト
Microsoft Azure
• Microsoft が運営・推進するクラウドサービスの名称
• 旧称 “Windows Azure”
• いろんな機能・サービスを提供している
– Windows や Ubuntu、 CentOS等々、いろんなOSを実行できる
仮想マシンサービス
– Key-Value 形式等、様々なデータを保存するストレージサービス
– Database as a Service としての SQL Database
– PHP や Node.js、 ASP.NET などのWebアプリを設置公開できる
Webサイトプラットフォーム
勉強会申し込みサイト
要件
• Webフォーム上からの参加申し込み
–氏名、e-mail、LT登壇有無...
• 自分が参加申し込みしたか確認できること。
–一解決策として、登録完了のメール自動送信
• 参加者名簿が作れること。
– CSV形式でのエクスポートとか
普通は自作しないで無償サービス使わせてもらうほうがいいです
• connpasshttp://connpass.com/
• ATNDhttps://atnd.org/
• DoorKeeperhttp://www.doorkeeper.jp/
• Google Formhttp://www.google.com/forms/about/
• とはいえ、「IT勉強会申し込みサイトを、Azure上
で無償で運営」できるようになれば、他の用途の
Webサイトも自作・運営できるようになりますので。
• “例題” ということで。
あえて「無料」にこだわってみる
フリーミアム戦略にありがたく乗せていただきます
• もちろん、無償プランでは、処理速度や自由度
などで制約はありましょう。
• ですが、まぁ、今回の仮想テーマ「IT勉強会参加
申込サイト」であれば十分かと。
昔を振り返ってみると...
昔は都合のいい無償プランはなかった
• 2012年当時…
• 90日間だけ無償試用ができる枠があるのみ
– Sインスタンス x 1
– SQL Azure x 1GB
このスライドも、当時はこうでした。
しかし、今なら…!
Azure
Web Site
Azure Web Site とは
• Microsoft Azure として提供される機能の内、PHP
や Node.js、ASP.NET 等々のWebアプリの実行環
境である PaaS 機能のこと。
• 無償プラン(¥0!)が用意されています!
– 独自ドメイン使えないとか、CPU使用時間・メモリ消費
量・通信量が一定量を超えると配置プラン単位で停止さ
せられるなど、もちろん無料ならではの制約はあり。
Azure Web Site 無償プラン
• 無料なので実際の課金・請求は発生しません。
• 但しアカウント開設のためにクレカ登録は必要。
• 無料ならではの制約はある。
– 無償プランで立てられるサイト数は1契約あたり10コまで
– CPU使用時間・メモリ消費量・通信量が所定の量を超えると、配置プラン単位で、一定時間停止させられる
– クラウドだけどスケールアウトできません(1インスタンスだけ)
– 独自ドメイン使えないetc.
でも無料になるのは Webサイトのホスティングだけ
• Azure上の “DaaS” であるSQL Database 及びMySQL は、1契約あたり1年間だけ有効な容量20MBまでの無償枠が1つだけある。…が、1年過ぎると課金が始まる。
• Azure には NoSQL なストレージサービスもあるが、こちらには無償枠はない。
• いずれも十分安価だが、今回の仮想テーマで「無料」にこだわると、これらは選択肢から外れる。
無料で利用可能なデータ保存先あれこれ
案1. ClearDB
• Microsoft 運営ではない、MySQL as a
Service。
• 容量5MBで無料枠がある。– https://www.cleardb.com/pricing/multitenant.view
• しかも Azure 用には容量 20MB の特別枠が!
(Heroku だと 5MB しか当たらないのに!?)– https://www.cleardb.com/store/azure
案2. Web Site のローカルファイル
• Webアプリのコンテンツ類も含めてトータルで1GB
まで。
• Web Site って、クラウドPaaS なんだけど、そのWebアプリがローカルのファイルシステムに書き込んだ内容は永続化されます。
– Azure Web Site にWebアプリケーションコンテンツをUpする手段としてFTPやFTPSが用意されています。
–容量1GBまでのインターネット上のストレージ、FTP
サーバーとして使えるという話も。
案3. SQLite や SQL Server CE
• 案2の延長で、ローカルファイルに書き込む系のデータベースが使える。
• ただしスケールアウトしない。
– たぶん。複数インスタンスで書き込みしあったら、データファイル壊れるか、壊れないにしてもファイルロックでインスタンス間でケンカになるんじゃね?
–今回の仮想テーマでは無料がテーマなので1インスタンスしか立たず、それでかまいませんが。
• 安定稼働するのか、漠然とした不安が。
案4. OneDrive や DropBox
• 今回のテーマにはあまり利点はありませんが、いち
おう、できるということで。
• しかし、とにかく無料枠でも数GBと大容量。
• なので、これを活かすような需要であれば最適。
案5. 実はイチオシ Googleスプレッドシート
• そのまま参加者名簿になり、参加費受領の確認など追加記入もでき、「無料」というだけでなく、実はいちばん便利。
• しかも、運営スタッフ間での共有やアクセス権管理も容易。
• おまけに、参加者一覧を表示したりCSV等で出力したり、それらを認証で保護したりする機能を、サイト側に持たなくてよい。
• ただし書き込み速度がちょっとだけ遅め。
登録完了のメール自動送信、も無料で。
SendGrid
• e-mail 送受信環境の PaaS。
• Azure利用者には、毎月2万5千宛先の送信が可能な無料プランがある。
– MarketplaceからSendGridを選んで進めればOK。
• もちろん、Gmail などの無料利用可能な e-mail
の SaaS を利用してもかまいません。
実例
実際にサイト立ててみました
• WinOS上で、開発環境に、無料で利用できる Visual Studio
2013 Community Edition を使い、C#, ASP.NET で実装。
• サイトのローカルファイルシステムに、登録1名につき1つのJSON
ファイルで保存。
– あくまで例なのでDB接続設定など面倒なことが無いように。
• ソース管理に Git。
• 手元の開発環境から Azure Web Site に “git push” するこ
とで配置(デプロイ)
• ちなみに、MacOS上でテキストエディット使ってPHPで実装して
も、同じ機能のサイトをAzure Web Site上に設置できます。
URL
• 参加申し込みページ– https://sample-registration.azurewebsites.net/
• エントリしてみて構いません。
• 実際に登録完了のお知らせメールも送信されます。
• 但し下記のとおり入力内容はインターネットに晒されます。
• 申し込み一覧ページ– https://sample-registration.azurewebsites.net/admin
• Basic認証で保護されてます。
• ユーザー名=admin、パスワード=password
• Microsoft Excel の「Webクエリ」で、Excel 表に取り込み可能、随時再同期可、参加費受領などの追記が可能。
ソースコードは GitHub で公開
• https://github.com/sample-by-
jsakamoto/my-registration-site/
まとめ
本当に、Microsoft Azure で運営¥0で小規模サイト立てられます
• Microsoft Azure Web Site や SendGrid のフリーミ
アム戦略のおかげ。
– 但し無料枠ならではの制約には注意。
• 徹底して無料にこだわるなら、データ保存先に気を配
れば、運営¥0を実現可能。
– 今回は具体的な実装方法については割愛しますが、IT勉
強会申し込みサイトとしては、Googleスプレッドシートが最
高に便利。
See you!