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.

Circle of Code with Cloud Foundry

1,385 views

Published on

Cloud Foundry Days in Tokyo 2016での発表資料です。
https://cloudfoundrydaystokyo.github.io/2016

Published in: Technology
  • Be the first to comment

Circle of Code with Cloud Foundry

  1. 1. Circle of Code with Cloud Foundry Tomohiro Ichimura, Pivotal Gwenn Etourneau, Pivotal 2016/11/11
  2. 2. 自己紹介 市村 友寛 Sr. Platform Architect Pivotal ジャパン株式会社 Cloud Foundry, GemFire, Spring, … tichimura@pivotal.io
  3. 3. Pivotalとは • 2013年4月にEMC, ヴイエムウェアおよびGE出資のもと設立 • 従業員約2,000名, 法人顧客1,500社以上 • オープンなクラウド, ビッグデータプラットフォーム製品の提供、 およびアジャイル手法を軸とした次世代アプリケーション開発を推進 Pivotal Cloud Foundry Pivotal Big Data Suite Pivotal Labs
  4. 4. これからのアプリケーション 開発 展開 スケジュール処理 オンデマンド アーキテクチャ 抽象化 “Day 2” Ops アプリケーションサーバ アプリけーションと 使い捨て可能なインフラ モノリシック アプリケーション マイクロサービス 線形 / シーケンシャル 短サイクル, テスト駆動、 反復 多くのツールと 部分的な自動化 サービス管理 (サーバ管理)
  5. 5. Load Balancer App Server Web Server Database Dynamic Router これまでのアプリ環境 Platform Runtime Backing Services API Gateway Service Discovery Database Microservice App ERP BOSH VMs App Server Off Platform ERP 12 Factor App リホスト, リファクト & リアーキテクト これからのアプリ環境
  6. 6. これまで これから 柔軟なインフラが前提信頼性の高いインフラを前提 数ヶ月毎にコードをリリース より早く、頻繁にリリース 個別の環境を利用 開発も運用も同じ環境を共有 密結合 疎結合
  7. 7. Transform for new business value エンタープライズにおけるデジタルトランスフォーメーションの推進 from SpringOne Platform 2016
  8. 8. Circle of Code
  9. 9. Circle of Code アイディア プラン コード パイプライン デプロイ フィードバック
  10. 10. Circle of Code アイディア プラン コード パイプライン デプロイ フィードバック
  11. 11. Pivotal Tracker
  12. 12. Pivotal Tracker  SaaS型プロジェクト管理ツール  10年以上にわたる幅広い実績(全世界で50万人以上の開発者が利用)  プロダクトチームのコアとなるツール(主にプロダクトマネージャー)  Cloud Foundryにおけるプロダクト管理ツールとして活用
  13. 13. 30 チーム, 30 プロダクトマネージャー  Cloud Foundryの開発における体制  チーム毎に配備されたPMがバックログを管理  PMがそれぞれのストーリー(タスク)の依存性を管理  PMを束ねるリーダーの存在  コミュニケーションの重要性 13
  14. 14. Circle of Code アイディア プラン コードデプロイ フィードバック
  15. 15. Spring Framework
  16. 16. Springとは?  #1 エンタープライズJava アプリケーション開発フレームワーク  Apache 2.0 ライセンス  様々なサブプロジェクトの展開  豊富なドキュメントやサンプルコード  100万以上のダウンロード  NetflixやFortune 2000の企業採用  Spring Bootによるクラウド活用の活性化
  17. 17. Spring Cloud サービス 負荷分散 構成管理 サービス 登録 サービス アクセスポイント 状態監視 アプリケーションインスタンス (サービス実装)
  18. 18. Steeltoe Cloud Native .NET Applications - Friend of Spring Boot, Spring Cloud, and Cloud Foundry http://steeltoe.io/
  19. 19. Circle of Code アイディア プラン コード パイプライン デプロイ フィードバック
  20. 20. Concourse
  21. 21. 継続的インテグレーション、継続的デリバリの重要性 高品質なソフトウェアを俊敏かつ一貫性を持って展開 自動化されたビルド作業と 品質管理(単体テスト、静的な コード分析、等) 環境依存のない ビルドされた内容の展開 コード変更のコミット 自動化された 統合テスト 自動化と手動のテスト (アクセプタンス、性能、ロード) ダウンタイム無しの更新 開発環境 テスト、アクセプタンス、 ステージング 本番環境 工程ツール群 22 自動化 ツールの統合と、テストのみな らず開発や展開のプロセスの自 動化 スピード 粒度の小さいものを、より頻 繁にリリースすることで複雑 性の低減と市場展開を短縮化 品質 テストドリブン開発を採用すること によるフィードバックループの短縮 化をはかり問題箇所をより短期間で 顕在化、より的確な対応が可能に 俊敏性 更新内容をダウンタイムなく 定期的に展開することで、顧 客満足度の向上と市場展開の 短縮化
  22. 22. Cloud FoundryにおけるCI/CDの課題 • 異なるアーキテクチャ、プラットフォーム、インフラで の動作確認やデプロイ • IaaS, OpenStack, vSphere • Bosh, stemcell, Garden, Docker • CF app, … • 新規機能、あるいは既存機能のアップグレード • 様々な形での製品提供への対応 • OSS/Pivotal Cloud Foundry
  23. 23. Concourseの特徴 • 複雑なサーバ内の構成を排除、再作成を容易に • パイプライン管理への強い意識 • 順番ではなく、インプットと各Jobの関連性に注目 • ユーザの操作性の向上 • パイプラインの可視化 • コンテナを中心にしたBuild
  24. 24. Concourseにおけるパイプライン - name: integration plan: - aggregate: - get: integration-suite - get: controller passed: [controller-mysql, controller-postgres] - get: worker passed: [worker] - task: integration file: integration-suite/task.yml aggregate passed get リソース • Git repo • S3 Archive ( .tar.gz) • Docker Image • Bosh.io Release • …等々 ジョブ • put(インプットとなるリソースを定義) • task(処理内容) • get(アウトプット先となるリソースを定義) task ジョブ(jobs)リソース(resources)
  25. 25. Circle of Code アイディア プラン コード パイプライン デプロイ フィードバック
  26. 26. Pivotal Cloud Foundry
  27. 27. Pivotal Cloud Foundry 概要 様々な 開発言語 マイクロサービスの 支援 サービス マーケットプレイス 開発 アプリ開発&管理 サービス可用性 可視化と構成管理 CI/CD ツール, ID, セキュリテイ 状態監視, メトリックス, パッチ アプリと基盤の ダッシュボード 運用 オペレーティング システム Cloud API コンテナオーケストレーション 差別化の区分 バリューライン
  28. 28. Operating System Cloud API Container Orchestration App Deployment & Management Availability Visibility & Administration CI/CD Tools, ID, Security Health, Metrics, Patching Apps & Platform Dashboards 運用開発 様々な 開発言語 マイクロサービスの 支援 サービス マーケットプレイス Native User Provided Partner
  29. 29. Push App セルフサービスのためのプロビジョニング 開発者に柔軟性を提供しつつ、プラットフォームとしての一貫した管理を提供 >cf http:// アプリケーションをプッシュするのみで、プラットフォームで自動的に構成、起動 more…
  30. 30. Multiple Languages Microservices Support Services Marketplace Native User Provided Partner DEVELOPMENT Operating System Cloud API Container Orchestration 運用 アプリ開発&管理 サービス可用性 可視化と構成管理 CI/CD ツール, ID, セキュリテイ 状態監視, メトリックス, パッチ アプリと基盤の ダッシュボード
  31. 31. アプリケーションの展開と管理にフォーカス 4. 状態管理 2. メトリクス 3. ログ収集 1. ロールと ポリシー管 理 5. セキュリティ 7. スケーリング 6. ブルー・グ リーン・デプ ロイメント
  32. 32. 一貫性のある操作性と管理性 33 Operations Manager Applications Manager
  33. 33. App Deployment & Management Availability Visibility & Administration CI/CD Tools, ID, Security Health, Metrics, Patching Apps & Platform Dashboards OPERATIONS Multiple Languages Microservices Support Services Marketplace Native User Provided Partner DEVELOPMENT オペレーティング システム Cloud API コンテナオーケストレーション
  34. 34. Container Scheduler Handles Workloads 動的な ロードバランス ワークロードの 動的な再配置
  35. 35. “クラウドとは、 どこで処理されるかではなく、 どう処理されるかがポイント” “Cloud is about how computing is done, not where” Paul Maritz , Founding CEO CF BOSH Director Cloud Provider Interface Cloud API IaaS マルチクラウドの利点: クラウドに依存しないアプリとプラットフォーム運用 VM Agent VM Agent VM Agent
  36. 36. 新機能とロードマップ Pivotal Cloud Foundry New Features 続々と新機能を実装中 •Diego Tasks - GA release •BOSH-Windows - GA release •Garden-runC – GA release •Default to Unprivileged containers •Zipkin support in router, Droplet upload/download •Volume Services - GA (possibly) •Container networking with Policy (experimental) •Isolation Segments (experimental) •PCF Metrics 1.2 •App Autoscaling (additional metrics) – HTTP Throughput (requests) – HTTP Latency (99% / 95%)
  37. 37. Circle of Code アイディア プラン コード パイプライン デプロイ フィードバック
  38. 38. Pivotal Metrics
  39. 39.  アプリケーションやサービス、プ ラットフォームメトリックスに関す る統合された ダッシュボード  開発者も運用者もシステムの健全性 や可用性の状態を共有  エージェント不要  アプリケーションを選ぶのみ すぐに利用可能なモニタリング機能
  40. 40. Circle of Code with Pivotal Pivotal Tracker Spring FrameworkPivotal Cloud Foundry Concourse PCF Data Service Pivotal Big Data Suite
  41. 41. Demo
  42. 42. Circle of Code: アイディア プラン コード パイプライン デプロイ フィードバック このサイクルをどう回す?
  43. 43. ベストプラクティス Pivotal Labs: 迅速な反復(イテレーション)を 実現する、開発プロセスを 提供します
  44. 44. Pivotal Labs
  45. 45. • 1989年に創設、2013年にPivotalに統合 • 米国を中心にアジャイル開発、デジタル・トランスフォーメーションを支援 • スタートアップ~エンタープライズまで1000以上のプロジェクトを支援 Pivotal Labsの特徴 = LEAN + eXtreme Programming • 協調性:ウォークイン、ペア・プログラミング • 透明性:Pivotal Tracker • 規律:Velocity管理 • 反復:テスト駆動型開発 (TDD) 1989 1990s 2000s 2012 Rob Mee により、 サンフランシスコにて 共同設立 アジャイルソフトウェア 開発における第一人者 として認識される 2012 年 EMCに買収 Pivotal と統合 2013年Xtreme Labs買収 北米とヨーロッパを中心 に拡大中 ITソリューションのニーズを満たすためア ジャイル開発手法を採用 Web 2.0 アプリケーションへの技術拡大 Pivotal Tracker のパブリックリリース Excellence Award 2009 受賞 企業のデジタル・トランスフォーメーションを支援するPivotal Labs
  46. 46. お客様とPivotal Labsのコンサルタントが共同で 作業をすることでアジャイル開発の方法を習得して頂きます。 アジャイル開発の進め方 インセプションン ペア プログラミング テスト駆動型の開発 継続的な統合 反復計画 リリース計画 開発終了 レトロスペクティブ (振り返り)
  47. 47. 分野ごとに専門技能を学習 Pivotal Labsのコンサルタント プロダクト マネージャ エンジニア プロダクトデザイナー
  48. 48. 新しい開発文化の浸透: ペアリングを通じたイネーブルメント デザイナープロダクト マネージャ 開発者(2~3組) • ビジネスに関連したアプリケーションの 小規模なセットを特定 • ペアによるデリバリモデルへの移行 • お客様のスタッフと当社のスタッフを当社 のオフィスでペアリングする • 人とテクノロジーとプロセスによる一貫し た開発 アトミック チーム • 開発開始から終了まで、アプリケーション、 サービスまたは機能を一貫して担当 • 通常は7~8名の少人数チーム • 開発者はペアで作業: 1つのCPUを2人で操作 • アジャイルなオペレーションによるサポート
  49. 49. ペア プログラミングによるアジャイル開発 規模の拡大 3か月 6か月 9か月 1年 エキスパート 初心者
  50. 50. Pivotal Cloud FoundryとPivotal Labs コンテナ スケジューリング サービス プラットフォーム (Elastic Runtime) ルーティング データベース 構成管理 サービス ディスカバリ ビッグデータ オブジェクト ストレージ モバイル 継続的 インテグレーション ユーザ定義 サービスロギング & メトリックス メッセージング 運用 (Operations Manager) ゼロダウンタイムでの 展開 フェイルオーバ、 リカバリ スケール セキュリティ パッチ 更新管理 インフラストラクチャ VMware OpenStack Amazon フレームワーク ( Buildpack & Containers ) Circuit Breakers12 Factor Apps RESTful Services Microservices .NETSpring Boot Node.jsRuby on Rails • VMwareでのOSSプロジェクト から、現在では300名以上の開 発メンバーに発展 • Pivotal Labsプラクティスに基づ いた30以上のチーム編成 • 3ヶ月ごとのメジャーリリース
  51. 51. http://www.slideshare.net/Pivotal/scaling-your-product-team-while-staying-agile
  52. 52. http://www.slideshare.net/Pivotal/scaling-your-product-team-while-staying-agile
  53. 53. http://www.slideshare.net/Pivotal/scaling-your-product-team-while-staying-agile
  54. 54. http://www.slideshare.net/Pivotal/scaling-your-product-team-while-staying-agile
  55. 55. http://www.slideshare.net/Pivotal/scaling-your-product-team-while-staying-agile
  56. 56. http://www.slideshare.net/Pivotal/scaling-your-product-team-while-staying-agile
  57. 57. 製品とベストプラクティスの融合 製品群 ● アジャイルプロジェクト管理: ● Pivotal Tracker ● 言語フレームワーク: ● Spring Framework ● パイプライン管理: ● Concourse ● アプリケーションプラットフォーム: ● Pivotal Cloud Foundry ● プラクティス ● Pivotal Labs
  58. 58. Circle of Code: ぜひ実践してみましょう アイディア プラン コード パイプライン デプロイ フィードバック
  59. 59. イベントのお知らせ  Spring Days 2016 – 2016/11/18(Fri) – グラントウキョウサウスタワー41F@東京八重洲 – http://springday2016.springframework.jp/  Concourse CI Tokyo Meetup – 2016/11/30(Wed) – 六本木ヒルズ森タワー20F@六本木 – https://www.meetup.com/Concourse-CI-Tokyo-Meetup/  Pivotal ジャパン サミット 2016 – 2016/12/1(Thu) – 六本木アカデミーヒルズ森タワー49階@六本木 – https://omniattend.com/seminar/pivotal/pjs2016

×