railsチュートリアル1章を終えて
Ruby on railsのチュートリアルを毎日ではないが、時間を作って少しでも進めています。
第1章はGitやBitbucketでのソースのバージョン管理とHerokuによるデプロイの方法でしたが、慣れないうちは色々と迷走しました。
ただデプロイの箇所でHerokuにユーザー登録したらすぐにでもHerokuコマンドが使えるような書き方をしているのでここは修正する必要があるかと思いました。
実際はHeroku Toolbeltをインストールしてからコマンドが使えます。
Herokuのことを勉強してるとPaaSについて知る必要が出てきました。
PaaSが出る前のアプリ開発では一通り開発が終われば一般公開するためにサーバを準備していきます。サーバの準備だけではなく、サーバの管理もしなければならないので本来開発に必要な時間がサーバ管理をするための時間により奪われてしまうという悪循環に陥っていました。
そこで上記の手間を解消したのがPaaSというサービスでサーバの準備と管理を一手に引き受けてくれるので余計な作業時間を取られずにすみました。
ではHerokuはどういう仕組みなのかというと、まず開発側では開発したソースコードファイルと依存関係を示したファイルなどがあります。
Heroku側ではそれらのファイルを元にSlugというソースコードと依存関係にあるライブラリをパッケージ化したファイルを作ります。
そして次にDynoという仮想サーバを立ち上げてSlugをそこに読み込ませます。
このDynoというHerokuの仮想サーバは負荷を分散させるために2~3ほど増設も可能です。
ただしこのDynoは破棄されることが前提なのでずっとデータを残したいということはできないので、もし永続的に残したいのであればAdd-Onか外部サービスで対応する必要があります。
Herokuにはまだまだ機能が色々あるようなのでそれらは追々使いこなしていきます。