Más contenido relacionado
La actualidad más candente (20)
Similar a 第18回Cloud Foundry輪読会用 Buildpackを使ってアプリを 載せるためのアプローチ (20)
第18回Cloud Foundry輪読会用 Buildpackを使ってアプリを 載せるためのアプローチ
- 5. Cloud Foundryを使うには(v2)
方法
1. Publicにサービス展開されているCloud FoundryのPaaSを使う
2. cf_nise_installer(Iwasaki Yudai氏のツール)を使う
a. https://github.com/yudai/cf_nise_installer
b. 基本1VMはcoreのみ4~8GBもあれば十分
c. 手軽に使える為、非公式ながら人気が高い
3. BOSH-lite(公式推奨)
a. Vagrant環境VAGRANT上に6GB以上のメモリを要求する為気軽に試
すのには向いていない
b. Cloud Foundryの公式ではBOSH(BOSH-liteのマルチノード構成)の
ものを使用しているがBOSHを使う為だけにVMがいくつも必要になり手
軽でない
- 9. 現状のCloud Foundryの現実
● buildpackになっても
○ ちょっと直して動かすがやりにくい
○ buildpackそのもののエラー落ちやアプリ起動時のログが拾いにくい
● 少なくともアプリ開発者にとって
○ ccngやrouterなどは開発者にとっては必須ではないい
■ 複数インスタンスの試験が必要でない限り
○ deaとwardenだけで動ける方が幸せそう
■ リードエンジニアさん曰く将来的には Diego(go実装版)等で改善されるらしい
○ 現状CFは外からSSHする手段がない。。。
■ Wardenのwshは出来るが、通常routerの外からはそのような手段が取れない
※前回の輪読会でその悩みの暫定解決法は紹介済
- 11. buildpack
● buildpackとは
○ 元々はherokuで使われていた
○ Cloud Foundryの場合
■ DEA上のWardenコンテナの中でユーザのアプリが pushされたものを組み立てるのに使う
○ 3つのフェーズが存在
■ detect
● 『このファイルがあったらこの buildpackです!』と紐づける
■ compile
● javaのwebアプリなどはtomcatをどこかから持って来たりする処理が書かれている
● 運営者側でbuildpackキャッシュにファイルを置いておけば高速化出来る
■ release
● 環境変数のPATH等の設定
● Procfileの設定等(-c相当でstartコマンドを決める)
■
● 参考資料
○ はじめてのCF biuldpack
■ http://www.slideshare.net/jacopen/cf-buildpack
- 16. Dokku(buildstep)
● buildstepとdokkuとは
○ Jeff Lindsayさんという人が開発
○ 同じ人がFlynnという名称のPaaSを作成中(まだ開発中)
○ buildstep
■ buildpackを使ってDockerコンテナを作るスクリプト(ほぼほぼbash)
○ dokku
■ buildstep + git pushするとdockerコンテナを作ってくれる機能などが
存在
● 参考
○ http://qiita.com/hokaccha/items/af109d4037fa1d788617
- 17. 試した結果
● flynn
○ 軽く試したけれどうまく動きませんでした。。。
● dokku
○ 安定的かというと難しい所ですがplugin拡張なども出来
postgresqlなども使える『mini-heroku的』な存在
■ https://github.com/progrium/dokku/wiki/Plugins
● buildstep
○ 簡単にbuildpackを使うには割と便利(後程デモします)
- 18. building
● buildingとは
○ Cloud FoundryのAppFog運営元?のCenturyLinkLabsの作ったrubyの
gem
○ github上でも公開されている
○ こちらもdockerを使っていてbuildstepの+αくらいの位置づけ
■ buildstepのtarコマンド部分で固めたりする部分が簡略化されているらしい
○ 参考URL
■ https://github.com/CenturyLinkLabs/building
■ http://www.centurylinklabs.com/heroku-on-docker/
■ http://qiita.com/futoase/items/21167e9d064b0e336e8f