Herokuと言うのは、今はやりのPaaS(Platform as a Service)です。ユーザーはサーバーなどのハードを買わなくてもよいので、小さなWebサービスから始めて、需要があるようだったらスケールしようと思っている人にはピッタリです。しかも、最初は無料から始められます。
似ているものでは、AmazonのAWSやMicrosoftのAzure、さくらクラウドがあります。
15分で始められるなんて雑誌の記事もあったりしましたが、実際にはなかなか大変で、それだけではちょっと無理です。私はそもそもRuby自体の経験が10時間くらいしか無かったので、Herokuを始めるにあたってはITの色々な分野の知識が必要で結構大変でした。
今年の夏休みに子供の宿題を手伝って3極モーターを作った時に、最初には思ってもいなかった課題が次々と出てきて、それを一つずつ潰していく感覚にすごく近いと感じました。モーターの外側用に買ってきたケースが大きすぎたりとか、電流を通すとばねが熱くなりすぎるので、結局アルミホイルでやるのが一番よかったとか、実際に手を動かしてみないとわからないことが多いのです。
ビジネスをやる時なんかとも同じで、最初は何とかなると思っていたのが、実際にやってみると色々な課題が次々と出てきて、これを一つずつ解決していくのとも似ている気がしました。考えてみれば、新しいことに挑戦する時は何でも最初から上手く行くはずがないので、問題にぶつかるのは当たり前ですよね。
一番大変なのは、Gitでアプリをアップロードしなくてはいけないところと、Ruby on Railsの開発環境でデフォルトのSqliteだとHerokuの側で拒否されてしまってアップ出来なかったところでしょうか。
(ここはGitの導入の過程でエラーが出た画面)
私は、一人でシステムを開発していることもあり、バージョン管理システムは、最近はさぼって使っていませんでした。バックアップのハードディスクにコピーをとって、はい終わりでした。
Gitは前からやりたいと思っていたのですが、いい機会でした。こつは、プロジェクト単位で管理してアップする必要があるので、そのフォルダに移動してからコミットすることでしょう。
もう一つ、ruby on rails で新しいプロジェクトを作成するときに、デフォルトがsqliteなので、一度作ってしまったものを後からPostgres用に修正するのは大変です。最初から
> rails new projectname -d postgresql
として、postgresql用のプロジェクトとして作ってしまうと、問題なくアップロードできました。
結論を言うと、様々なオープンソースの技術を使うので、色んな所に落とし穴がありとても大変でした。Herokuにアップするまでに、GitやPostgresql、Ruby、新しいエディタの使い方などの色々な分野の沢山の知識が必要になるので、最初はハードルが高いです。
でも、一度わかってしまうと、まあ次からは何とかなるように思います。結構大変でしたが、満足感は得られます。特にコマンドを1行入力して、すべてがパーーっと通ってしまうときは快感です。
最初は無料でありながら安定した環境であるのがありがたいです。スモールスタートで色々作りたい方には良いのではないかと思います。