べにやまぶろぐ

技術寄りの話を書くつもり

夏サミ 2014 『継続的デリバリーへ!~クラウドによってアプリケーション開発はどう変わるのか?~』聴講メモ #natsumi

継続的デリバリーという単語に惹かれて聴講したのがこちらのセッション。開発・本番環境から CI やデリバリーのプロセスまでひっくるめた PaaS/SaaS の出現が印象的でした。

江木 典之 氏〔日本アイ・ビー・エム〕
  • 江木さんは ディシプリンド・アジャイル・デリバリー エンタープライズ・アジャイル実践ガイド (Object Oriented SELECTION) の翻訳者の一人
  • DevOps / CI 環境を手軽に使用できる IBM BluemixIBM DevOps という二つのサービス紹介
  • クラウドを取り巻く環境
    • 今後新規に開発されるソフトウェアの 85%以上がクラウドを対象に
    • 全てのアプリケーションの1/4は2016年までにクラウドで利用可能に
    • すでに開発者の3/4がアプリケーション開発にクラウドサービスを利用している
  • クラウドによってジャストインタイムな開発に変わる => 初期投資を押さえた速い開発が可能になる
    • 開発環境・ツール、サービス・機能、実行環境、人的リソース(クラウド (crowd) ソーシング)をクラウドから調達
  • サービスの優位性・ユーザ体験は時間の経過とともに低下してしまう
    • ライバルが同じようなサービスを出す、さらに魅力的なサービスが出る、登場インパクトの賞味期限…
  • 顧客に頻繁に価値を提供する必要性
    • 競合優位性を保ち続けるにはサービス、フィーチャを頻繁にデリバリーすることが重要
    • フィードバックを受け続ける必要、イテレーションを速く回す必要
    • 開発環境・デプロイ自動化・フィードバックを受ける環境を用意するコストは低くない
  • チーム開発環境 (SaaS) の IBM DevOps
    • アジャイル開発と継続的デリバリーをサポート
    • GitHub や Eclipse の Web IDE である Orion などとも連携
    • エンドユーザやテスターが簡単にフィードバックを送ることが出来る
      • 端末を振るとフィードバック・障害送信モードに変わって画面キャプチャを始めとして種々のメトリクスが測定されて自動的に送られる
  • 開発・実行環境 (PaaS) の Bluemix
    • 様々なプログラミング言語に対応したアプリケーション実行環境を提供
    • OpenStack x Cloud Foundry を採用しているので移植性が高い
    • Cloud Foundry ベースであるのでクラウドの特性を活かしたデプロイを実現可能
      • Blue-Green deployment
      • Canary deployment : 徐々にトラフィックを移動させる (1時点で異なるアプリケーションにアクセスできる)
        • 二つのアプリを同じ URL に紐づけてデプロイするデモ
  • 道具が最近追いついてきたのでアジャイルや DevOps、継続的デリバリーなどが注目されるようになってきた。

毎回プロジェクトを始めるたびにやれ Jenkins の設定したりやれ Capistrano 書いたりやれ Ansible 使って構成管理して Docker のイメージ作って開発環境整備してとかして肝心の開発始めるまでに結構コストかかっちゃっているわけですが、開発者からすれば(IDE は人の好みがありそうですが)もう Web 画面でコード書いて面倒な設定なくボタン一つでデプロイしたりとかできたら確かにその方が便利ですよねと。さらにチケット管理とかかんばんとかバックログとか全部入りっぽいので、開発環境も実行環境もクラウドでいいよって人にはかなり魅力的なツール群に思えました。

また一方で、CI とか継続的デリバリーに取り組んでいる身としてはあくまで開発者が開発に専念できる環境を提供しないといけないのにそうなっていない現状を省みるきっかけになりました。