Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Myfirst buildpack session_mgmt_20161201

478 views

Published on

Buildpackのはじめかた by 杉原さん
セッション管理のはじめかた by Andy(Tao)さん

Published in: Technology
  • Be the first to comment

Myfirst buildpack session_mgmt_20161201

  1. 1. Buildpackのはじめかた 杉原智衛 カスタマーエンジニア Global Support Services, Pivotal
  2. 2. 目的 • Buildpackの概要 • サンプルアプリケーションをデプロイ • Buildpackの内部動作 • Buildpackのカスタマイズ • Buildpackの管理
  3. 3. Buildpackとは • 実行環境を提供しOS・ミドルウェアを隠蔽 – 開発者はbulidpackのみを意識してアプリケーションを開発 – OSやミドルウェア・フレームワークの管理から開放 • java/ruby/php/nodejs/pythonなどbuilt-inとしてCFコミュニ ティが開発・保守 – 言語ごとにに作法(codeの配置、設定など)は異なるが、CF API による操作、CFプラットフォームからの呼び出しは統一的
  4. 4. 準備 • 準備 – CF CLIのインストール – CloudFoundryへのアクセス ▪ Pivotal Web Servicesをつかいます ▪ $ cf login -a https://api.run.pivotal.io • 参考 –https://github.com/Pivotal-Japan/cf- workshop/blob/master/prerequisite.md
  5. 5. Buildpackにふれてみよう $ cf buildpacks $ cf help -a | grep buildpack $ cf push APP_NAME (-b PATH_TO_BP)
  6. 6. php_buildpack • 30秒チュートリアル $ mkdir my-php-app $ cd my-php-app $ cat << EOF > index.php <?php phpinfo(); ?> EOF $ cf push -m 128M -b https://github.com/cloudfoundry/php-buildpack.git my-php-app
  7. 7. サンプルアプリをうごかしてみよう • サンプル集 • Cloud foundryへ push – git clone REPO_URL && cd REPO_NAME – cf push
  8. 8. 内部動作 • bin/detect: pushされたアプリに適合するbuildpackかどう かを検知する • bin/compile:アプリをパッケージ化してdropletを作成する • bin/release: CFにどのように実行するかを伝える
  9. 9. カスタムbuildpack • https://github.com/tomoe/mybp/ • cf push -m 128M -b https://github.com/Pivotal-Japan/sample- custom-buildpack test-with-mybp
  10. 10. まとめ • Buildpackの意味・動作・カスタマイズ・管理方法をざっ くりと説明しました • cloudfoundryによるアプリ開発ができるようになってい ただいた(はず)
  11. 11. 参考リンク • https://github.com/Pivotal-Japan/cf-workshop • built-in buildpacks • Buildpack/rootfs/stemcell解説
  12. 12. Cloud Foundry Session Management Tao Deng Customer Engineer
  13. 13. prerequisite • cf cli https://github.com/cloudfoundry/cli/releases • PWS account sign-up for free at http://run.pivotal.io • git • maven
  14. 14. Instance 1 Instance 4 Instance 2 Instance 3 Redis,Gemfire LoadBalancer+Routers Cloud Foundry
  15. 15. Sticky Session • blog by pivots (James Bayer) – http://www.iamjambay.com/2013/10/a-quick-tour-of-cloud-foundry- router.html • source code – https://github.com/jbayer/cloudfoundry-sticky-session
  16. 16. Edit manifest.yml 1. git clone https://github.com/jbayer/cloudfoundry-sticky-session 2. cd cloudfoundry-sticky-session 3. add manifest.yml --- applications: - name: sticky-session memory: 256M instances: 4 host: <any unique string here> path: ./target/StickySessionApp-1.0.war buildpack: java_buildpack
  17. 17. Push app to Cloud Foundry 1.mvn package 2.cf push 3.cf scale APP_NAME -i 4
  18. 18. Demo To support sticky sessions, applications must return a JSESSIONID cookie in responses. If an application returns a JSESSIONID cookie to a client request, the CF routing tier appends a second cookie, called VCAP_ID, containing a unique identifier for the application instance. On subsequent requests, the client must provide both the JSESSIONID and VCAP_ID cookies. The CF routing tier uses the VCAP_ID to forward client requests to the same application instance every time.
  19. 19. Instance X 1 Load Balancer + RoutersClient(Browser) App Instances 1. http request 2.http request 3.http response (JSESSIONID cookie) 5.http request JSESSIONID cookie + VCAP_ID cookie 4.http response JSESSIONID cookie + VCAP_ID cookie Datagram Instance ...1 Instance ...1 Instance ...1
  20. 20. A NEW PLATFORM FOR A NEW ERA

×