SlideShare une entreprise Scribd logo
1  sur  20
Télécharger pour lire hors ligne
buildpackを使ってアプリを
載せるためのアプローチ
自己紹介
名前: morika-t
仕事: Cloud Founrdy関連
最近のCF的興味:
Diego(DeaまわりのGo実装)
Buildpack周り
pivotalも最近力をいれており
buildpackチームが作られたので動向が気になる所
Cloud Foundryのアーキテクチャ
http://docs.run.pivotal.io/concepts/architecture/
CFとherokuの構成
DEA
コンテナ
(Warden)
RouterRouter
コンテナ
(Dyno)
APP APP
Cloud Foundry heroku
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がいくつも必要になり手
軽でない
アプリ開発者にとっての
Cloud Foundry&BOSH
https://flic.kr/p/9qmqeh
Cloud Foundryのv2になって
herokuと同じ
buildpackが入った!
アプリを載せるのが
簡単になるはずだった。。。
現状のCloud Foundryの現実
● buildpackになっても
○ ちょっと直して動かすがやりにくい
○ buildpackそのもののエラー落ちやアプリ起動時のログが拾いにくい
● 少なくともアプリ開発者にとって
○ ccngやrouterなどは開発者にとっては必須ではないい
■ 複数インスタンスの試験が必要でない限り
○ deaとwardenだけで動ける方が幸せそう
■ リードエンジニアさん曰く将来的には Diego(go実装版)等で改善されるらしい
○ 現状CFは外からSSHする手段がない。。。
■ Wardenのwshは出来るが、通常routerの外からはそのような手段が取れない
※前回の輪読会でその悩みの暫定解決法は紹介済
現状のCFの
PaaSの恩恵を受けるまでの状態
httpshttps://www.flickr.
com/photos/the_3rd_place/4853328
408/in/photostream/://www.flickr.
com/photos/the_3rd_place/4853328
408/in/photostream/
https://flic.kr/p/8r9kdJ
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
『buildpackを使っている』
という事は?
『buildpack向けのツールの
恩恵が受けられる』ということ
最近では
『Immutable Infrastructure』
というキーワードが流行ってきており
『Docker』
という便利なツールも使える為、PaaSに取って良い方向性に
簡単にbuildpackを試す環境を作りたい
そういったニーズから
いくつか似たアプローチのツールが登場
1. dokku(buildstep)
2. building
3. docker-paas-example
Dokku(buildstep)
● buildstepとdokkuとは
○ Jeff Lindsayさんという人が開発
○ 同じ人がFlynnという名称のPaaSを作成中(まだ開発中)
○ buildstep
■ buildpackを使ってDockerコンテナを作るスクリプト(ほぼほぼbash)
○ dokku
■ buildstep + git pushするとdockerコンテナを作ってくれる機能などが
存在
● 参考
○ http://qiita.com/hokaccha/items/af109d4037fa1d788617
試した結果
● flynn
○ 軽く試したけれどうまく動きませんでした。。。
● dokku
○ 安定的かというと難しい所ですがplugin拡張なども出来
postgresqlなども使える『mini-heroku的』な存在
■ https://github.com/progrium/dokku/wiki/Plugins
● buildstep
○ 簡単にbuildpackを使うには割と便利(後程デモします)
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
docker-paas-example
● docker-paas-example
○ Naoya Itoさんが作成
○ dokkuと同様な挙動でDocker+rubyで出来ている
○ Docker Meetup Tokyo #2向けに制作されたらしい
■ https://github.com/naoya/docker-paas-example
まとめ
● herokuのbuildpackと同じ仕組を使っていると同
じようなツールで恩恵を受ける事ができそう
● 個人的にはできればwardenもdocker位に楽に
使えるようになってほしい
● dokkuの人は元々Piston Cloudで
OpenStack+Cloud Foundryを使っていて構築
に時間がかかって苦労したという経験からflynn
等を作ったという経歴がなかなか興味深い存在
※http://wazanova.jp/items/985

Contenu connexe

Tendances

aws上でcloud foundryを構築してみた
aws上でcloud foundryを構築してみたaws上でcloud foundryを構築してみた
aws上でcloud foundryを構築してみた
kokuboyuichi
 

Tendances (20)

Docker PaaSとしての OpenShift, Deis, Flynn比較
Docker PaaSとしての OpenShift, Deis, Flynn比較Docker PaaSとしての OpenShift, Deis, Flynn比較
Docker PaaSとしての OpenShift, Deis, Flynn比較
 
すごいBOSHたのしく学ぼう
すごいBOSHたのしく学ぼうすごいBOSHたのしく学ぼう
すごいBOSHたのしく学ぼう
 
Cloud foundry(v2)へアプリを載せ替え
Cloud foundry(v2)へアプリを載せ替えCloud foundry(v2)へアプリを載せ替え
Cloud foundry(v2)へアプリを載せ替え
 
aws上でcloud foundryを構築してみた
aws上でcloud foundryを構築してみたaws上でcloud foundryを構築してみた
aws上でcloud foundryを構築してみた
 
BOSH-lite で 1VM Cloud Foundry
BOSH-lite で 1VM Cloud FoundryBOSH-lite で 1VM Cloud Foundry
BOSH-lite で 1VM Cloud Foundry
 
Cloud Foundryで学ぶ、PaaSのしくみ講座
Cloud Foundryで学ぶ、PaaSのしくみ講座Cloud Foundryで学ぶ、PaaSのしくみ講座
Cloud Foundryで学ぶ、PaaSのしくみ講座
 
Cloud Foundryは何故動くのか
Cloud Foundryは何故動くのかCloud Foundryは何故動くのか
Cloud Foundryは何故動くのか
 
Cloud Foundry構成概要 111018
Cloud Foundry構成概要 111018Cloud Foundry構成概要 111018
Cloud Foundry構成概要 111018
 
ひしめき合うOpen PaaSを徹底解剖! PaaSの今と未来
ひしめき合うOpen PaaSを徹底解剖! PaaSの今と未来ひしめき合うOpen PaaSを徹底解剖! PaaSの今と未来
ひしめき合うOpen PaaSを徹底解剖! PaaSの今と未来
 
runC概要と使い方
runC概要と使い方runC概要と使い方
runC概要と使い方
 
Cloud foundryのコミュニティを紹介するよ
Cloud foundryのコミュニティを紹介するよCloud foundryのコミュニティを紹介するよ
Cloud foundryのコミュニティを紹介するよ
 
(続) はじめてのCloud Foundry
(続) はじめてのCloud Foundry(続) はじめてのCloud Foundry
(続) はじめてのCloud Foundry
 
Reading NATS
Reading NATSReading NATS
Reading NATS
 
Cloud Foundry Admin UI v2を使ってみた
Cloud Foundry Admin UI v2を使ってみたCloud Foundry Admin UI v2を使ってみた
Cloud Foundry Admin UI v2を使ってみた
 
CloudFoundryをつかってみよう
CloudFoundryをつかってみようCloudFoundryをつかってみよう
CloudFoundryをつかってみよう
 
クラウドを『作る』ってどういうこと?
クラウドを『作る』ってどういうこと?クラウドを『作る』ってどういうこと?
クラウドを『作る』ってどういうこと?
 
『コンテナ疲れ』と戦う、k8s・PaaS・Serverlessの活用法
『コンテナ疲れ』と戦う、k8s・PaaS・Serverlessの活用法『コンテナ疲れ』と戦う、k8s・PaaS・Serverlessの活用法
『コンテナ疲れ』と戦う、k8s・PaaS・Serverlessの活用法
 
Cloud Foundry Container-to-Container Networking
Cloud Foundry Container-to-Container NetworkingCloud Foundry Container-to-Container Networking
Cloud Foundry Container-to-Container Networking
 
Cloud Foundry as Containerized Services - Cloud Foundry Days Tokyo 2016
Cloud Foundry as Containerized Services - Cloud Foundry Days Tokyo 2016Cloud Foundry as Containerized Services - Cloud Foundry Days Tokyo 2016
Cloud Foundry as Containerized Services - Cloud Foundry Days Tokyo 2016
 
PaaS / Cloud Foundry makes you happy
PaaS / Cloud Foundry makes you happyPaaS / Cloud Foundry makes you happy
PaaS / Cloud Foundry makes you happy
 

En vedette

cf-containers-broker を使ってローカル環境もサービスの恩恵をうける
cf-containers-broker を使ってローカル環境もサービスの恩恵をうけるcf-containers-broker を使ってローカル環境もサービスの恩恵をうける
cf-containers-broker を使ってローカル環境もサービスの恩恵をうける
Takeshi Morikawa
 
業務アプリケーションにおけるモダンWeb開発の現状ーHTML5開発って簡単なの?
業務アプリケーションにおけるモダンWeb開発の現状ーHTML5開発って簡単なの?業務アプリケーションにおけるモダンWeb開発の現状ーHTML5開発って簡単なの?
業務アプリケーションにおけるモダンWeb開発の現状ーHTML5開発って簡単なの?
Fumio SAGAWA
 
プログラム初心者がWebサービスをリリースして運営するまで
プログラム初心者がWebサービスをリリースして運営するまでプログラム初心者がWebサービスをリリースして運営するまで
プログラム初心者がWebサービスをリリースして運営するまで
Tomoaki Iwasaki
 

En vedette (20)

GO-CFを試してみる
GO-CFを試してみるGO-CFを試してみる
GO-CFを試してみる
 
Myfirst cloudfoundry intro_20161201
Myfirst cloudfoundry intro_20161201Myfirst cloudfoundry intro_20161201
Myfirst cloudfoundry intro_20161201
 
Siriproxy - Talk to Cloudfoundry
Siriproxy - Talk to CloudfoundrySiriproxy - Talk to Cloudfoundry
Siriproxy - Talk to Cloudfoundry
 
部屋と◯◯と私
部屋と◯◯と私部屋と◯◯と私
部屋と◯◯と私
 
Spring Bootハンズオン ~Spring Bootで作る マイクロサービスアーキテクチャ! #jjug_ccc #ccc_r53
Spring Bootハンズオン ~Spring Bootで作る マイクロサービスアーキテクチャ! #jjug_ccc #ccc_r53Spring Bootハンズオン ~Spring Bootで作る マイクロサービスアーキテクチャ! #jjug_ccc #ccc_r53
Spring Bootハンズオン ~Spring Bootで作る マイクロサービスアーキテクチャ! #jjug_ccc #ccc_r53
 
yet another all-in-one cloudfoundry
yet another all-in-one cloudfoundryyet another all-in-one cloudfoundry
yet another all-in-one cloudfoundry
 
cf-containers-broker を使ってローカル環境もサービスの恩恵をうける
cf-containers-broker を使ってローカル環境もサービスの恩恵をうけるcf-containers-broker を使ってローカル環境もサービスの恩恵をうける
cf-containers-broker を使ってローカル環境もサービスの恩恵をうける
 
モダンWeb開発ワークショップ
モダンWeb開発ワークショップモダンWeb開発ワークショップ
モダンWeb開発ワークショップ
 
Web業務アプリの新しい潮流
Web業務アプリの新しい潮流Web業務アプリの新しい潮流
Web業務アプリの新しい潮流
 
Microservicesを実現するために、インフラエンジニアと開発者がすべきこと
Microservicesを実現するために、インフラエンジニアと開発者がすべきことMicroservicesを実現するために、インフラエンジニアと開発者がすべきこと
Microservicesを実現するために、インフラエンジニアと開発者がすべきこと
 
Cloud Foundryの件について@OpenStack Days Tokyo 2015
Cloud Foundryの件について@OpenStack Days Tokyo 2015Cloud Foundryの件について@OpenStack Days Tokyo 2015
Cloud Foundryの件について@OpenStack Days Tokyo 2015
 
Spa のための web サーバ構築ノウハウ
Spa のための web サーバ構築ノウハウ Spa のための web サーバ構築ノウハウ
Spa のための web サーバ構築ノウハウ
 
Cloud Foundry boosts NTT clouds - Pivotal Cloud Platform Roadshow: Tokyo
Cloud Foundry boosts NTT clouds - Pivotal Cloud Platform Roadshow: TokyoCloud Foundry boosts NTT clouds - Pivotal Cloud Platform Roadshow: Tokyo
Cloud Foundry boosts NTT clouds - Pivotal Cloud Platform Roadshow: Tokyo
 
RESTful開発フロントエンド編(SPA・AltJS・フレームワーク)
RESTful開発フロントエンド編(SPA・AltJS・フレームワーク)RESTful開発フロントエンド編(SPA・AltJS・フレームワーク)
RESTful開発フロントエンド編(SPA・AltJS・フレームワーク)
 
Cloud Foundry Cli Plugin入門
Cloud Foundry Cli Plugin入門Cloud Foundry Cli Plugin入門
Cloud Foundry Cli Plugin入門
 
業務アプリケーションにおけるモダンWeb開発の現状ーHTML5開発って簡単なの?
業務アプリケーションにおけるモダンWeb開発の現状ーHTML5開発って簡単なの?業務アプリケーションにおけるモダンWeb開発の現状ーHTML5開発って簡単なの?
業務アプリケーションにおけるモダンWeb開発の現状ーHTML5開発って簡単なの?
 
プログラム初心者がWebサービスをリリースして運営するまで
プログラム初心者がWebサービスをリリースして運営するまでプログラム初心者がWebサービスをリリースして運営するまで
プログラム初心者がWebサービスをリリースして運営するまで
 
サーバサイドエンジニアが 1年間まじめにSPAやってみた
サーバサイドエンジニアが 1年間まじめにSPAやってみたサーバサイドエンジニアが 1年間まじめにSPAやってみた
サーバサイドエンジニアが 1年間まじめにSPAやってみた
 
Spring Boot + Netflix Eureka
Spring Boot + Netflix EurekaSpring Boot + Netflix Eureka
Spring Boot + Netflix Eureka
 
Spring Bootをはじめる時にやるべき10のこと
Spring Bootをはじめる時にやるべき10のことSpring Bootをはじめる時にやるべき10のこと
Spring Bootをはじめる時にやるべき10のこと
 

Similaire à 第18回Cloud Foundry輪読会用 Buildpackを使ってアプリを 載せるためのアプローチ

20130803 OSC@Kyoto CloudStackユーザー会
20130803 OSC@Kyoto CloudStackユーザー会20130803 OSC@Kyoto CloudStackユーザー会
20130803 OSC@Kyoto CloudStackユーザー会
samemoon
 
20150101勉強会 dokku alt
20150101勉強会 dokku alt20150101勉強会 dokku alt
20150101勉強会 dokku alt
Shugo Numano
 

Similaire à 第18回Cloud Foundry輪読会用 Buildpackを使ってアプリを 載せるためのアプローチ (20)

Garden introduction for dea users public
Garden introduction for dea users   publicGarden introduction for dea users   public
Garden introduction for dea users public
 
Docker入門-基礎編 いまから始めるDocker管理【2nd Edition】
Docker入門-基礎編 いまから始めるDocker管理【2nd Edition】Docker入門-基礎編 いまから始めるDocker管理【2nd Edition】
Docker入門-基礎編 いまから始めるDocker管理【2nd Edition】
 
Dockerの基本的な話
Dockerの基本的な話Dockerの基本的な話
Dockerの基本的な話
 
Wagby on Cloud Foundry
Wagby on Cloud FoundryWagby on Cloud Foundry
Wagby on Cloud Foundry
 
20130803 OSC@Kyoto CloudStackユーザー会
20130803 OSC@Kyoto CloudStackユーザー会20130803 OSC@Kyoto CloudStackユーザー会
20130803 OSC@Kyoto CloudStackユーザー会
 
INF-015_そこのコンテナ、うまく積めてるね! ~Windows アプリケーション コンテナの展開と運用~
INF-015_そこのコンテナ、うまく積めてるね! ~Windows アプリケーション コンテナの展開と運用~INF-015_そこのコンテナ、うまく積めてるね! ~Windows アプリケーション コンテナの展開と運用~
INF-015_そこのコンテナ、うまく積めてるね! ~Windows アプリケーション コンテナの展開と運用~
 
Alibaba Cloud で Docker を動かしてみよう [Hands-on]
Alibaba Cloud で Docker を動かしてみよう [Hands-on]Alibaba Cloud で Docker を動かしてみよう [Hands-on]
Alibaba Cloud で Docker を動かしてみよう [Hands-on]
 
いまからでも遅くない Docker事始め&愉快な仲間達
いまからでも遅くない Docker事始め&愉快な仲間達いまからでも遅くない Docker事始め&愉快な仲間達
いまからでも遅くない Docker事始め&愉快な仲間達
 
Scalaコーディングの準備
Scalaコーディングの準備Scalaコーディングの準備
Scalaコーディングの準備
 
DockerとPodmanの比較
DockerとPodmanの比較DockerとPodmanの比較
DockerとPodmanの比較
 
MasterCloud Docker Hands-on 20170725
MasterCloud Docker Hands-on 20170725MasterCloud Docker Hands-on 20170725
MasterCloud Docker Hands-on 20170725
 
Docker実践入門
Docker実践入門Docker実践入門
Docker実践入門
 
Dockerを徹底活用したSoftLayer環境にお けるディープラーニング開発環境の構築 - Alpaca Cloud Days発表資料
Dockerを徹底活用したSoftLayer環境にお けるディープラーニング開発環境の構築 - Alpaca Cloud Days発表資料Dockerを徹底活用したSoftLayer環境にお けるディープラーニング開発環境の構築 - Alpaca Cloud Days発表資料
Dockerを徹底活用したSoftLayer環境にお けるディープラーニング開発環境の構築 - Alpaca Cloud Days発表資料
 
Newcomer2020 Docker研修
Newcomer2020 Docker研修Newcomer2020 Docker研修
Newcomer2020 Docker研修
 
Embedded Webで加速するWeb of Things
Embedded Webで加速するWeb of ThingsEmbedded Webで加速するWeb of Things
Embedded Webで加速するWeb of Things
 
CoreOS OEM on NIFTY Cloud - CoreOS Meetup Tokyo #1 #coreosjp
CoreOS OEM on NIFTY Cloud - CoreOS Meetup Tokyo #1 #coreosjpCoreOS OEM on NIFTY Cloud - CoreOS Meetup Tokyo #1 #coreosjp
CoreOS OEM on NIFTY Cloud - CoreOS Meetup Tokyo #1 #coreosjp
 
20150101勉強会 dokku alt
20150101勉強会 dokku alt20150101勉強会 dokku alt
20150101勉強会 dokku alt
 
Cordovaの最近ホットな話題と地雷をまとめて紹介
Cordovaの最近ホットな話題と地雷をまとめて紹介Cordovaの最近ホットな話題と地雷をまとめて紹介
Cordovaの最近ホットな話題と地雷をまとめて紹介
 
Provisioning Nutanix VMs with Terraform
Provisioning Nutanix VMs with TerraformProvisioning Nutanix VMs with Terraform
Provisioning Nutanix VMs with Terraform
 
インフラエンジニアのためのRancherを使ったDocker運用入門
インフラエンジニアのためのRancherを使ったDocker運用入門インフラエンジニアのためのRancherを使ったDocker運用入門
インフラエンジニアのためのRancherを使ったDocker運用入門
 

第18回Cloud Foundry輪読会用 Buildpackを使ってアプリを 載せるためのアプローチ