思索の言葉お知らせ講演依頼お問い合わせトップページお知らせRuby版PaaSの”Heroku”で無料Railsホスティング環境を手に入れようお知らせツールRuby版PaaSの”Heroku”で無料Railsホスティング環境を手に入れよう2009年05月17日シェアPocketツイートnoteで書くRailsでアプリを作ったら公開したくなるのが人情ですよね。安いホスティングサーバとかだと、使える環境が限られていたり、セットアップが面倒だったり・・・必死こいてセットアップしても、本気で運用するとなると、そんな環境だと不安だらけだし・・・かといって、AmazonEC2で運用するだけの気合いもない。私もそんな感じでしたが、そんな折に、mat_akiに、Heroku(ハーオークーと読むらしい)を教えてもらいました。実は、Herokuって、ずいぶん昔に話題になって、知っていたんですが、その時は、「WebブラウザでRailsアプリが開発できる〜」みたいな感じだったんですよね。それだとEmacsで良いよ。思ってスルーしていたんですが・・・どうやら、サービスの定義?内容?が変ったようです。Garden"というサービスになっています。http://herokugarden.com/これが、Webブラウザ上だけで、Railsアプリケーションの開発ができるというサービスです。以前に話題になった旧"Heroku"ですね。これは、Emacs使いとしては、あまり興味がない。"Heroku"の方は、なんと、Rubyのプラットフォーム運用サービスになっていました。https://heroku.com/どんなサービスかというと、自分で作ったRubyのWebアプリケーションを運用(ホスティング)してくれるというものです。私はRailsアプリケーションしか試してないですが、Rackの上で動くフレームワーク(Sinatraとか)なら何でも動くようです。25000本のアプリケーションが動いているらしいですね。"Heroku"は、ソースコードをgitで管理していて、ローカルで開発したRailsアプリケーションを、"Heroku"のgitにプッシュするだけで、フックスクリプトが動いて、自動的にデプロイメントしてくれます。データベースも当然、準備された上にうまく隠蔽されています。db:migrate"などをするために、"Heroku"からコマンドラインのインタフェースが用意されています。何はともあれ、試してみました。かんたんな素のRailsアプリケーションを、"Heroku"で作ってみます。目次(0)"Heroku"にユーザ登録(1)herokuコマンドをインストール(2)Railsアプリケーションを作成(3)gitで管理できるように準備(4)"Heroku"でアプリケーションを作成(5)"Heroku"にソースを送付(gitでプッシュ)"Heroku"こそ、Ruby版PaaSだ(0)"Heroku"にユーザ登録なにはともあれ、"Heroku"にユーザ登録してないと話しになりません。無料なので、登録してしまいましょう。https://heroku.com/(1)herokuコマンドをインストール最初にローカルのPCから、"Heroku"を操作をするためのコマンドラインツールをインストールします。動かしたいRailsのアプリケーションを、おなじみのRailsコマンドで作成します。今回は、"heroku-app1"という名前で作ってみます。・・・そのディレクトリに移っておきましょう。heroku-app1(3)gitで管理できるように準備"Heroku"では、ソースコードのやりとりと管理は、gitでやってますので、まずはローカルのプロジェクトをgitで管理するようにします。Rakefile・・・これで、ローカルのgitで初期化してコミットできました。これでローカル環境でバージョン管理していけます。log"の結果が、以下の感じになってたら、うまくいってます。app(4)"Heroku"でアプリケーションを作成ローカルまではできたので、次は、"Heroku"側でアプリケーションを受け入れるところを用意します。ここで、コマンドラインのherokuを使います。addedたしか、初めてやる場合は、"Heroku"で登録したユーザのメールアドレスやパスワードを確認されたと思います。ここまでで、Webの"Heroku"の画面で、出来ていることが確認できます。https://heroku.com/myappsログインして上記URLに行くと、以下のような感じになってるはずです。Info」で、名前の変更や、協調作業をするユーザ等を登録することができます。(5)"Heroku"にソースを送付(gitでプッシュ)これで、ローカル環境のgitにRailsアプリケーションのソースが入っており、"Heroku"側にも受け皿ができるところまでいきました。ローカルから"Heroku"側に同期します。ここも当然、gitでpushです。"Heroku"のリモート情報は、既に自動的に編集されていますので、何も気にせずにできます。masterこれだけで、デプロイメント完了です。"Heroku"側では、gitでpushされて受け取ったらフックが動いて、自動的にデプロイメントまでしてくれるんです。なんて気が利いてる!!さらに気が利いていることに、デプロイメントしてくれたアプリケーションもコマンド一つでアクセスできます。openこのコマンド打つと・・・Safariが立ち上がった!なんと、herokuコマンドでブラウザが起動します。使う機会はないかもしれないですけど、URL覚えてないので、最初は便利です。これで、Railsアプリケーションを動かすことができました。ここから先は、ローカル環境でアプリケーションの開発をして、gitでpushしていくだけで運用に入ってくれます。デプロイメントを気にしなくて良いのは、すごく楽ですね。マイグレーションも当然対応してますので、herokuコマンドを通じてrakeを実行したりしていけますし、Webからアプリケーション名を変更することで、使いやすいURLにすることもできます。したアプリケーションなら、これですぐにサービスインできるんです!自動デプロイメントに、自動スケーリング、本当にすごい時代になりましたね。こんな便利な"Heroku"ですが、5MBまでは、フリー(無料)で使えます。安定的に、高負荷に耐えれるようなアプリケーションも稼働できるようにするために、先日ついに、有償版も開始されました。http://blog.heroku.com/archives/2009/4/24/commercial_launch/http://heroku.com/pricing価格プランを見るとわかりますが、どうやら日本好きのようです。(Roninのイメージが間違ってる気がするけど)"Heroku"こそ、Ruby版PaaSだクラウドコンピューティングのキーワードで、"SaaS"とか"HaaS"とか"PaaS"とかありますね。"SaaS"は、アプリケーションソフトウェアをサービスで提供するもので、うちの"SKIPaaS"がSaaSですね。"HaaS"は、ハードウェアをサービスで提供するもので、AmazonEC2がそれにあたります。Engine(GAE)がそれにあたりますね。先日、GAEがJavaに対応したと話題になりましたね。この視点で考えたら、"Heroku"は、PaaSと言えますね。Ruby版のPaaSです。GAE/JavaでJRubyとか苦労してるくらいなら、"Heroku"を使って、さくっとアイデアを実現してみたら良いんじゃないでしょうか。ホウレンソウに代わる「雑談+相談」チームビルディングを成功させるのは、ホウレンソウではなくザッソウ(雑談+相談)なのです。日本初のザッソウ解説本です。Amazon管理ゼロで成果はあがる「見直す・なくす・やめる」で組織を変えよう細々としたマネジメントを無くし人生の100%を楽しめる組織を作るには?新しい会社のあり方に注目が集まるソニックガーデン代表の取り組みを全公開!Amazonお知らせツール「納品のない受託開発」に取り組む"株式会社ソニックガーデン"の代表を務める倉貫義人のブログです。倉貫自身の言葉で、人材育成からマネジメントまで、ソニックガーデンの経営哲学とノウハウについて、日々の学びから記事にしています。「管理ゼロ経営」で注目の社長に聞いてみた』2019-09-17お知らせをもっとみるSonicGarden株式会社ソニックガーデンは、倉貫義人が代表を務める会社です。「納品のない受託開発」という新しい受託開発も行っています。詳しくは、こちらをご覧ください。