SlideShare uma empresa Scribd logo
1 de 32
Baixar para ler offline
オープンクラウド・キャンパス



   クラウドが実現する
ソフト開発・運用の変革と自動化




       Ver1.2 2012/11/13
    中井悦司 (Twitter @enakai00)
クラウドが実現するソフト開発・運用の変革と自動化

    自己紹介
     中井悦司(なかいえつじ)
       – Twitter @enakai00

     日々の仕事
       – Senior Solution Architect and
         Cloud Evangelist at Red Hat K.K.   好評発売中
         企業システムでオープンソースの活用を希望される
         お客様を全力でご支援させていただきます。


     昔とった杵柄
       – 素粒子論の研究(超弦理論とか)
       – 予備校講師(物理担当)
       – インフラエンジニア(Unix/Linux専門)




2                                                   Open Cloud Campus
クラウドが実現するソフト開発・運用の変革と自動化

    はじめに:クラウドの自動化における問題意識
     クラウドコンピューティングの実現により、さまざまな「インフラの自
     動化」が可能になりました。
     – アクセス変動に敏感なWebアプリケーション(現在のパブリッククラウド利
       用の主流)では、「オートスケール」などは確かに便利な機能です。

     今後、一般企業の業務アプリケーションをクラウドで利用する場合、ど
     のような観点で、どのような処理を自動化することが必要なのでしょう
     か?
     – 既存の手作業をそのまま自動化するのでは、「自動化のための自動化」に陥
       る危険性はないでしょうか?
     – 「アプリケーション開発、システム運用プロセスの変革/改善と一体化した自
       動化の適用」を研究するべき時期がきているのではないでしょうか?



           いけてる自動化?            いけてない自動化?


3                                          Open Cloud Campus
クラウドが実現するソフト開発・運用の変革と自動化

    Contents

       システム運用の現状と課題
       運用自動化への道 − ソフトウェアライフサイクルの観点から
       アプリケーションデプロイの自動化の現状
       サービス継続性から見る将来の自動化




4                                  Open Cloud Campus
システム運用の現状と課題
クラウドが実現するソフト開発・運用の変革と自動化

    システム運用業務の目的
     サービスの継続提供
     – システムの機能/性能を維持して安定したサービスを継続すること

     システムの予防保守
     – 障害が発生しないように健全なシステム状態を保持すること

     障害対応
     – 障害発生時に迅速にサービスを復旧して、再発を防止すること

    アプリケーション開発         インフラ構築
                     アプリケーション配備   サービス継続      予防保守
             コ
    要        ー         運用引き継ぎ
             デ   テ
    件   設
    定   計    ィ   ス                    システム運用
             ン   ト
    義        グ
                                       障害対応



6                                              Open Cloud Campus
クラウドが実現するソフト開発・運用の変革と自動化

    システム運用業務の現状             運用手順書による
                             手作業が前提
     主な運用業務
     –   アプリケーション配備(デプロイ)                 OS導入手順書
     –   予防保守                             アプリケーション導入手順書
                                          パッチ適用手順書
     –   システム監視と障害対応                      バックアップ手順書
                                          障害対応手順書
     –   バックアップ                           etc...
     –   キャパシティ管理とシステムの増強


         デプロイ            アプリケーション
                                                 監視
         予防保守               OS


                障害対応
                           データ                バックアップ

                システム増強
7                                                 Open Cloud Campus
クラウドが実現するソフト開発・運用の変革と自動化

    手順書ベースの運用の課題                 まずここに注目

     運用中のソフトウェアの変更に時間/コストがかかる
     – ビジネス要件とそれを支える技術、双方の変化の速度が上がり、アプ
      リケーション、ミドルウェアなどの頻繁な更新が必要に。
     – しかしながら、ソフトウェア変更に伴う手順書の書き換え、検証、手
      順変更の周知徹底などに時間とコストがかかり、変更を気軽に行うわ
      けにはいかず・・・。

     環境の複雑化への対応が困難
     – 仮想化によりシステム環境が複雑化し、動的な変更・変化も可能に。
     – しかしながら、それに伴う運用手順も複雑になり、作業時間が長くな
      る、作業ミスによる問題発生が起きやすくなるなどの課題が・・・。

                                変化に弱いのが
                               手順書運用の弱点




8                                     Open Cloud Campus
運用自動化への道
ソフトウェアライフサイクルの観点から
クラウドが実現するソフト開発・運用の変革と自動化

 ソフトウェアの変更要求が高まる背景

  ビジネス要件の変化と技術の進歩に開発速度が追いつかない現状


      要件定義   設計      コーディング   テスト   運用




     要件定義の際に決めたシステムが・・・ 運用開始時は既に時代遅れに!




10                                  Open Cloud Campus
クラウドが実現するソフト開発・運用の変革と自動化

 ソフトウェアの変更要求が高まる背景

  開発期間の短縮と継続的なアップデートが必要に。

                       「継続的インテグレーション」
     開発期間の短縮               (CI) の適用


             コ                  コ                コ
     要       ー          要       ー        要       ー
                 テ                  テ                   テ
     件   設   デ          件   設   デ        件   設   デ
             ィ   ス              ィ   ス            ィ      ス
     定   計              定   計            定   計
             ン   ト              ン   ト            ン      ト
     義                  義                義
             グ                  グ                グ


                     継続的なアップデート


                                    運用
                     「継続的デリバリー」
                        の実践


11                                                   Open Cloud Campus
クラウドが実現するソフト開発・運用の変革と自動化

 参考書籍




12                          Open Cloud Campus
クラウドが実現するソフト開発・運用の変革と自動化

 継続的デリバリーの課題は開発と運用の「プロセスの断絶」

                                        この問題の根本原因は
                        変化が激しくて
                                          何でしょうか?
                       内容を伝えきれない
             コ
     要       ー     テ
     件   設   デ              開発環境と本番環境の違いが
             ィ     ス
     定   計                    不明でデプロイ時に
             ン     ト
     義                       何がおきるが分からない
             グ


                                       「越えられない壁?」


                 受け入れテストの         運用
                  時間が足りない


              内容が分からないから        サービスを止めずに
             運用手順書が更新できない     更新する方法が分からない


13                                             Open Cloud Campus
クラウドが実現するソフト開発・運用の変革と自動化

 CIプロセスにおける「マシン」と「人間」の役割分担

                                      マシンと人間の役割を明確に
                                       分離したプロセスがCIの肝
           CIツール



                                   コード
                                  リポジトリ


       ビルドとテストの自動実行                         マシンの世界
         結果レポートの作成


                                      コード
                                     コミット
                                            人間の世界
      テスト結果、コード分析結果
        カバレッジの推移など



                   レポートのフィードバック

                                   開発者


14                                            Open Cloud Campus
クラウドが実現するソフト開発・運用の変革と自動化

 開発、引き継ぎ、運用プロセスの現状イメージ

             開発(作る)プロセス              運用(使う)プロセス

                            運用引き継ぎ




 マシンの世界




     人間の世界




               完成したものを人手で
                検証・修正・再配置


15                                           Open Cloud Campus
クラウドが実現するソフト開発・運用の変革と自動化

 開発、引き継ぎ、運用プロセスの現状イメージ

             開発(作る)プロセス              運用(使う)プロセス

                            運用引き継ぎ




 マシンの世界



              作った環境と使う環境が
             異なるので品質担保が困難
     人間の世界
                                      マシンの役割と人間の役割が
                                     プロセス的に分離できていない




16                                            Open Cloud Campus
クラウドが実現するソフト開発・運用の変革と自動化

 開発、引き継ぎ、運用プロセスの理想イメージ

             開発(作る)プロセス   運用引き継ぎ   運用(使う)プロセス




 マシンの世界




     人間の世界




                  運用引き継ぎにおける自動化を追求して、
             ソフトウェアとインフラのライフサイクルを統合することが、
                     「いけてる自動化」の第一歩

17                                         Open Cloud Campus
クラウドが実現するソフト開発・運用の変革と自動化

 自動化の追求で開発と運用の断絶を乗り越える

  運用引き継ぎのプロセスを可能な限り自動化して、「デプロイ」の苦痛を
   軽減することが「継続的デリバリー」実現の鍵
     1. デプロイ処理を自動化して、開発、テスト、本番、すべて同じプロセスでデ
      プロイしたアプリケーションを使用する。
         ⇒ 環境差異を小さくして、「環境の違いで起きる問題」の発生を防止

     2. 受け入れテストなど、運用引き継ぎに伴う作業を可能な限り自動化して、さ
      らには、既存サービスに影響を与えずに自動更新する仕組みを導入する。
         ⇒「安全で容易、そして頻繁なデプロイ」を可能に

     3. 運用業務を手順書による手作業から、プログラムによる自動化に置き換え。
         ⇒ 手順書のメンテナンスと運用作業の負荷を軽減

             開発と運用を一体化したプロセスを策定して、
            ソフトウェアとインフラのライフサイクルの統合を
           実現することが最終的な目標(いわゆる「DevOps」)

18                                       Open Cloud Campus
クラウドが実現するソフト開発・運用の変革と自動化

 自動化の追求で開発と運用の断絶を乗り越える

  運用引き継ぎのプロセスを可能な限り自動化して、「デプロイ」の苦痛を
   軽減することが「継続的デリバリー」実現の鍵
     1. デプロイ処理を自動化して、開発、テスト、本番、すべて同じプロセスでデ
      プロイしたアプリケーションを使用する。
         ⇒ 環境差異を小さくして、「環境の違いで起きる問題」の発生を防止

     2. 受け入れテストなど、運用引き継ぎに伴う作業を可能な限り自動化して、さ
      らには、既存サービスに影響を与えずに自動更新する仕組みを導入する。
         今回は、まずは
      この部分のツールに注目
         ⇒「安全で容易、そして頻繁なデプロイ」を可能に

     3. 運用業務を手順書による手作業から、プログラムによる自動化に置き換え。
         ⇒ 手順書のメンテナンスと運用作業の負荷を軽減

             開発と運用を一体化したプロセスを策定して、
            ソフトウェアとインフラのライフサイクルの統合を
           実現することが最終的な目標(いわゆる「DevOps」)

19                                       Open Cloud Campus
アプリケーションデプロイ自動化の現状
クラウドが実現するソフト開発・運用の変革と自動化

 アプリケーションデプロイにおける管理対象
                       エクセルシートに     DVDメディアから     エクセルシートに
                         手書き入力      手動インストール       したがって設定



         手作業による
          デプロイ



                      パラメータシート記述    OS導入・環境設定      アプリケーション
                       / 作業手順書作成                    導入・環境設定
     環境構築における管理対象




                     環境設定(Config)        OS・アプリケーションの構成管理


                    アプリケーションプログラム        アプリケーションの導入管理


                       インフラ環境            仮想マシン構成、OSイメージなどの管理



                         データ
21                                                       Open Cloud Campus
クラウドが実現するソフト開発・運用の変革と自動化

 アプリケーションデプロイ自動化の現状
  自動化の3大パターン

                1. 仮想アプライアンス方式
                    • アプリケーション導入済みの環境をマシンイメージ化して利用。

                2. JEOS(Just Enough OS)方式
                    • 最小限のOS環境をマシンイメージ化して利用。アプリケーションの導入・設定を自動化。

                3. 自動インストール方式
                    • OSのインストールからアプリケーションの導入・設定まで、すべての作業を自動化して適用。
     環境構築における管理対象




                         環境設定(Config)       1. すべてをイメージ化して利用


                     アプリケーションプログラム

                                              2. インフラ環境をイメージ化して利用
                            インフラ環境

                                                3. イメージ化せずにすべてを自動構築
                               データ
22                                                             Open Cloud Campus
クラウドが実現するソフト開発・運用の変革と自動化

 各パターンの特徴
                              手軽に利用できるが
  仮想アプライアンス方式                 柔軟性にかける
                             「環境の塩漬け方式」
     – メリット
      • テンプレートから仮想マシンを起動するだけで簡単に利用できる。
     – デメリット
      • デプロイ時のカスタマイズが難しい。
      • テンプレートの修正は手作業となり、メンテナンスに手間がかかる。
      • クラウドごとに対応するテンプレートの作成が必要。

                             カスタマイズが容易だが
                            大掛かりな仕掛けが必要な
  自動インストール方式                  「自動生産方式」

     – メリット
      • 自動化の大元となる設計ファイルを修正することで、デプロイ時のカスタマイズや
        構成のアップデートが容易に行える。
     – デメリット
      • 自動化ツールの整備が必要。
      • テンプレート起動が前提の環境には適用できない。
      • テンプレート方式に比べると、デプロイ処理に時間がかかる。
23                                         Open Cloud Campus
クラウドが実現するソフト開発・運用の変革と自動化

 各パターンの特徴
                                   事前準備した環境から
                                    カスタマイズを行う
  JEOS (Just Enough OS) 方式       「サンドイッチ方式 (?)」
     – メリット
      • テンプレート起動が前提の環境でも利用可能。
      • デプロイ時にアプリケーションのカスタマイズが可能。
     – デメリット
      • OSバージョンアップなどは、新規テンプレートの作成が必要。
      • クラウドごとに対応するOSテンプレートの作成が必要。
      • アプリケーションの構成によってはデプロイに時間がかかる。



 ※ 自動インストールとJEOSの組み合わせについて
   – JEOS方式のデメリットを回避する方法として、JEOS作成の自動化があります。共通の
    設定ファイルから、使用する環境(クラウド)ごとに同一内容のJEOSを事前に(自動
    インストールで)作成して利用します。
   – 複数環境(クラウド)に同一構成のアプリケーション環境を自動構築できるメリット
    があります。
      • 後ほど紹介するAeolusでは、この方式を採用しています。

24                                                 Open Cloud Campus
クラウドが実現するソフト開発・運用の変革と自動化

 アプリケーションデプロイ自動化ツールの例

  個別ツールの組み合わせ
     – KickStart, virt-install, Oz, etc...
        • OS導入、JEOSイメージ作成の自動化
     – Puppet, Chef, etc...
        • アプリケーション導入、環境設定の自動化
                                                これらツールの一部を
                                                この後のセッションで
  統合化された自動化ツールの例                              デモと一緒に紹介します

     – Aeolus Conductor (Red Hat CloudForms)
     – Amazon Cloud Formation
     – Dell Crowbar
     – Dodai Project
     – juju
     – VMware vCloud Director
     – etc...


25                                                     Open Cloud Campus
サービス継続性から見る将来の自動化
クラウドが実現するソフト開発・運用の変革と自動化

 サービス継続性における自動化の役割

  サービス継続性の観点で適用できそうな自動化のエリア
     – 既存サービスを停止せずに新規アプリケーションを自動デプロイ
     – 障害発生時にサービスを自動復旧
     – キャパシティ不足時にシステムを自動増強




       デプロイ            アプリケーション
                                       監視
       予防保守                 OS


              障害対応
                         データ      バックアップ

              システム増強



27                                     Open Cloud Campus
クラウドが実現するソフト開発・運用の変革と自動化

 サービスを停止せずにバージョンアップする手法の例

  ブルーグリーン・デプロイメント
     – 本番環境を2種類用意して、旧バージョンと新バージョンを並行稼働させながら、切り替
      える手法。新バージョンに問題が起きた場合は、すぐに旧バージョンにフォールバック
      が可能。
      • クラウドでインフラ準備が自動化できるようになると、コスト的にも現実性がでてくる。
     – ユーザデータの複製などが課題。
      • アプリケーションのアーキテクチャから見直しが必要。




  カナリアリリース
     – 一部のユーザのみに新機能を提供して、問題がなければ、全ユーザに新機能を開放する
     – 機能レベルで小さなバージョンアップを繰り返すことが前提。機能変更に伴うデータ構
      造の変化の取り扱いが難しい。(とくに新機能使用ユーザと未使用ユーザは同じデータ
      を共有する場合)
      • アプリケーションのアーキテクチャから見直しが必要。
28                                           Open Cloud Campus
クラウドが実現するソフト開発・運用の変革と自動化

 障害復旧の観点での自動化

  自動化による「障害復旧」の発想転換
     – アプリケーション環境のデプロイが完全自動化されているのであれば、「壊れ
      た環境を修復する」よりは、「新しい環境を作り直す」方が安上がり。(単純
      なインフラ障害は、すべて再デプロイで回復してしまう。)
      • 現実には、「再デプロイ」で復旧する問題かどうかの判断が難しい場合もあるが、復
        旧オプションの一つとしては検討の価値あり。
     – アプリケーション実行環境とユーザデータを明確に分離して、再デプロイが
      データに影響しないことが必要。
      • AWSなどは、この方向性を示唆するクラウドインフラ。(インスタンスが停止したら
        インスタンス上のデータは全て消える。永続データは、EBS、S3への外部保存が前
        提。)




         いずれにしても、ソフトウェア自体が自動化を前提とした
           機能・アーキテクチャを持たないと実現は難しい



29                                       Open Cloud Campus
クラウドが実現するソフト開発・運用の変革と自動化

 ソフトウェア開発における自動化との融合

  ソフトウェア開発では、既にさまざまな自動化が利用されています。
     – 継続的インテグレーション実現の観点で、ビルド/テスト/エラーレポート作成の自動化
     – 品質向上の観点で、コードインスペクションの自動化、形式手法適用の自動化など
     – その他には、DSLによるコードの自動生成など
 ⇒ 基本的には「機能要件の確実な提供」を目指したもので、「非機能要件の実現」という  
  観点は多くありません。


  今後、運用の自動化が進むと、ソフトウェア開発の段階から「自動化されたイン
   フラとの連携」を想定した手法が生まれるのではないでしょうか?
     – 今まで「非機能要件」と思っていたものが、ソフトウェアで制御可能な「機能要件」に
       変わる可能性はないでしょうか?




30                                        Open Cloud Campus
クラウドが実現するソフト開発・運用の変革と自動化

 最後に:継続的デリバリーのその先へ・・・

  継続的デリバリー
                  デプロイ手順    テスト手順

                               自動実行可能な手順
                               (ただし手順自体は人間が作成)




                開発                  運用


  継続的???
                  デプロイ手順    テスト手順


                                         環境変化に応じて
                                         手順そのものを自動生成



                開発                  運用


31                                              Open Cloud Campus
オープンクラウド・キャンパス



クラウドの自動化とソフトウェア開発の
 未来を一緒に考えて行きましょう!




            中井悦司
       Twitter @enakai00

Mais conteúdo relacionado

Mais procurados

半日でわかる コンテナー技術 (入門編)
半日でわかる コンテナー技術 (入門編)半日でわかる コンテナー技術 (入門編)
半日でわかる コンテナー技術 (入門編)Toru Makabe
 
【Cloud Week 2015@Hokkaido University】Dockerとインフラ運用自働化とIoT
【Cloud Week 2015@Hokkaido University】Dockerとインフラ運用自働化とIoT【Cloud Week 2015@Hokkaido University】Dockerとインフラ運用自働化とIoT
【Cloud Week 2015@Hokkaido University】Dockerとインフラ運用自働化とIoTcloudconductor
 
1891件以上のカーネルの不具合修正に貢献した再現用プログラムを自動生成するsyzkallerのテスト自動化技術(NTT Tech Conference ...
1891件以上のカーネルの不具合修正に貢献した再現用プログラムを自動生成するsyzkallerのテスト自動化技術(NTT Tech Conference ...1891件以上のカーネルの不具合修正に貢献した再現用プログラムを自動生成するsyzkallerのテスト自動化技術(NTT Tech Conference ...
1891件以上のカーネルの不具合修正に貢献した再現用プログラムを自動生成するsyzkallerのテスト自動化技術(NTT Tech Conference ...NTT DATA Technology & Innovation
 
AWS/Openstack integration with openQRM
AWS/Openstack integration with openQRMAWS/Openstack integration with openQRM
AWS/Openstack integration with openQRMOSSラボ株式会社
 
Serverless の自動回復と自動化のためのアーキテクチャ
Serverless の自動回復と自動化のためのアーキテクチャServerless の自動回復と自動化のためのアーキテクチャ
Serverless の自動回復と自動化のためのアーキテクチャTsuyoshi Ushio
 
ダイ・ハード in the Kubernetes world
ダイ・ハード in the Kubernetes worldダイ・ハード in the Kubernetes world
ダイ・ハード in the Kubernetes worldToru Makabe
 
Hinemosで簡単にdev opsをサポート!
Hinemosで簡単にdev opsをサポート!Hinemosで簡単にdev opsをサポート!
Hinemosで簡単にdev opsをサポート!Hinemos
 
OpenStackSDK with Ansible
OpenStackSDK with AnsibleOpenStackSDK with Ansible
OpenStackSDK with AnsibleHideki Saito
 
SI現場のテスト自動化への挑戦〜フルコンテナ構成のCI/CD環境〜
SI現場のテスト自動化への挑戦〜フルコンテナ構成のCI/CD環境〜SI現場のテスト自動化への挑戦〜フルコンテナ構成のCI/CD環境〜
SI現場のテスト自動化への挑戦〜フルコンテナ構成のCI/CD環境〜Daiki Kawanuma
 
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
 
限界性能試験を自動化するOperatorを作ってみた(Kubernetes Novice Tokyo #14 発表資料)
限界性能試験を自動化するOperatorを作ってみた(Kubernetes Novice Tokyo #14 発表資料)限界性能試験を自動化するOperatorを作ってみた(Kubernetes Novice Tokyo #14 発表資料)
限界性能試験を自動化するOperatorを作ってみた(Kubernetes Novice Tokyo #14 発表資料)NTT DATA Technology & Innovation
 
StackStorm で実現する、複数システムに対する統一インターフェイス提供と運用一元化の取り組み - OpenStack最新情報セミナー(2017年3月)
StackStorm で実現する、複数システムに対する統一インターフェイス提供と運用一元化の取り組み - OpenStack最新情報セミナー(2017年3月)StackStorm で実現する、複数システムに対する統一インターフェイス提供と運用一元化の取り組み - OpenStack最新情報セミナー(2017年3月)
StackStorm で実現する、複数システムに対する統一インターフェイス提供と運用一元化の取り組み - OpenStack最新情報セミナー(2017年3月)VirtualTech Japan Inc.
 
Openstack mitaka のセキュリティ - OpenStack最新情報セミナー 2016年5月
Openstack mitaka のセキュリティ - OpenStack最新情報セミナー 2016年5月Openstack mitaka のセキュリティ - OpenStack最新情報セミナー 2016年5月
Openstack mitaka のセキュリティ - OpenStack最新情報セミナー 2016年5月VirtualTech Japan Inc.
 
DevOpsに求められる様々な技術とその連携の学習方法
DevOpsに求められる様々な技術とその連携の学習方法DevOpsに求められる様々な技術とその連携の学習方法
DevOpsに求められる様々な技術とその連携の学習方法CASAREAL, Inc.
 
Ubuntu Juju/MAAS・OpenStackを使った検証環境構築 - OpenStack最新情報セミナー 2016年3月
Ubuntu Juju/MAAS・OpenStackを使った検証環境構築 - OpenStack最新情報セミナー 2016年3月 Ubuntu Juju/MAAS・OpenStackを使った検証環境構築 - OpenStack最新情報セミナー 2016年3月
Ubuntu Juju/MAAS・OpenStackを使った検証環境構築 - OpenStack最新情報セミナー 2016年3月 VirtualTech Japan Inc.
 
本当は恐ろしい分散システムの話
本当は恐ろしい分散システムの話本当は恐ろしい分散システムの話
本当は恐ろしい分散システムの話Kumazaki Hiroki
 
ネットワークスイッチ構築実践 1.VLAN・LinkAggregation編
ネットワークスイッチ構築実践 1.VLAN・LinkAggregation編ネットワークスイッチ構築実践 1.VLAN・LinkAggregation編
ネットワークスイッチ構築実践 1.VLAN・LinkAggregation編株式会社 NTTテクノクロス
 
Resilience Engineering on Kubernetes
Resilience Engineering on KubernetesResilience Engineering on Kubernetes
Resilience Engineering on KubernetesToru Makabe
 
red-hat-forum-2017-openshift-baremetal-deployment
red-hat-forum-2017-openshift-baremetal-deploymentred-hat-forum-2017-openshift-baremetal-deployment
red-hat-forum-2017-openshift-baremetal-deploymentTetsuya Sodo
 

Mais procurados (20)

半日でわかる コンテナー技術 (入門編)
半日でわかる コンテナー技術 (入門編)半日でわかる コンテナー技術 (入門編)
半日でわかる コンテナー技術 (入門編)
 
【Cloud Week 2015@Hokkaido University】Dockerとインフラ運用自働化とIoT
【Cloud Week 2015@Hokkaido University】Dockerとインフラ運用自働化とIoT【Cloud Week 2015@Hokkaido University】Dockerとインフラ運用自働化とIoT
【Cloud Week 2015@Hokkaido University】Dockerとインフラ運用自働化とIoT
 
1891件以上のカーネルの不具合修正に貢献した再現用プログラムを自動生成するsyzkallerのテスト自動化技術(NTT Tech Conference ...
1891件以上のカーネルの不具合修正に貢献した再現用プログラムを自動生成するsyzkallerのテスト自動化技術(NTT Tech Conference ...1891件以上のカーネルの不具合修正に貢献した再現用プログラムを自動生成するsyzkallerのテスト自動化技術(NTT Tech Conference ...
1891件以上のカーネルの不具合修正に貢献した再現用プログラムを自動生成するsyzkallerのテスト自動化技術(NTT Tech Conference ...
 
AWS/Openstack integration with openQRM
AWS/Openstack integration with openQRMAWS/Openstack integration with openQRM
AWS/Openstack integration with openQRM
 
Serverless の自動回復と自動化のためのアーキテクチャ
Serverless の自動回復と自動化のためのアーキテクチャServerless の自動回復と自動化のためのアーキテクチャ
Serverless の自動回復と自動化のためのアーキテクチャ
 
ダイ・ハード in the Kubernetes world
ダイ・ハード in the Kubernetes worldダイ・ハード in the Kubernetes world
ダイ・ハード in the Kubernetes world
 
Hinemosで簡単にdev opsをサポート!
Hinemosで簡単にdev opsをサポート!Hinemosで簡単にdev opsをサポート!
Hinemosで簡単にdev opsをサポート!
 
OpenStack入門 2016/06/27
OpenStack入門 2016/06/27OpenStack入門 2016/06/27
OpenStack入門 2016/06/27
 
OpenStackSDK with Ansible
OpenStackSDK with AnsibleOpenStackSDK with Ansible
OpenStackSDK with Ansible
 
SI現場のテスト自動化への挑戦〜フルコンテナ構成のCI/CD環境〜
SI現場のテスト自動化への挑戦〜フルコンテナ構成のCI/CD環境〜SI現場のテスト自動化への挑戦〜フルコンテナ構成のCI/CD環境〜
SI現場のテスト自動化への挑戦〜フルコンテナ構成のCI/CD環境〜
 
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...
 
限界性能試験を自動化するOperatorを作ってみた(Kubernetes Novice Tokyo #14 発表資料)
限界性能試験を自動化するOperatorを作ってみた(Kubernetes Novice Tokyo #14 発表資料)限界性能試験を自動化するOperatorを作ってみた(Kubernetes Novice Tokyo #14 発表資料)
限界性能試験を自動化するOperatorを作ってみた(Kubernetes Novice Tokyo #14 発表資料)
 
StackStorm で実現する、複数システムに対する統一インターフェイス提供と運用一元化の取り組み - OpenStack最新情報セミナー(2017年3月)
StackStorm で実現する、複数システムに対する統一インターフェイス提供と運用一元化の取り組み - OpenStack最新情報セミナー(2017年3月)StackStorm で実現する、複数システムに対する統一インターフェイス提供と運用一元化の取り組み - OpenStack最新情報セミナー(2017年3月)
StackStorm で実現する、複数システムに対する統一インターフェイス提供と運用一元化の取り組み - OpenStack最新情報セミナー(2017年3月)
 
Openstack mitaka のセキュリティ - OpenStack最新情報セミナー 2016年5月
Openstack mitaka のセキュリティ - OpenStack最新情報セミナー 2016年5月Openstack mitaka のセキュリティ - OpenStack最新情報セミナー 2016年5月
Openstack mitaka のセキュリティ - OpenStack最新情報セミナー 2016年5月
 
DevOpsに求められる様々な技術とその連携の学習方法
DevOpsに求められる様々な技術とその連携の学習方法DevOpsに求められる様々な技術とその連携の学習方法
DevOpsに求められる様々な技術とその連携の学習方法
 
Ubuntu Juju/MAAS・OpenStackを使った検証環境構築 - OpenStack最新情報セミナー 2016年3月
Ubuntu Juju/MAAS・OpenStackを使った検証環境構築 - OpenStack最新情報セミナー 2016年3月 Ubuntu Juju/MAAS・OpenStackを使った検証環境構築 - OpenStack最新情報セミナー 2016年3月
Ubuntu Juju/MAAS・OpenStackを使った検証環境構築 - OpenStack最新情報セミナー 2016年3月
 
本当は恐ろしい分散システムの話
本当は恐ろしい分散システムの話本当は恐ろしい分散システムの話
本当は恐ろしい分散システムの話
 
ネットワークスイッチ構築実践 1.VLAN・LinkAggregation編
ネットワークスイッチ構築実践 1.VLAN・LinkAggregation編ネットワークスイッチ構築実践 1.VLAN・LinkAggregation編
ネットワークスイッチ構築実践 1.VLAN・LinkAggregation編
 
Resilience Engineering on Kubernetes
Resilience Engineering on KubernetesResilience Engineering on Kubernetes
Resilience Engineering on Kubernetes
 
red-hat-forum-2017-openshift-baremetal-deployment
red-hat-forum-2017-openshift-baremetal-deploymentred-hat-forum-2017-openshift-baremetal-deployment
red-hat-forum-2017-openshift-baremetal-deployment
 

Destaque

IaaSクラウドを支える基礎技術 v1_0
IaaSクラウドを支える基礎技術 v1_0IaaSクラウドを支える基礎技術 v1_0
IaaSクラウドを支える基礎技術 v1_0Etsuji Nakai
 
エンジニア向け夏期特別講座 〜 Red Hat OpenStack徹底解説! 第二部 OpenStackの内部構造
エンジニア向け夏期特別講座 〜 Red Hat OpenStack徹底解説! 第二部 OpenStackの内部構造エンジニア向け夏期特別講座 〜 Red Hat OpenStack徹底解説! 第二部 OpenStackの内部構造
エンジニア向け夏期特別講座 〜 Red Hat OpenStack徹底解説! 第二部 OpenStackの内部構造Etsuji Nakai
 
OpenStack: Inside Out
OpenStack: Inside OutOpenStack: Inside Out
OpenStack: Inside OutEtsuji Nakai
 
OpenStackとDockerの未来像
OpenStackとDockerの未来像OpenStackとDockerの未来像
OpenStackとDockerの未来像Etsuji Nakai
 
DevOpsにおける組織に固有の事情を どのように整理するべきか
DevOpsにおける組織に固有の事情を どのように整理するべきかDevOpsにおける組織に固有の事情を どのように整理するべきか
DevOpsにおける組織に固有の事情を どのように整理するべきかEtsuji Nakai
 
Spannerに関する技術メモ
Spannerに関する技術メモSpannerに関する技術メモ
Spannerに関する技術メモEtsuji Nakai
 
Visual Studio Code 入門
Visual Studio Code 入門Visual Studio Code 入門
Visual Studio Code 入門Saki Homma
 
10+ Deploys Per Day: Dev and Ops Cooperation at Flickr
10+ Deploys Per Day: Dev and Ops Cooperation at Flickr10+ Deploys Per Day: Dev and Ops Cooperation at Flickr
10+ Deploys Per Day: Dev and Ops Cooperation at FlickrJohn Allspaw
 
Googleのインフラ技術から考える理想のDevOps
Googleのインフラ技術から考える理想のDevOpsGoogleのインフラ技術から考える理想のDevOps
Googleのインフラ技術から考える理想のDevOpsEtsuji Nakai
 

Destaque (9)

IaaSクラウドを支える基礎技術 v1_0
IaaSクラウドを支える基礎技術 v1_0IaaSクラウドを支える基礎技術 v1_0
IaaSクラウドを支える基礎技術 v1_0
 
エンジニア向け夏期特別講座 〜 Red Hat OpenStack徹底解説! 第二部 OpenStackの内部構造
エンジニア向け夏期特別講座 〜 Red Hat OpenStack徹底解説! 第二部 OpenStackの内部構造エンジニア向け夏期特別講座 〜 Red Hat OpenStack徹底解説! 第二部 OpenStackの内部構造
エンジニア向け夏期特別講座 〜 Red Hat OpenStack徹底解説! 第二部 OpenStackの内部構造
 
OpenStack: Inside Out
OpenStack: Inside OutOpenStack: Inside Out
OpenStack: Inside Out
 
OpenStackとDockerの未来像
OpenStackとDockerの未来像OpenStackとDockerの未来像
OpenStackとDockerの未来像
 
DevOpsにおける組織に固有の事情を どのように整理するべきか
DevOpsにおける組織に固有の事情を どのように整理するべきかDevOpsにおける組織に固有の事情を どのように整理するべきか
DevOpsにおける組織に固有の事情を どのように整理するべきか
 
Spannerに関する技術メモ
Spannerに関する技術メモSpannerに関する技術メモ
Spannerに関する技術メモ
 
Visual Studio Code 入門
Visual Studio Code 入門Visual Studio Code 入門
Visual Studio Code 入門
 
10+ Deploys Per Day: Dev and Ops Cooperation at Flickr
10+ Deploys Per Day: Dev and Ops Cooperation at Flickr10+ Deploys Per Day: Dev and Ops Cooperation at Flickr
10+ Deploys Per Day: Dev and Ops Cooperation at Flickr
 
Googleのインフラ技術から考える理想のDevOps
Googleのインフラ技術から考える理想のDevOpsGoogleのインフラ技術から考える理想のDevOps
Googleのインフラ技術から考える理想のDevOps
 

Semelhante a クラウドが実現するソフト開発・運用の変革と自動化

OpenShift Ansbile 活用法 アプリケーションライフサイクルからみる導入効果
OpenShift Ansbile 活用法 アプリケーションライフサイクルからみる導入効果OpenShift Ansbile 活用法 アプリケーションライフサイクルからみる導入効果
OpenShift Ansbile 活用法 アプリケーションライフサイクルからみる導入効果Hideaki Tokida
 
最適なビックデータ・システムの構築のために
最適なビックデータ・システムの構築のために最適なビックデータ・システムの構築のために
最適なビックデータ・システムの構築のためにIBM Systems @ IBM Japan, Ltd.
 
SIビジネスのデジタル・トランスフォーメーション
SIビジネスのデジタル・トランスフォーメーションSIビジネスのデジタル・トランスフォーメーション
SIビジネスのデジタル・トランスフォーメーションMasanori Saito
 
Circle of Code with Cloud Foundry
Circle of Code with Cloud FoundryCircle of Code with Cloud Foundry
Circle of Code with Cloud FoundryTomohiro Ichimura
 
たった1時間でシステム構築!“激速”環境構築を実現する“パターン技術”の秘密とは
たった1時間でシステム構築!“激速”環境構築を実現する“パターン技術”の秘密とはたった1時間でシステム構築!“激速”環境構築を実現する“パターン技術”の秘密とは
たった1時間でシステム構築!“激速”環境構築を実現する“パターン技術”の秘密とはRina Owaki
 
XPFes2023_DevOps business-briefing_Hasegawa
XPFes2023_DevOps business-briefing_HasegawaXPFes2023_DevOps business-briefing_Hasegawa
XPFes2023_DevOps business-briefing_HasegawaTokyo, Japan
 
Relationship betweenddd and mvc
Relationship betweenddd and mvcRelationship betweenddd and mvc
Relationship betweenddd and mvcTakao Tetsuro
 
エンタープライズアプリケーション品質向上のカギ -サービス仮想化と継続的デリバリー
エンタープライズアプリケーション品質向上のカギ -サービス仮想化と継続的デリバリーエンタープライズアプリケーション品質向上のカギ -サービス仮想化と継続的デリバリー
エンタープライズアプリケーション品質向上のカギ -サービス仮想化と継続的デリバリーTakashi Watanabe
 
継続的デリバリーとサービス仮想化で変わる、エンタープライズアジャイル開発
継続的デリバリーとサービス仮想化で変わる、エンタープライズアジャイル開発継続的デリバリーとサービス仮想化で変わる、エンタープライズアジャイル開発
継続的デリバリーとサービス仮想化で変わる、エンタープライズアジャイル開発Takashi Watanabe
 
スカイアーチセミナー:自社アプリをクラウド展開する為の『失敗しない3つの法則
スカイアーチセミナー:自社アプリをクラウド展開する為の『失敗しない3つの法則スカイアーチセミナー:自社アプリをクラウド展開する為の『失敗しない3つの法則
スカイアーチセミナー:自社アプリをクラウド展開する為の『失敗しない3つの法則株式会社スカイアーチネットワークス
 
Jenkins ユーザ・カンファレンス 2012 東京 S406-4/マルチステージ型継続的インテグレーションのすすめ
Jenkins ユーザ・カンファレンス 2012 東京 S406-4/マルチステージ型継続的インテグレーションのすすめJenkins ユーザ・カンファレンス 2012 東京 S406-4/マルチステージ型継続的インテグレーションのすすめ
Jenkins ユーザ・カンファレンス 2012 東京 S406-4/マルチステージ型継続的インテグレーションのすすめatsushi_tmx
 
オープンクラウド基盤の価値と導入へ向けた考慮点 〜IaaSからPaaSまで - EMC様セミナー 「あなたのビジネスを高速化!DevOpsとアジャイル開発...
オープンクラウド基盤の価値と導入へ向けた考慮点 〜IaaSからPaaSまで - EMC様セミナー 「あなたのビジネスを高速化!DevOpsとアジャイル開発...オープンクラウド基盤の価値と導入へ向けた考慮点 〜IaaSからPaaSまで - EMC様セミナー 「あなたのビジネスを高速化!DevOpsとアジャイル開発...
オープンクラウド基盤の価値と導入へ向けた考慮点 〜IaaSからPaaSまで - EMC様セミナー 「あなたのビジネスを高速化!DevOpsとアジャイル開発...VirtualTech Japan Inc.
 
オープンクラウド基盤の価値と導入へ向けた考慮点 〜IaaSからPaaSまで - EMC様セミナー 「あなたのビジネスを高速化!DevOpsとアジャイル開発...
オープンクラウド基盤の価値と導入へ向けた考慮点 〜IaaSからPaaSまで - EMC様セミナー 「あなたのビジネスを高速化!DevOpsとアジャイル開発...オープンクラウド基盤の価値と導入へ向けた考慮点 〜IaaSからPaaSまで - EMC様セミナー 「あなたのビジネスを高速化!DevOpsとアジャイル開発...
オープンクラウド基盤の価値と導入へ向けた考慮点 〜IaaSからPaaSまで - EMC様セミナー 「あなたのビジネスを高速化!DevOpsとアジャイル開発...Nobuyuki Tamaoki
 
Team Foundation Server ~ 今を生きるエンジニアのための開発基盤とは 【BPStudy #63】
Team Foundation Server ~ 今を生きるエンジニアのための開発基盤とは 【BPStudy #63】 Team Foundation Server ~ 今を生きるエンジニアのための開発基盤とは 【BPStudy #63】
Team Foundation Server ~ 今を生きるエンジニアのための開発基盤とは 【BPStudy #63】 智治 長沢
 
市場動向並びに弊社製品の今後の展望について
市場動向並びに弊社製品の今後の展望について市場動向並びに弊社製品の今後の展望について
市場動向並びに弊社製品の今後の展望についてKen Azuma
 
オープンソース統合運用管理ツール『Hinemos』 --- その利便性及びインシデント管理について ---
オープンソース統合運用管理ツール『Hinemos』  --- その利便性及びインシデント管理について ---オープンソース統合運用管理ツール『Hinemos』  --- その利便性及びインシデント管理について ---
オープンソース統合運用管理ツール『Hinemos』 --- その利便性及びインシデント管理について ---Open Source Software Association of Japan
 
でぶさみ夏2013 キーノート オレンジレンジャーの資料
でぶさみ夏2013 キーノート オレンジレンジャーの資料でぶさみ夏2013 キーノート オレンジレンジャーの資料
でぶさみ夏2013 キーノート オレンジレンジャーの資料Tomohiro Fujii
 
X dev 20121106
X dev 20121106X dev 20121106
X dev 20121106Ken Azuma
 
市場動向並びに弊社製品の今後の展望について
市場動向並びに弊社製品の今後の展望について市場動向並びに弊社製品の今後の展望について
市場動向並びに弊社製品の今後の展望についてKen Azuma
 

Semelhante a クラウドが実現するソフト開発・運用の変革と自動化 (20)

OpenShift Ansbile 活用法 アプリケーションライフサイクルからみる導入効果
OpenShift Ansbile 活用法 アプリケーションライフサイクルからみる導入効果OpenShift Ansbile 活用法 アプリケーションライフサイクルからみる導入効果
OpenShift Ansbile 活用法 アプリケーションライフサイクルからみる導入効果
 
最適なビックデータ・システムの構築のために
最適なビックデータ・システムの構築のために最適なビックデータ・システムの構築のために
最適なビックデータ・システムの構築のために
 
SIビジネスのデジタル・トランスフォーメーション
SIビジネスのデジタル・トランスフォーメーションSIビジネスのデジタル・トランスフォーメーション
SIビジネスのデジタル・トランスフォーメーション
 
Circle of Code with Cloud Foundry
Circle of Code with Cloud FoundryCircle of Code with Cloud Foundry
Circle of Code with Cloud Foundry
 
たった1時間でシステム構築!“激速”環境構築を実現する“パターン技術”の秘密とは
たった1時間でシステム構築!“激速”環境構築を実現する“パターン技術”の秘密とはたった1時間でシステム構築!“激速”環境構築を実現する“パターン技術”の秘密とは
たった1時間でシステム構築!“激速”環境構築を実現する“パターン技術”の秘密とは
 
XPFes2023_DevOps business-briefing_Hasegawa
XPFes2023_DevOps business-briefing_HasegawaXPFes2023_DevOps business-briefing_Hasegawa
XPFes2023_DevOps business-briefing_Hasegawa
 
Relationship betweenddd and mvc
Relationship betweenddd and mvcRelationship betweenddd and mvc
Relationship betweenddd and mvc
 
エンタープライズアプリケーション品質向上のカギ -サービス仮想化と継続的デリバリー
エンタープライズアプリケーション品質向上のカギ -サービス仮想化と継続的デリバリーエンタープライズアプリケーション品質向上のカギ -サービス仮想化と継続的デリバリー
エンタープライズアプリケーション品質向上のカギ -サービス仮想化と継続的デリバリー
 
継続的デリバリーとサービス仮想化で変わる、エンタープライズアジャイル開発
継続的デリバリーとサービス仮想化で変わる、エンタープライズアジャイル開発継続的デリバリーとサービス仮想化で変わる、エンタープライズアジャイル開発
継続的デリバリーとサービス仮想化で変わる、エンタープライズアジャイル開発
 
スカイアーチセミナー:自社アプリをクラウド展開する為の『失敗しない3つの法則
スカイアーチセミナー:自社アプリをクラウド展開する為の『失敗しない3つの法則スカイアーチセミナー:自社アプリをクラウド展開する為の『失敗しない3つの法則
スカイアーチセミナー:自社アプリをクラウド展開する為の『失敗しない3つの法則
 
Jenkins ユーザ・カンファレンス 2012 東京 S406-4/マルチステージ型継続的インテグレーションのすすめ
Jenkins ユーザ・カンファレンス 2012 東京 S406-4/マルチステージ型継続的インテグレーションのすすめJenkins ユーザ・カンファレンス 2012 東京 S406-4/マルチステージ型継続的インテグレーションのすすめ
Jenkins ユーザ・カンファレンス 2012 東京 S406-4/マルチステージ型継続的インテグレーションのすすめ
 
オープンクラウド基盤の価値と導入へ向けた考慮点 〜IaaSからPaaSまで - EMC様セミナー 「あなたのビジネスを高速化!DevOpsとアジャイル開発...
オープンクラウド基盤の価値と導入へ向けた考慮点 〜IaaSからPaaSまで - EMC様セミナー 「あなたのビジネスを高速化!DevOpsとアジャイル開発...オープンクラウド基盤の価値と導入へ向けた考慮点 〜IaaSからPaaSまで - EMC様セミナー 「あなたのビジネスを高速化!DevOpsとアジャイル開発...
オープンクラウド基盤の価値と導入へ向けた考慮点 〜IaaSからPaaSまで - EMC様セミナー 「あなたのビジネスを高速化!DevOpsとアジャイル開発...
 
オープンクラウド基盤の価値と導入へ向けた考慮点 〜IaaSからPaaSまで - EMC様セミナー 「あなたのビジネスを高速化!DevOpsとアジャイル開発...
オープンクラウド基盤の価値と導入へ向けた考慮点 〜IaaSからPaaSまで - EMC様セミナー 「あなたのビジネスを高速化!DevOpsとアジャイル開発...オープンクラウド基盤の価値と導入へ向けた考慮点 〜IaaSからPaaSまで - EMC様セミナー 「あなたのビジネスを高速化!DevOpsとアジャイル開発...
オープンクラウド基盤の価値と導入へ向けた考慮点 〜IaaSからPaaSまで - EMC様セミナー 「あなたのビジネスを高速化!DevOpsとアジャイル開発...
 
AIビジネスクリエーションワークショップ@東京
AIビジネスクリエーションワークショップ@東京AIビジネスクリエーションワークショップ@東京
AIビジネスクリエーションワークショップ@東京
 
Team Foundation Server ~ 今を生きるエンジニアのための開発基盤とは 【BPStudy #63】
Team Foundation Server ~ 今を生きるエンジニアのための開発基盤とは 【BPStudy #63】 Team Foundation Server ~ 今を生きるエンジニアのための開発基盤とは 【BPStudy #63】
Team Foundation Server ~ 今を生きるエンジニアのための開発基盤とは 【BPStudy #63】
 
市場動向並びに弊社製品の今後の展望について
市場動向並びに弊社製品の今後の展望について市場動向並びに弊社製品の今後の展望について
市場動向並びに弊社製品の今後の展望について
 
オープンソース統合運用管理ツール『Hinemos』 --- その利便性及びインシデント管理について ---
オープンソース統合運用管理ツール『Hinemos』  --- その利便性及びインシデント管理について ---オープンソース統合運用管理ツール『Hinemos』  --- その利便性及びインシデント管理について ---
オープンソース統合運用管理ツール『Hinemos』 --- その利便性及びインシデント管理について ---
 
でぶさみ夏2013 キーノート オレンジレンジャーの資料
でぶさみ夏2013 キーノート オレンジレンジャーの資料でぶさみ夏2013 キーノート オレンジレンジャーの資料
でぶさみ夏2013 キーノート オレンジレンジャーの資料
 
X dev 20121106
X dev 20121106X dev 20121106
X dev 20121106
 
市場動向並びに弊社製品の今後の展望について
市場動向並びに弊社製品の今後の展望について市場動向並びに弊社製品の今後の展望について
市場動向並びに弊社製品の今後の展望について
 

Mais de Etsuji Nakai

「ITエンジニアリングの本質」を考える
「ITエンジニアリングの本質」を考える「ITエンジニアリングの本質」を考える
「ITエンジニアリングの本質」を考えるEtsuji Nakai
 
Googleのインフラ技術に見る基盤標準化とDevOpsの真実
Googleのインフラ技術に見る基盤標準化とDevOpsの真実Googleのインフラ技術に見る基盤標準化とDevOpsの真実
Googleのインフラ技術に見る基盤標準化とDevOpsの真実Etsuji Nakai
 
Introducton to Convolutional Nerural Network with TensorFlow
Introducton to Convolutional Nerural Network with TensorFlowIntroducton to Convolutional Nerural Network with TensorFlow
Introducton to Convolutional Nerural Network with TensorFlowEtsuji Nakai
 
Googleにおける機械学習の活用とクラウドサービス
Googleにおける機械学習の活用とクラウドサービスGoogleにおける機械学習の活用とクラウドサービス
Googleにおける機械学習の活用とクラウドサービスEtsuji Nakai
 
A Brief History of My English Learning
A Brief History of My English LearningA Brief History of My English Learning
A Brief History of My English LearningEtsuji Nakai
 
TensorFlowプログラミングと分類アルゴリズムの基礎
TensorFlowプログラミングと分類アルゴリズムの基礎TensorFlowプログラミングと分類アルゴリズムの基礎
TensorFlowプログラミングと分類アルゴリズムの基礎Etsuji Nakai
 
TensorFlowによるニューラルネットワーク入門
TensorFlowによるニューラルネットワーク入門TensorFlowによるニューラルネットワーク入門
TensorFlowによるニューラルネットワーク入門Etsuji Nakai
 
Using Kubernetes on Google Container Engine
Using Kubernetes on Google Container EngineUsing Kubernetes on Google Container Engine
Using Kubernetes on Google Container EngineEtsuji Nakai
 
Lecture note on PRML 8.2
Lecture note on PRML 8.2Lecture note on PRML 8.2
Lecture note on PRML 8.2Etsuji Nakai
 
Machine Learning Basics for Web Application Developers
Machine Learning Basics for Web Application DevelopersMachine Learning Basics for Web Application Developers
Machine Learning Basics for Web Application DevelopersEtsuji Nakai
 
Your first TensorFlow programming with Jupyter
Your first TensorFlow programming with JupyterYour first TensorFlow programming with Jupyter
Your first TensorFlow programming with JupyterEtsuji Nakai
 
Deep Q-Network for beginners
Deep Q-Network for beginnersDeep Q-Network for beginners
Deep Q-Network for beginnersEtsuji Nakai
 
TensorFlowで学ぶDQN
TensorFlowで学ぶDQNTensorFlowで学ぶDQN
TensorFlowで学ぶDQNEtsuji Nakai
 
インタークラウドを実現する技術 〜 デファクトスタンダードからの視点 〜
インタークラウドを実現する技術 〜 デファクトスタンダードからの視点 〜インタークラウドを実現する技術 〜 デファクトスタンダードからの視点 〜
インタークラウドを実現する技術 〜 デファクトスタンダードからの視点 〜Etsuji Nakai
 
Exploring the Philosophy behind Docker/Kubernetes/OpenShift
Exploring the Philosophy behind Docker/Kubernetes/OpenShiftExploring the Philosophy behind Docker/Kubernetes/OpenShift
Exploring the Philosophy behind Docker/Kubernetes/OpenShiftEtsuji Nakai
 
「TensorFlow Tutorialの数学的背景」 クイックツアー(パート1)
「TensorFlow Tutorialの数学的背景」 クイックツアー(パート1)「TensorFlow Tutorialの数学的背景」 クイックツアー(パート1)
「TensorFlow Tutorialの数学的背景」 クイックツアー(パート1)Etsuji Nakai
 
Docker活用パターンの整理 ― どう組み合わせるのが正解?!
Docker活用パターンの整理 ― どう組み合わせるのが正解?!Docker活用パターンの整理 ― どう組み合わせるのが正解?!
Docker活用パターンの整理 ― どう組み合わせるのが正解?!Etsuji Nakai
 

Mais de Etsuji Nakai (20)

PRML11.2-11.3
PRML11.2-11.3PRML11.2-11.3
PRML11.2-11.3
 
「ITエンジニアリングの本質」を考える
「ITエンジニアリングの本質」を考える「ITエンジニアリングの本質」を考える
「ITエンジニアリングの本質」を考える
 
Googleのインフラ技術に見る基盤標準化とDevOpsの真実
Googleのインフラ技術に見る基盤標準化とDevOpsの真実Googleのインフラ技術に見る基盤標準化とDevOpsの真実
Googleのインフラ技術に見る基盤標準化とDevOpsの真実
 
Introducton to Convolutional Nerural Network with TensorFlow
Introducton to Convolutional Nerural Network with TensorFlowIntroducton to Convolutional Nerural Network with TensorFlow
Introducton to Convolutional Nerural Network with TensorFlow
 
Googleにおける機械学習の活用とクラウドサービス
Googleにおける機械学習の活用とクラウドサービスGoogleにおける機械学習の活用とクラウドサービス
Googleにおける機械学習の活用とクラウドサービス
 
A Brief History of My English Learning
A Brief History of My English LearningA Brief History of My English Learning
A Brief History of My English Learning
 
TensorFlowプログラミングと分類アルゴリズムの基礎
TensorFlowプログラミングと分類アルゴリズムの基礎TensorFlowプログラミングと分類アルゴリズムの基礎
TensorFlowプログラミングと分類アルゴリズムの基礎
 
TensorFlowによるニューラルネットワーク入門
TensorFlowによるニューラルネットワーク入門TensorFlowによるニューラルネットワーク入門
TensorFlowによるニューラルネットワーク入門
 
Using Kubernetes on Google Container Engine
Using Kubernetes on Google Container EngineUsing Kubernetes on Google Container Engine
Using Kubernetes on Google Container Engine
 
Lecture note on PRML 8.2
Lecture note on PRML 8.2Lecture note on PRML 8.2
Lecture note on PRML 8.2
 
Machine Learning Basics for Web Application Developers
Machine Learning Basics for Web Application DevelopersMachine Learning Basics for Web Application Developers
Machine Learning Basics for Web Application Developers
 
Your first TensorFlow programming with Jupyter
Your first TensorFlow programming with JupyterYour first TensorFlow programming with Jupyter
Your first TensorFlow programming with Jupyter
 
Deep Q-Network for beginners
Deep Q-Network for beginnersDeep Q-Network for beginners
Deep Q-Network for beginners
 
Life with jupyter
Life with jupyterLife with jupyter
Life with jupyter
 
TensorFlowで学ぶDQN
TensorFlowで学ぶDQNTensorFlowで学ぶDQN
TensorFlowで学ぶDQN
 
PRML7.2
PRML7.2PRML7.2
PRML7.2
 
インタークラウドを実現する技術 〜 デファクトスタンダードからの視点 〜
インタークラウドを実現する技術 〜 デファクトスタンダードからの視点 〜インタークラウドを実現する技術 〜 デファクトスタンダードからの視点 〜
インタークラウドを実現する技術 〜 デファクトスタンダードからの視点 〜
 
Exploring the Philosophy behind Docker/Kubernetes/OpenShift
Exploring the Philosophy behind Docker/Kubernetes/OpenShiftExploring the Philosophy behind Docker/Kubernetes/OpenShift
Exploring the Philosophy behind Docker/Kubernetes/OpenShift
 
「TensorFlow Tutorialの数学的背景」 クイックツアー(パート1)
「TensorFlow Tutorialの数学的背景」 クイックツアー(パート1)「TensorFlow Tutorialの数学的背景」 クイックツアー(パート1)
「TensorFlow Tutorialの数学的背景」 クイックツアー(パート1)
 
Docker活用パターンの整理 ― どう組み合わせるのが正解?!
Docker活用パターンの整理 ― どう組み合わせるのが正解?!Docker活用パターンの整理 ― どう組み合わせるのが正解?!
Docker活用パターンの整理 ― どう組み合わせるのが正解?!
 

クラウドが実現するソフト開発・運用の変革と自動化

  • 1. オープンクラウド・キャンパス クラウドが実現する ソフト開発・運用の変革と自動化 Ver1.2 2012/11/13 中井悦司 (Twitter @enakai00)
  • 2. クラウドが実現するソフト開発・運用の変革と自動化 自己紹介  中井悦司(なかいえつじ) – Twitter @enakai00  日々の仕事 – Senior Solution Architect and Cloud Evangelist at Red Hat K.K. 好評発売中 企業システムでオープンソースの活用を希望される お客様を全力でご支援させていただきます。  昔とった杵柄 – 素粒子論の研究(超弦理論とか) – 予備校講師(物理担当) – インフラエンジニア(Unix/Linux専門) 2 Open Cloud Campus
  • 3. クラウドが実現するソフト開発・運用の変革と自動化 はじめに:クラウドの自動化における問題意識  クラウドコンピューティングの実現により、さまざまな「インフラの自 動化」が可能になりました。 – アクセス変動に敏感なWebアプリケーション(現在のパブリッククラウド利 用の主流)では、「オートスケール」などは確かに便利な機能です。  今後、一般企業の業務アプリケーションをクラウドで利用する場合、ど のような観点で、どのような処理を自動化することが必要なのでしょう か? – 既存の手作業をそのまま自動化するのでは、「自動化のための自動化」に陥 る危険性はないでしょうか? – 「アプリケーション開発、システム運用プロセスの変革/改善と一体化した自 動化の適用」を研究するべき時期がきているのではないでしょうか? いけてる自動化? いけてない自動化? 3 Open Cloud Campus
  • 4. クラウドが実現するソフト開発・運用の変革と自動化 Contents  システム運用の現状と課題  運用自動化への道 − ソフトウェアライフサイクルの観点から  アプリケーションデプロイの自動化の現状  サービス継続性から見る将来の自動化 4 Open Cloud Campus
  • 6. クラウドが実現するソフト開発・運用の変革と自動化 システム運用業務の目的  サービスの継続提供 – システムの機能/性能を維持して安定したサービスを継続すること  システムの予防保守 – 障害が発生しないように健全なシステム状態を保持すること  障害対応 – 障害発生時に迅速にサービスを復旧して、再発を防止すること アプリケーション開発 インフラ構築 アプリケーション配備 サービス継続 予防保守 コ 要 ー 運用引き継ぎ デ テ 件 設 定 計 ィ ス システム運用 ン ト 義 グ 障害対応 6 Open Cloud Campus
  • 7. クラウドが実現するソフト開発・運用の変革と自動化 システム運用業務の現状 運用手順書による 手作業が前提  主な運用業務 – アプリケーション配備(デプロイ)  OS導入手順書 – 予防保守  アプリケーション導入手順書  パッチ適用手順書 – システム監視と障害対応  バックアップ手順書  障害対応手順書 – バックアップ  etc... – キャパシティ管理とシステムの増強 デプロイ アプリケーション 監視 予防保守 OS 障害対応 データ バックアップ システム増強 7 Open Cloud Campus
  • 8. クラウドが実現するソフト開発・運用の変革と自動化 手順書ベースの運用の課題 まずここに注目  運用中のソフトウェアの変更に時間/コストがかかる – ビジネス要件とそれを支える技術、双方の変化の速度が上がり、アプ リケーション、ミドルウェアなどの頻繁な更新が必要に。 – しかしながら、ソフトウェア変更に伴う手順書の書き換え、検証、手 順変更の周知徹底などに時間とコストがかかり、変更を気軽に行うわ けにはいかず・・・。  環境の複雑化への対応が困難 – 仮想化によりシステム環境が複雑化し、動的な変更・変化も可能に。 – しかしながら、それに伴う運用手順も複雑になり、作業時間が長くな る、作業ミスによる問題発生が起きやすくなるなどの課題が・・・。 変化に弱いのが 手順書運用の弱点 8 Open Cloud Campus
  • 10. クラウドが実現するソフト開発・運用の変革と自動化 ソフトウェアの変更要求が高まる背景  ビジネス要件の変化と技術の進歩に開発速度が追いつかない現状 要件定義 設計   コーディング テスト 運用 要件定義の際に決めたシステムが・・・ 運用開始時は既に時代遅れに! 10 Open Cloud Campus
  • 11. クラウドが実現するソフト開発・運用の変革と自動化 ソフトウェアの変更要求が高まる背景  開発期間の短縮と継続的なアップデートが必要に。 「継続的インテグレーション」 開発期間の短縮 (CI) の適用 コ コ コ 要 ー 要 ー 要 ー テ テ テ 件 設 デ 件 設 デ 件 設 デ ィ ス ィ ス ィ ス 定 計 定 計 定 計 ン ト ン ト ン ト 義 義 義 グ グ グ 継続的なアップデート 運用 「継続的デリバリー」 の実践 11 Open Cloud Campus
  • 13. クラウドが実現するソフト開発・運用の変革と自動化 継続的デリバリーの課題は開発と運用の「プロセスの断絶」 この問題の根本原因は 変化が激しくて 何でしょうか? 内容を伝えきれない コ 要 ー テ 件 設 デ 開発環境と本番環境の違いが ィ ス 定 計 不明でデプロイ時に ン ト 義 何がおきるが分からない グ 「越えられない壁?」 受け入れテストの 運用 時間が足りない 内容が分からないから サービスを止めずに 運用手順書が更新できない 更新する方法が分からない 13 Open Cloud Campus
  • 14. クラウドが実現するソフト開発・運用の変革と自動化 CIプロセスにおける「マシン」と「人間」の役割分担 マシンと人間の役割を明確に 分離したプロセスがCIの肝 CIツール コード リポジトリ ビルドとテストの自動実行 マシンの世界 結果レポートの作成 コード コミット 人間の世界 テスト結果、コード分析結果 カバレッジの推移など レポートのフィードバック 開発者 14 Open Cloud Campus
  • 15. クラウドが実現するソフト開発・運用の変革と自動化 開発、引き継ぎ、運用プロセスの現状イメージ 開発(作る)プロセス 運用(使う)プロセス 運用引き継ぎ マシンの世界 人間の世界 完成したものを人手で 検証・修正・再配置 15 Open Cloud Campus
  • 16. クラウドが実現するソフト開発・運用の変革と自動化 開発、引き継ぎ、運用プロセスの現状イメージ 開発(作る)プロセス 運用(使う)プロセス 運用引き継ぎ マシンの世界 作った環境と使う環境が 異なるので品質担保が困難 人間の世界 マシンの役割と人間の役割が プロセス的に分離できていない 16 Open Cloud Campus
  • 17. クラウドが実現するソフト開発・運用の変革と自動化 開発、引き継ぎ、運用プロセスの理想イメージ 開発(作る)プロセス 運用引き継ぎ 運用(使う)プロセス マシンの世界 人間の世界 運用引き継ぎにおける自動化を追求して、 ソフトウェアとインフラのライフサイクルを統合することが、 「いけてる自動化」の第一歩 17 Open Cloud Campus
  • 18. クラウドが実現するソフト開発・運用の変革と自動化 自動化の追求で開発と運用の断絶を乗り越える  運用引き継ぎのプロセスを可能な限り自動化して、「デプロイ」の苦痛を 軽減することが「継続的デリバリー」実現の鍵 1. デプロイ処理を自動化して、開発、テスト、本番、すべて同じプロセスでデ プロイしたアプリケーションを使用する。 ⇒ 環境差異を小さくして、「環境の違いで起きる問題」の発生を防止 2. 受け入れテストなど、運用引き継ぎに伴う作業を可能な限り自動化して、さ らには、既存サービスに影響を与えずに自動更新する仕組みを導入する。 ⇒「安全で容易、そして頻繁なデプロイ」を可能に 3. 運用業務を手順書による手作業から、プログラムによる自動化に置き換え。 ⇒ 手順書のメンテナンスと運用作業の負荷を軽減 開発と運用を一体化したプロセスを策定して、 ソフトウェアとインフラのライフサイクルの統合を 実現することが最終的な目標(いわゆる「DevOps」) 18 Open Cloud Campus
  • 19. クラウドが実現するソフト開発・運用の変革と自動化 自動化の追求で開発と運用の断絶を乗り越える  運用引き継ぎのプロセスを可能な限り自動化して、「デプロイ」の苦痛を 軽減することが「継続的デリバリー」実現の鍵 1. デプロイ処理を自動化して、開発、テスト、本番、すべて同じプロセスでデ プロイしたアプリケーションを使用する。 ⇒ 環境差異を小さくして、「環境の違いで起きる問題」の発生を防止 2. 受け入れテストなど、運用引き継ぎに伴う作業を可能な限り自動化して、さ らには、既存サービスに影響を与えずに自動更新する仕組みを導入する。 今回は、まずは この部分のツールに注目 ⇒「安全で容易、そして頻繁なデプロイ」を可能に 3. 運用業務を手順書による手作業から、プログラムによる自動化に置き換え。 ⇒ 手順書のメンテナンスと運用作業の負荷を軽減 開発と運用を一体化したプロセスを策定して、 ソフトウェアとインフラのライフサイクルの統合を 実現することが最終的な目標(いわゆる「DevOps」) 19 Open Cloud Campus
  • 21. クラウドが実現するソフト開発・運用の変革と自動化 アプリケーションデプロイにおける管理対象 エクセルシートに DVDメディアから エクセルシートに 手書き入力 手動インストール したがって設定 手作業による デプロイ パラメータシート記述 OS導入・環境設定 アプリケーション / 作業手順書作成 導入・環境設定 環境構築における管理対象 環境設定(Config) OS・アプリケーションの構成管理 アプリケーションプログラム アプリケーションの導入管理 インフラ環境 仮想マシン構成、OSイメージなどの管理 データ 21 Open Cloud Campus
  • 22. クラウドが実現するソフト開発・運用の変革と自動化 アプリケーションデプロイ自動化の現状  自動化の3大パターン 1. 仮想アプライアンス方式 • アプリケーション導入済みの環境をマシンイメージ化して利用。 2. JEOS(Just Enough OS)方式 • 最小限のOS環境をマシンイメージ化して利用。アプリケーションの導入・設定を自動化。 3. 自動インストール方式 • OSのインストールからアプリケーションの導入・設定まで、すべての作業を自動化して適用。 環境構築における管理対象 環境設定(Config) 1. すべてをイメージ化して利用 アプリケーションプログラム 2. インフラ環境をイメージ化して利用 インフラ環境 3. イメージ化せずにすべてを自動構築 データ 22 Open Cloud Campus
  • 23. クラウドが実現するソフト開発・運用の変革と自動化 各パターンの特徴 手軽に利用できるが  仮想アプライアンス方式 柔軟性にかける 「環境の塩漬け方式」 – メリット • テンプレートから仮想マシンを起動するだけで簡単に利用できる。 – デメリット • デプロイ時のカスタマイズが難しい。 • テンプレートの修正は手作業となり、メンテナンスに手間がかかる。 • クラウドごとに対応するテンプレートの作成が必要。 カスタマイズが容易だが 大掛かりな仕掛けが必要な  自動インストール方式 「自動生産方式」 – メリット • 自動化の大元となる設計ファイルを修正することで、デプロイ時のカスタマイズや 構成のアップデートが容易に行える。 – デメリット • 自動化ツールの整備が必要。 • テンプレート起動が前提の環境には適用できない。 • テンプレート方式に比べると、デプロイ処理に時間がかかる。 23 Open Cloud Campus
  • 24. クラウドが実現するソフト開発・運用の変革と自動化 各パターンの特徴 事前準備した環境から カスタマイズを行う  JEOS (Just Enough OS) 方式 「サンドイッチ方式 (?)」 – メリット • テンプレート起動が前提の環境でも利用可能。 • デプロイ時にアプリケーションのカスタマイズが可能。 – デメリット • OSバージョンアップなどは、新規テンプレートの作成が必要。 • クラウドごとに対応するOSテンプレートの作成が必要。 • アプリケーションの構成によってはデプロイに時間がかかる。 ※ 自動インストールとJEOSの組み合わせについて – JEOS方式のデメリットを回避する方法として、JEOS作成の自動化があります。共通の 設定ファイルから、使用する環境(クラウド)ごとに同一内容のJEOSを事前に(自動 インストールで)作成して利用します。 – 複数環境(クラウド)に同一構成のアプリケーション環境を自動構築できるメリット があります。 • 後ほど紹介するAeolusでは、この方式を採用しています。 24 Open Cloud Campus
  • 25. クラウドが実現するソフト開発・運用の変革と自動化 アプリケーションデプロイ自動化ツールの例  個別ツールの組み合わせ – KickStart, virt-install, Oz, etc... • OS導入、JEOSイメージ作成の自動化 – Puppet, Chef, etc... • アプリケーション導入、環境設定の自動化 これらツールの一部を この後のセッションで  統合化された自動化ツールの例 デモと一緒に紹介します – Aeolus Conductor (Red Hat CloudForms) – Amazon Cloud Formation – Dell Crowbar – Dodai Project – juju – VMware vCloud Director – etc... 25 Open Cloud Campus
  • 27. クラウドが実現するソフト開発・運用の変革と自動化 サービス継続性における自動化の役割  サービス継続性の観点で適用できそうな自動化のエリア – 既存サービスを停止せずに新規アプリケーションを自動デプロイ – 障害発生時にサービスを自動復旧 – キャパシティ不足時にシステムを自動増強 デプロイ アプリケーション 監視 予防保守 OS 障害対応 データ バックアップ システム増強 27 Open Cloud Campus
  • 28. クラウドが実現するソフト開発・運用の変革と自動化 サービスを停止せずにバージョンアップする手法の例  ブルーグリーン・デプロイメント – 本番環境を2種類用意して、旧バージョンと新バージョンを並行稼働させながら、切り替 える手法。新バージョンに問題が起きた場合は、すぐに旧バージョンにフォールバック が可能。 • クラウドでインフラ準備が自動化できるようになると、コスト的にも現実性がでてくる。 – ユーザデータの複製などが課題。 • アプリケーションのアーキテクチャから見直しが必要。  カナリアリリース – 一部のユーザのみに新機能を提供して、問題がなければ、全ユーザに新機能を開放する – 機能レベルで小さなバージョンアップを繰り返すことが前提。機能変更に伴うデータ構 造の変化の取り扱いが難しい。(とくに新機能使用ユーザと未使用ユーザは同じデータ を共有する場合) • アプリケーションのアーキテクチャから見直しが必要。 28 Open Cloud Campus
  • 29. クラウドが実現するソフト開発・運用の変革と自動化 障害復旧の観点での自動化  自動化による「障害復旧」の発想転換 – アプリケーション環境のデプロイが完全自動化されているのであれば、「壊れ た環境を修復する」よりは、「新しい環境を作り直す」方が安上がり。(単純 なインフラ障害は、すべて再デプロイで回復してしまう。) • 現実には、「再デプロイ」で復旧する問題かどうかの判断が難しい場合もあるが、復 旧オプションの一つとしては検討の価値あり。 – アプリケーション実行環境とユーザデータを明確に分離して、再デプロイが データに影響しないことが必要。 • AWSなどは、この方向性を示唆するクラウドインフラ。(インスタンスが停止したら インスタンス上のデータは全て消える。永続データは、EBS、S3への外部保存が前 提。) いずれにしても、ソフトウェア自体が自動化を前提とした 機能・アーキテクチャを持たないと実現は難しい 29 Open Cloud Campus
  • 30. クラウドが実現するソフト開発・運用の変革と自動化 ソフトウェア開発における自動化との融合  ソフトウェア開発では、既にさまざまな自動化が利用されています。 – 継続的インテグレーション実現の観点で、ビルド/テスト/エラーレポート作成の自動化 – 品質向上の観点で、コードインスペクションの自動化、形式手法適用の自動化など – その他には、DSLによるコードの自動生成など ⇒ 基本的には「機能要件の確実な提供」を目指したもので、「非機能要件の実現」という    観点は多くありません。  今後、運用の自動化が進むと、ソフトウェア開発の段階から「自動化されたイン フラとの連携」を想定した手法が生まれるのではないでしょうか? – 今まで「非機能要件」と思っていたものが、ソフトウェアで制御可能な「機能要件」に 変わる可能性はないでしょうか? 30 Open Cloud Campus
  • 31. クラウドが実現するソフト開発・運用の変革と自動化 最後に:継続的デリバリーのその先へ・・・  継続的デリバリー デプロイ手順 テスト手順 自動実行可能な手順 (ただし手順自体は人間が作成) 開発 運用  継続的??? デプロイ手順 テスト手順 環境変化に応じて 手順そのものを自動生成 開発 運用 31 Open Cloud Campus