Your browser doesn't support the features required by impress.js, so you are presented with a simplified version of this presentation.
For the best experience please use the latest Chrome or Safari browser. Firefox 10 (to be released soon) will also handle it.
Perl on Elastic Beanstalk
カジュアル編
2013/04/27 さいとう まさあき( masakyst )
自己紹介
- 斉藤 雅昭(さいとう まさあき)
- Twitter @masakyst
- 沖縄 読谷村
- Perl, JavaScriptが好き
- AWSカジュアルユーザ(無料枠)
Q
Perl使ってる人
さて、カジュアルにWebアプリを作りたいんだけど...
- サーバの環境構築がめんどくさい
- コードを配置するだけでアプリの公開したい
それPHPで...!
もう共用サーバ上でPHPをFTPアップロードで...
AWSにはElastic Beanstalkがある!!!
Elastic Beanstalkとは、各言語向けのセットアップ済み実行環境で、
その他、いい感じに自動で色々とやってくれます
- アプリ実行環境の用意
- アプリ状態モニタリング
- アプリ配置時の処理
- 容量のプロビジョニング
- 負荷分散
- アプリの配置はgitでpushするだけでいい
などなど
Elastic Beanstalk対応言語
- Java
- .NET
- Ruby
- Python
- PHP
- Node.js
_人人人人人人人人人人_
> Perlないじゃん! <
 ̄Y^Y^Y^Y^Y^Y^Y^Y^Y ̄
YAPC::Asia 2012にて
AWSの中の人が、カスタムAMIでPSGI hello worldしてた
http://yapcasia.org/2012/talk/show/d08441ca-0803-11e2-8333-15646aeab6a4
カスタムAMIでConfiguration templateをいじってAMIを入れ替える...AWSカジュアルユーザーには敷居が高い
Hookがある!
beanstalkには、hookという機構がある
環境の作成、アプリの配置、などいくつかのタイミングで、
行いたい処理を追加できます。
例えば...、
- アプリ配置前に、yumなどでパッケージをインストール
- アプリ配置時に、指定worker数でサーバを立ち上げる
などなど
Perl on Elastic Beanstalk
このHookを使って、Perl/Mojolicious製WebアプリをBeanstalkに載せて
カジュアルにアプリを作っていこう!!
Mojoliciousとは
http://mojolicio.us/
「real-time web framework」
Modern Perl(現代的な書き方やノウハウのPerl)を代表する、Webアプリフレームワークの1つ
- インストールが簡単(依存ライブラリが無い)
- プラグインで機能を拡張できる
- 非同期IO、HTTP 1.1、組み込みWebSocket対応サーバ付属
- JSON、HTML/XMLパーサ、CSSセレクタをサポート
Demo
Elastic Beanstalk上で、Mojoliciousアプリを動かしてみる
- gitを使う
- AWS Elastic Beanstalk Command Line Toolを使う
※1
まとめ
- Hookを使えば、わりと何にでも応用できそう
- Beanstalkはコードを書くのに専念できる(Beta!
- AWSは楽しい!!
- (Modern) Perlは良い!!
Perl勉強会はじめました!
Yomitan.pm #1スタート...!!
http://yomitanpm.org/
http://atnd.org/events/39173
北谷のクリエイターズレジデンスにて!!
http://summer-time-studio.com/CreatorsResidence/index.html
YAPC::Asia 2013
http://yapcasia.org/2013/
エンジニアのエンジニアによるエンジニアのためのお祭り!!
国内外の(Perl)ハッカーが集結!!
9/19(木) ... 前夜祭
9/20(金) ... 一日目
9/21(土) ... 二日目
LCC(格安航空会社)使えば安い!
※僕はYAPCの実行委員でもなんでもありません!!
ご清聴
ありがとうございました