SlideShare uma empresa Scribd logo
1 de 36
Baixar para ler offline
Cloud Foundry
リポジトリの歩き方
     車谷駿介
#whoami
• 普段はNTTで研究開発に従事
 – Cloud FoundryひいてはPaaS
 – (勝手に)分散処理する技術
 – スマートフォン向けのシンクライアント技術
• 元を辿るとa11y畑だった,ような.
本日のお題
• リポジトリ多すぎ
 – 32個(cfcrjp06) -> 52個(cfcrjp09): +20!
• CF(PaaS)のざっくりとした概要を解説
 – 註:主要部以外を省略していることがあります
 – 註:2012年9月3日時点の情報です
• リポジトリとのざっくりとした対応付け
cloudfoundry/*
• 52 Public Repositories (2012-09-03)
Cloud Foundry..?
                    Application
                     Application
                      Application
                        Application
 初期設定,運用等は                Application
                           Application
 Cloud Foundryに委譲



                     Cloud Foundry


                                           IaaS等の上に
          APIを介して                          構築する方法も,
          アプリケーションをデプロイ                    実際には必要



アプリケーション開発者                  アプリケーション利用者
Cloud Foundry.?
                        Application
                         Application
                          Application
                            Application
                              Application
                               Application
VCAP:
Vmware’s Cloud Application Platform
                         Cloud Foundry


                                             BOSH:
                                             Cloud Foundry BOSH
            VMC:
            The VMware Cloud CLI
  アプリケーション開発者                    アプリケーション利用者
Cloud Foundry?
• VCAP
 – Open Platform as a Service
 – いわゆるCloud Foundry
• VMC
 – VCAPが外向けに用意しているAPI(HTTP)
• BOSH
 – リリースエンジニアリングのツールチェーン
cloudfoundry/*
• VCAP/VMC/BOSH + 雑多なライブラリ等
どんな機能を,何というコンポーネントが実現しているか……

VCAP入門
VCAP....?
                        Application
                         Application
                          Application
                            Application
                              Application
                               Application
VCAP:
Vmware’s Cloud Application Platform
                         Cloud Foundry




  アプリケーション開発者                    アプリケーション利用者
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

                                         HTTPS

Router




                    アプリケーション利用者
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
                                                       HTTPS

Router


                   VMC


 アプリケーション開発者
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


Router




 アプリケーション開発者
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
                                                               HTTPS

Router




 アプリケーション開発者                           アプリケーション利用者
ノード間の通信
  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
                                                               HTTPS

Router




 アプリケーション開発者                           アプリケーション利用者
ノード間の通信
• 軽量メッセージングバス「NATS」を使用
• http://github.com/derekcolison/nats
• テキストベース


                         PUB foo bar 11rn
                         Hello Worldrn
                         SUB bar 22rn
                         ...
ルーティング
  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
                                                               HTTPS

Router




 アプリケーション開発者                           アプリケーション利用者
ルーティング
• 外からの通信はRouter(nginx)を介する
                     Cloud Foundry

       Cloud Controller     ApplicationApplication
                              Application
                                Application
                                  Application
                                     Application

                Router: nginx + Lua拡張




アプリケーション開発者                 アプリケーション利用者
アプリケーションのデプロイ
  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
                                                               HTTPS

Router




 アプリケーション開発者                           アプリケーション利用者
アプリケーションのデプロイ
• Stagerでパッケージング(vcap-staging)
 – インストーラ,起動スクリプトなど
                 Cloud Foundry
                          Blobstore: キャッシュ
       必要に応じて
       ライブラリ等を自動取得
       Gems, npm等
            Stager: パッケージング             DEA: 起動
  UAA: 認証

              Cloud Controller

                    Router
アプリケーションの動作環境
• 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.
アプリケーションの隔離
  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
                                                               HTTPS

Router




 アプリケーション開発者                           アプリケーション利用者
アプリケーションの隔離
• DEAによって管理される
• wardenコンテナで隔離される予定
                   Cloud Foundry
                       DEA
    Wardenコンテナ       Wardenコンテナ
     Application




    各コンテナにNWを用意してNAT (+ iptables etc.)

                      Router
サービスの活用
  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
                                                               HTTPS

Router




 アプリケーション開発者                           アプリケーション利用者
サービスの活用
• DBやキュー等の付加機能を用意できる
• アプリケーションはサービスへ直接アクセス
          Cloud Foundry
       Service Node             DEA
      Wardenコンテナ          Wardenコンテナ
         Service            Application




                          Cloud Controller
サービスの割り当て
• Service Gatewayがプロビジョニング
 – Service Nodeに対する認証情報を払い出し
                  Cloud Foundry
              Service Node              DEA
             Wardenコンテナ           Wardenコンテナ
                 Service            Application




    Service Gateway               Cloud Controller
サービスのバックアップ等
• Service Workerが幾つかの処理をになう
 – シリアライズやスナップショット作成
                   Cloud Foundry
               Service Node              DEA
              Wardenコンテナ           Wardenコンテナ
   Service
                  Service            Application
   Worker




     Service Gateway               Cloud Controller
アプリケーションの死活監視
  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
                                                               HTTPS

Router




 アプリケーション開発者                           アプリケーション利用者
アプリケーションの死活監視
• Cloud Controllerが期待する状態を把握
• Health Managerが実態を把握・修正要求
• DEAはアプリケーションの実状態を監視
                   Cloud Foundry


                            Cloud Controller
         DEA
     Wardenコンテナ

     Application
                             Health Manager
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     認証
     オーケストレータ                                                HTTPS

Router: ユーザとのI/F
VCAP!!                               warden

health_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
落ちRepo拾い (1)
• vcap本体
 – vcap:     言うまでもがなのリポジトリ
 – acm:      認可コンポーネント
   • 使われる気配無し
• 試験ツール
 – vcap-tests:         ユニットテスト
 – vcap-test-assets:   テスト用アプリ群
 – vcap-yeti:          BVTツール
落ちRepo拾い (2)
• その他
 – caldecott:         TCP over HTTPを実現
     • 外とService間を接続する際等に利用
 –   common:          いわゆるcommon
 –   membrane:        オブジェクトの妥当性検証
 –   package_cache:   gemsや処理系等をキャッシュ
 –   steno:           loggerもどき
 –   vcap-common:     いわゆるcommon(vcap特化)
     • vcap-concurrency: 並列実行のサポート
 – vcap-tools:        ツールチェーン
落ち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
落ちRepo拾い (4)
• ドキュメント類
  – cf-docs:   docs.cloudfoundry.com
  – oss-docs
• Micro Cloud Foundry関係
  – micro: “This repository is currently broken”
  – micro-deployments: “Nothing to see here”
落ち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を提供するサービス

Mais conteúdo relacionado

Semelhante a Cloud Foundryリポジトリの歩き方

【17-D-6】.NETアセンブリの宿命
【17-D-6】.NETアセンブリの宿命【17-D-6】.NETアセンブリの宿命
【17-D-6】.NETアセンブリの宿命Developers Summit
 
FRT Vol. 5 クラウド時代の企業アプリケーションとマーケティング
FRT Vol. 5 クラウド時代の企業アプリケーションとマーケティングFRT Vol. 5 クラウド時代の企業アプリケーションとマーケティング
FRT Vol. 5 クラウド時代の企業アプリケーションとマーケティングYasunari Goto (iChain. Inc.)
 
【16-D-4】3分ではじめるスマホアプリのビジュアル開発
【16-D-4】3分ではじめるスマホアプリのビジュアル開発【16-D-4】3分ではじめるスマホアプリのビジュアル開発
【16-D-4】3分ではじめるスマホアプリのビジュアル開発hmimura_embarcadero
 
Garden introduction for dea users public
Garden introduction for dea users   publicGarden introduction for dea users   public
Garden introduction for dea users publicTakehiko Amano
 
ハイブリットクラウド環境におけるモダンアプリケーション開発
ハイブリットクラウド環境におけるモダンアプリケーション開発ハイブリットクラウド環境におけるモダンアプリケーション開発
ハイブリットクラウド環境におけるモダンアプリケーション開発政雄 金森
 
Web appsとcleardbで作る簡単webサイト
Web appsとcleardbで作る簡単webサイトWeb appsとcleardbで作る簡単webサイト
Web appsとcleardbで作る簡単webサイトTsukasa Kato
 
Adobe RIA製品のご紹介 Flash PlatformとFlexフレームワーク
Adobe RIA製品のご紹介 Flash PlatformとFlexフレームワークAdobe RIA製品のご紹介 Flash PlatformとFlexフレームワーク
Adobe RIA製品のご紹介 Flash PlatformとFlexフレームワークTeiichi Ota
 
20200811 AWS Black Belt Online Seminar CloudEndure
20200811 AWS Black Belt Online Seminar CloudEndure20200811 AWS Black Belt Online Seminar CloudEndure
20200811 AWS Black Belt Online Seminar CloudEndureAmazon Web Services Japan
 
20120309 cloud mix-public クラウドごった煮
20120309 cloud mix-public クラウドごった煮 20120309 cloud mix-public クラウドごった煮
20120309 cloud mix-public クラウドごった煮 Kentaro Ebisawa
 
CloudSpiral 2014年度 Webアプリ講義(2日目)
CloudSpiral 2014年度 Webアプリ講義(2日目)CloudSpiral 2014年度 Webアプリ講義(2日目)
CloudSpiral 2014年度 Webアプリ講義(2日目)Shin Matsumoto
 
ニフティクラウド C4 sa ご紹介資料ver.1.2
ニフティクラウド C4 sa ご紹介資料ver.1.2ニフティクラウド C4 sa ご紹介資料ver.1.2
ニフティクラウド C4 sa ご紹介資料ver.1.2Satoshi Ueno
 
[Cloud OnAir] Talks by DevRel Vol.5 アプリケーションのモダナイゼーション 2020年9月3日 放送
[Cloud OnAir] Talks by DevRel Vol.5 アプリケーションのモダナイゼーション 2020年9月3日 放送[Cloud OnAir] Talks by DevRel Vol.5 アプリケーションのモダナイゼーション 2020年9月3日 放送
[Cloud OnAir] Talks by DevRel Vol.5 アプリケーションのモダナイゼーション 2020年9月3日 放送Google Cloud Platform - Japan
 
DeNAが取り組む Software Engineer in Test
DeNAが取り組む Software Engineer in TestDeNAが取り組む Software Engineer in Test
DeNAが取り組む Software Engineer in TestMasaki Nakagawa
 
Docker Enterprise Editionで実践するCaaS
Docker Enterprise Editionで実践するCaaSDocker Enterprise Editionで実践するCaaS
Docker Enterprise Editionで実践するCaaSDevOps Hub
 
Deploying secure service mesh for applications on k8s with using A10's Lighti...
Deploying secure service mesh for applications on k8s with using A10's Lighti...Deploying secure service mesh for applications on k8s with using A10's Lighti...
Deploying secure service mesh for applications on k8s with using A10's Lighti...Kentaro Ishizuka
 

Semelhante a Cloud Foundryリポジトリの歩き方 (20)

Springon cloudfoundry
Springon cloudfoundrySpringon cloudfoundry
Springon cloudfoundry
 
VIOPS04: クラウド最新技術動向 ~ビジネスを動かすコア技術~
VIOPS04: クラウド最新技術動向 ~ビジネスを動かすコア技術~VIOPS04: クラウド最新技術動向 ~ビジネスを動かすコア技術~
VIOPS04: クラウド最新技術動向 ~ビジネスを動かすコア技術~
 
【17-D-6】.NETアセンブリの宿命
【17-D-6】.NETアセンブリの宿命【17-D-6】.NETアセンブリの宿命
【17-D-6】.NETアセンブリの宿命
 
FRT Vol. 5 クラウド時代の企業アプリケーションとマーケティング
FRT Vol. 5 クラウド時代の企業アプリケーションとマーケティングFRT Vol. 5 クラウド時代の企業アプリケーションとマーケティング
FRT Vol. 5 クラウド時代の企業アプリケーションとマーケティング
 
【16-D-4】3分ではじめるスマホアプリのビジュアル開発
【16-D-4】3分ではじめるスマホアプリのビジュアル開発【16-D-4】3分ではじめるスマホアプリのビジュアル開発
【16-D-4】3分ではじめるスマホアプリのビジュアル開発
 
Garden introduction for dea users public
Garden introduction for dea users   publicGarden introduction for dea users   public
Garden introduction for dea users public
 
ハイブリットクラウド環境におけるモダンアプリケーション開発
ハイブリットクラウド環境におけるモダンアプリケーション開発ハイブリットクラウド環境におけるモダンアプリケーション開発
ハイブリットクラウド環境におけるモダンアプリケーション開発
 
Web appsとcleardbで作る簡単webサイト
Web appsとcleardbで作る簡単webサイトWeb appsとcleardbで作る簡単webサイト
Web appsとcleardbで作る簡単webサイト
 
Adobe RIA製品のご紹介 Flash PlatformとFlexフレームワーク
Adobe RIA製品のご紹介 Flash PlatformとFlexフレームワークAdobe RIA製品のご紹介 Flash PlatformとFlexフレームワーク
Adobe RIA製品のご紹介 Flash PlatformとFlexフレームワーク
 
20200811 AWS Black Belt Online Seminar CloudEndure
20200811 AWS Black Belt Online Seminar CloudEndure20200811 AWS Black Belt Online Seminar CloudEndure
20200811 AWS Black Belt Online Seminar CloudEndure
 
20120309 cloud mix-public クラウドごった煮
20120309 cloud mix-public クラウドごった煮 20120309 cloud mix-public クラウドごった煮
20120309 cloud mix-public クラウドごった煮
 
Nsx alb as-adc
Nsx alb as-adcNsx alb as-adc
Nsx alb as-adc
 
20110406aws accenture
20110406aws accenture20110406aws accenture
20110406aws accenture
 
CloudSpiral 2014年度 Webアプリ講義(2日目)
CloudSpiral 2014年度 Webアプリ講義(2日目)CloudSpiral 2014年度 Webアプリ講義(2日目)
CloudSpiral 2014年度 Webアプリ講義(2日目)
 
ニフティクラウド C4 sa ご紹介資料ver.1.2
ニフティクラウド C4 sa ご紹介資料ver.1.2ニフティクラウド C4 sa ご紹介資料ver.1.2
ニフティクラウド C4 sa ご紹介資料ver.1.2
 
[Cloud OnAir] Talks by DevRel Vol.5 アプリケーションのモダナイゼーション 2020年9月3日 放送
[Cloud OnAir] Talks by DevRel Vol.5 アプリケーションのモダナイゼーション 2020年9月3日 放送[Cloud OnAir] Talks by DevRel Vol.5 アプリケーションのモダナイゼーション 2020年9月3日 放送
[Cloud OnAir] Talks by DevRel Vol.5 アプリケーションのモダナイゼーション 2020年9月3日 放送
 
DeNAが取り組む Software Engineer in Test
DeNAが取り組む Software Engineer in TestDeNAが取り組む Software Engineer in Test
DeNAが取り組む Software Engineer in Test
 
Docker Enterprise Editionで実践するCaaS
Docker Enterprise Editionで実践するCaaSDocker Enterprise Editionで実践するCaaS
Docker Enterprise Editionで実践するCaaS
 
Deploying secure service mesh for applications on k8s with using A10's Lighti...
Deploying secure service mesh for applications on k8s with using A10's Lighti...Deploying secure service mesh for applications on k8s with using A10's Lighti...
Deploying secure service mesh for applications on k8s with using A10's Lighti...
 
Amazon Web Servicesブース:UI×API×AWS 横田 聡
Amazon Web Servicesブース:UI×API×AWS 横田 聡Amazon Web Servicesブース:UI×API×AWS 横田 聡
Amazon Web Servicesブース:UI×API×AWS 横田 聡
 

Último

TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdftaisei2219
 
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A surveyToru Tamaki
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Yuma Ohgami
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものですiPride Co., Ltd.
 
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By DanielPostman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Danieldanielhu54
 
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...Toru Tamaki
 
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNetToru Tamaki
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムsugiuralab
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略Ryo Sasaki
 
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)Hiroki Ichikura
 

Último (10)

TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdf
 
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
 
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By DanielPostman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Daniel
 
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
 
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
 
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.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 Application VCAP: 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 + 雑多なライブラリ等
  • 10. VCAP....? Application Application Application Application Application Application VCAP: 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 HTTPS Router アプリケーション利用者
  • 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 HTTPS Router 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 Controller Router アプリケーション開発者
  • 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 HTTPS Router アプリケーション開発者 アプリケーション利用者
  • 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 HTTPS Router アプリケーション開発者 アプリケーション利用者
  • 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 HTTPS Router アプリケーション開発者 アプリケーション利用者
  • 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 HTTPS Router アプリケーション開発者 アプリケーション利用者
  • 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 HTTPS Router アプリケーション開発者 アプリケーション利用者
  • 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 HTTPS Router アプリケーション開発者 アプリケーション利用者
  • 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 HTTPS Router アプリケーション開発者 アプリケーション利用者
  • 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 認証 オーケストレータ HTTPS Router: ユーザとのI/F
  • 31. VCAP!! warden health_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を提供するサービス