Your SlideShare is downloading. ×
Cloud Foundryリポジトリの歩き方
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Cloud Foundryリポジトリの歩き方

1,648

Published on

2012年9月13日に実施された,第9回CloudFoundry輪読会の発表資料です.イベントについては http://atnd.org/events/31797 を参照ください.

2012年9月13日に実施された,第9回CloudFoundry輪読会の発表資料です.イベントについては http://atnd.org/events/31797 を参照ください.

Published in: Technology
0 Comments
5 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
1,648
On Slideshare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
30
Comments
0
Likes
5
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Cloud Foundryリポジトリの歩き方 車谷駿介
  • 2. #whoami• 普段はNTTで研究開発に従事 – Cloud FoundryひいてはPaaS – (勝手に)分散処理する技術 – スマートフォン向けのシンクライアント技術• 元を辿るとa11y畑だった,ような.
  • 3. 本日のお題• リポジトリ多すぎ – 32個(cfcrjp06) -> 52個(cfcrjp09): +20!• CF(PaaS)のざっくりとした概要を解説 – 註:主要部以外を省略していることがあります – 註:2012年9月3日時点の情報です• リポジトリとのざっくりとした対応付け
  • 4. cloudfoundry/*• 52 Public Repositories (2012-09-03)
  • 5. Cloud Foundry..? Application Application Application Application 初期設定,運用等は Application Application Cloud Foundryに委譲 Cloud Foundry IaaS等の上に APIを介して 構築する方法も, アプリケーションをデプロイ 実際には必要アプリケーション開発者 アプリケーション利用者
  • 6. Cloud Foundry.? Application Application Application Application Application ApplicationVCAP:Vmware’s Cloud Application Platform Cloud Foundry BOSH: Cloud Foundry BOSH VMC: The VMware Cloud CLI アプリケーション開発者 アプリケーション利用者
  • 7. Cloud Foundry?• VCAP – Open Platform as a Service – いわゆるCloud Foundry• VMC – VCAPが外向けに用意しているAPI(HTTP)• BOSH – リリースエンジニアリングのツールチェーン
  • 8. cloudfoundry/*• VCAP/VMC/BOSH + 雑多なライブラリ等
  • 9. どんな機能を,何というコンポーネントが実現しているか……VCAP入門
  • 10. VCAP....? Application Application Application Application Application ApplicationVCAP:Vmware’s Cloud Application Platform Cloud Foundry アプリケーション開発者 アプリケーション利用者
  • 11. VCAP...?Cloud Foundry Application Application Application DEA: Application Application Application DEA: Application Application Application Droplet Execution Agent DEA: Droplet Execution Agent Droplet Execution Agent UAA HTTPSRouter アプリケーション利用者
  • 12. VCAP..?Cloud Foundry Application Application Application DEA: Application Application Application DEA: Application Application Application Droplet Execution Agent DEA: Droplet Execution Agent Droplet Execution Agent TCP Service UAA Service Cloud Controller HTTPSRouter VMC アプリケーション開発者
  • 13. VCAP.? Health Manager NATS Server NATS: Messaging Bus Application Application Application DEA: Application Application Application DEA: Application Application Stager Blobstore Application Droplet Execution Agent DEA: Droplet Execution Agent Droplet Execution Agent TCP Service UAA Service Cloud ControllerRouter アプリケーション開発者
  • 14. VCAP? Health Manager NATS Server NATS: Messaging Bus Application Application Application DEA: Application Application Application DEA: Application Application Stager Blobstore Application Droplet Execution Agent DEA: Droplet Execution Agent Droplet Execution Agent TCP Service UAA Service Cloud Controller HTTPSRouter アプリケーション開発者 アプリケーション利用者
  • 15. ノード間の通信 Health Manager NATS Server NATS: Messaging Bus Application Application Application DEA: Application Application Application DEA: Application Application Stager Blobstore Application Droplet Execution Agent DEA: Droplet Execution Agent Droplet Execution Agent TCP Service UAA Service Cloud Controller HTTPSRouter アプリケーション開発者 アプリケーション利用者
  • 16. ノード間の通信• 軽量メッセージングバス「NATS」を使用• http://github.com/derekcolison/nats• テキストベース PUB foo bar 11rn Hello Worldrn SUB bar 22rn ...
  • 17. ルーティング Health Manager NATS Server NATS: Messaging Bus Application Application Application DEA: Application Application Application DEA: Application Application Stager Blobstore Application Droplet Execution Agent DEA: Droplet Execution Agent Droplet Execution Agent TCP Service UAA Service Cloud Controller HTTPSRouter アプリケーション開発者 アプリケーション利用者
  • 18. ルーティング• 外からの通信はRouter(nginx)を介する Cloud Foundry Cloud Controller ApplicationApplication Application Application Application Application Router: nginx + Lua拡張アプリケーション開発者 アプリケーション利用者
  • 19. アプリケーションのデプロイ Health Manager NATS Server NATS: Messaging Bus Application Application Application DEA: Application Application Application DEA: Application Application Stager Blobstore Application Droplet Execution Agent DEA: Droplet Execution Agent Droplet Execution Agent TCP Service UAA Service Cloud Controller HTTPSRouter アプリケーション開発者 アプリケーション利用者
  • 20. アプリケーションのデプロイ• Stagerでパッケージング(vcap-staging) – インストーラ,起動スクリプトなど Cloud Foundry Blobstore: キャッシュ 必要に応じて ライブラリ等を自動取得 Gems, npm等 Stager: パッケージング DEA: 起動 UAA: 認証 Cloud Controller Router
  • 21. アプリケーションの動作環境• Runtime – Java 6/7, Scala, Ruby 1.8/1.9, PHP 5, Node.js 0.4/0.6/0.8, etc.• Framework – Spring, Groovy, Play!, Ruby on Rails, etc.• Services – 言語実行形以外の依存要素 – MySQL, filesystem, Redis, ElasticSearch, etc.
  • 22. アプリケーションの隔離 Health Manager NATS Server NATS: Messaging Bus Application Application Application DEA: Application Application Application DEA: Application Application Stager Blobstore Application Droplet Execution Agent DEA: Droplet Execution Agent Droplet Execution Agent TCP Service UAA Service Cloud Controller HTTPSRouter アプリケーション開発者 アプリケーション利用者
  • 23. アプリケーションの隔離• DEAによって管理される• wardenコンテナで隔離される予定 Cloud Foundry DEA Wardenコンテナ Wardenコンテナ Application 各コンテナにNWを用意してNAT (+ iptables etc.) Router
  • 24. サービスの活用 Health Manager NATS Server NATS: Messaging Bus Application Application Application DEA: Application Application Application DEA: Application Application Stager Blobstore Application Droplet Execution Agent DEA: Droplet Execution Agent Droplet Execution Agent TCP Service UAA Service Cloud Controller HTTPSRouter アプリケーション開発者 アプリケーション利用者
  • 25. サービスの活用• DBやキュー等の付加機能を用意できる• アプリケーションはサービスへ直接アクセス Cloud Foundry Service Node DEA Wardenコンテナ Wardenコンテナ Service Application Cloud Controller
  • 26. サービスの割り当て• Service Gatewayがプロビジョニング – Service Nodeに対する認証情報を払い出し Cloud Foundry Service Node DEA Wardenコンテナ Wardenコンテナ Service Application Service Gateway Cloud Controller
  • 27. サービスのバックアップ等• Service Workerが幾つかの処理をになう – シリアライズやスナップショット作成 Cloud Foundry Service Node DEA Wardenコンテナ Wardenコンテナ Service Service Application Worker Service Gateway Cloud Controller
  • 28. アプリケーションの死活監視 Health Manager NATS Server NATS: Messaging Bus Application Application Application DEA: Application Application Application DEA: Application Application Stager Blobstore Application Droplet Execution Agent DEA: Droplet Execution Agent Droplet Execution Agent TCP Service UAA Service Cloud Controller HTTPSRouter アプリケーション開発者 アプリケーション利用者
  • 29. アプリケーションの死活監視• Cloud Controllerが期待する状態を把握• Health Managerが実態を把握・修正要求• DEAはアプリケーションの実状態を監視 Cloud Foundry Cloud Controller DEA Wardenコンテナ Application Health Manager
  • 30. VCAP!Health Manager: 死活監視 NATS: Messaging NATS: Messaging Bus Application Application Application DEA: Application Application Application DEA: Application Application Stager Blobstore Application Droplet Execution Agent DEA: Droplet Execution Agent Droplet Execution Agent TCP UAA: Cloud Controller: Service 認証 オーケストレータ HTTPSRouter: ユーザとのI/F
  • 31. VCAP!! wardenhealth_manager[_next] nats Application Application Application Application Application Application Application Application † Application dea[_ng] vcap- cloud_controller services uaa [_ng] (-base)router ‡ † stager(-client), vcap-staging, vcap(-java, node, ruby) ‡ vmc-lib, vmc-glue, vmc-plugins || vmc || vcap-java-client
  • 32. 落ちRepo拾い (1)• vcap本体 – vcap: 言うまでもがなのリポジトリ – acm: 認可コンポーネント • 使われる気配無し• 試験ツール – vcap-tests: ユニットテスト – vcap-test-assets: テスト用アプリ群 – vcap-yeti: BVTツール
  • 33. 落ちRepo拾い (2)• その他 – caldecott: TCP over HTTPを実現 • 外とService間を接続する際等に利用 – common: いわゆるcommon – membrane: オブジェクトの妥当性検証 – package_cache: gemsや処理系等をキャッシュ – steno: loggerもどき – vcap-common: いわゆるcommon(vcap特化) • vcap-concurrency: 並列実行のサポート – vcap-tools: ツールチェーン
  • 34. 落ちRepo拾い (3)• リリースエンジニアリングのツールチェーン – bosh• BOSH向け環境構築セット – bat-release: BOSH Acceptance Tests – bosh-release: BOSH – bosh-sample-release – cf-release: Cloud Foundry (VCAP) – oss-release – vcap-services-sample-release
  • 35. 落ちRepo拾い (4)• ドキュメント類 – cf-docs: docs.cloudfoundry.com – oss-docs• Micro Cloud Foundry関係 – micro: “This repository is currently broken” – micro-deployments: “Nothing to see here”
  • 36. 落ちRepo拾い (5)• その他 – eventmachine: 同名のGemのフォーク – gerrit_test: レビューシステムの練習用 – gonats: go言語のNATSクライアント – gonit: go言語の監視ツール(monit) • gosigar: go言語のsigar API実装 – oss-tools: 雑多なツール類 • Pull Req.自動応答や,JenkinsのJob同期スクリプト – vblob: S3互換I/Fを提供するサービス

×