DevOps時代の...
Transcript of DevOps時代の...
![Page 1: DevOps時代の システム運用と開発のあり方conf.itsmf-japan.org/conf10/dlpage/expo/1128ex_nex7.pdf · 境の拡張や、セルフサービス方式による柔軟なITインフラの変更、](https://reader030.fdocument.pub/reader030/viewer/2022041211/5dd0c7bfd6be591ccb62a92c/html5/thumbnails/1.jpg)
DevOps時代のシステム運用と開発のあり方
2013年11月28日国際大学GLOCOM客員研究員
林 雅之
![Page 2: DevOps時代の システム運用と開発のあり方conf.itsmf-japan.org/conf10/dlpage/expo/1128ex_nex7.pdf · 境の拡張や、セルフサービス方式による柔軟なITインフラの変更、](https://reader030.fdocument.pub/reader030/viewer/2022041211/5dd0c7bfd6be591ccb62a92c/html5/thumbnails/2.jpg)
●NTTコミュニケーションズ勤務2011年6月から:Cloudnのサービス企画開発やマーケティングまでを担当2012年7月から:クラウドサービス全般の広報宣伝、マーケティング、パートナー担当
●国際大学GLOCOM客員研究員クラウド政策、オープンデータ等の情報通信政策等の調査研究
●一般社団法人クラウド利用促進機構 アドバイザーオープンクラウドキャンパスの企画運営等
●ブロガー ITmediaオルタナティブ・ブログ 『ビジネス2.0』 (連続2,300日更新)
●著書「クラウドビジネス入門(創元社 2009.3)「オープンクラウド入門(インプレスR&D社 2012.9)
●ツイッターアカウント @masayukihayashi @cloud_1topi
自己紹介
1
![Page 3: DevOps時代の システム運用と開発のあり方conf.itsmf-japan.org/conf10/dlpage/expo/1128ex_nex7.pdf · 境の拡張や、セルフサービス方式による柔軟なITインフラの変更、](https://reader030.fdocument.pub/reader030/viewer/2022041211/5dd0c7bfd6be591ccb62a92c/html5/thumbnails/3.jpg)
●一般社団法人クラウド利用促進機構 アドバイザー
●オープンクラウド実証実験タスクフォース 発起人&運営委員
●日本CloudStackユーザ会 顧問
●Open Compute Project Japan 運営委員
●SUCRE(SUpporting Cloud Research Exploitation) 日本メンバー
●ニッポンクラウドワーキンググループ サムライクラウドサポータ
●CBA(クラウドビジネスアライアンス)、MIJS、JAIPA、NCA等
●ASPIC オープンデータ研究会 有識者委員
(参考)クラウドなどに関わる諸活動
2
![Page 4: DevOps時代の システム運用と開発のあり方conf.itsmf-japan.org/conf10/dlpage/expo/1128ex_nex7.pdf · 境の拡張や、セルフサービス方式による柔軟なITインフラの変更、](https://reader030.fdocument.pub/reader030/viewer/2022041211/5dd0c7bfd6be591ccb62a92c/html5/thumbnails/4.jpg)
クラウドコンピューティングの普及により、アプリケーションの開発環境の拡張や、セルフサービス方式による柔軟なITインフラの変更、運用自動化のツールなど、DevOpsを実現するための環境が整いつつあります。
本講演では、DevOpsにおける考慮点やクラウドを前提としたDevOpsの環境を整理するとともに、事例なども交えながら、システム開発と運用のあり方を考察します。
本講演でお話をすること
3
![Page 5: DevOps時代の システム運用と開発のあり方conf.itsmf-japan.org/conf10/dlpage/expo/1128ex_nex7.pdf · 境の拡張や、セルフサービス方式による柔軟なITインフラの変更、](https://reader030.fdocument.pub/reader030/viewer/2022041211/5dd0c7bfd6be591ccb62a92c/html5/thumbnails/5.jpg)
4
あらためて、DevOpsとは?
4
![Page 6: DevOps時代の システム運用と開発のあり方conf.itsmf-japan.org/conf10/dlpage/expo/1128ex_nex7.pdf · 境の拡張や、セルフサービス方式による柔軟なITインフラの変更、](https://reader030.fdocument.pub/reader030/viewer/2022041211/5dd0c7bfd6be591ccb62a92c/html5/thumbnails/6.jpg)
開発側と運用側の要望との間のトレードオフ、壁の発生
開発側
お客さまニーズにあった最新のアプリや
サービスの早期提供
DevOpsとは?
運用側
お客さまに不具合などの症状が起きないように、安定的な運用を
新しいサービスを迅速に市場に投入するための運用と開発チームのコラボレーション(協働)による改善
Development(開発)とOperation(運用)がともに協力することで、よりスピーディーに完成度の高いソフトウェアを作り上げる手法。オライリーが開催したイベント「Velocity 2009」で初めて紹介
5
![Page 7: DevOps時代の システム運用と開発のあり方conf.itsmf-japan.org/conf10/dlpage/expo/1128ex_nex7.pdf · 境の拡張や、セルフサービス方式による柔軟なITインフラの変更、](https://reader030.fdocument.pub/reader030/viewer/2022041211/5dd0c7bfd6be591ccb62a92c/html5/thumbnails/7.jpg)
ガートナーが定義するDevOps
多くの大手パブリッククラウドサービスプロバイダが、初期段階でITサービス提供を俊敏に行う必要性から用いた手法
人(と文化)を重視し、運用と開発チームのコラボレーションを改善する(アジャイルマニュフェスト)
より良い技術を利用しようと試みる。特に自動化ツールの特徴は、一層のプログラマブルかつダイナミックなインフラストラクチャの利用促進
出典:gartner IT glossary devopshttp://www.gartner.com/it-glossary/devops
6
![Page 8: DevOps時代の システム運用と開発のあり方conf.itsmf-japan.org/conf10/dlpage/expo/1128ex_nex7.pdf · 境の拡張や、セルフサービス方式による柔軟なITインフラの変更、](https://reader030.fdocument.pub/reader030/viewer/2022041211/5dd0c7bfd6be591ccb62a92c/html5/thumbnails/8.jpg)
アジャイル・マニュフェスト
私たちは、ソフトウェア開発の実践あるいは実践を手助けをする活動を通じて、よりよい開発方法を見つけだそうとしている。
この活動を通して、私たちは以下の価値に至った。
プロセスやツールよりも個人と対話を、包括的なドキュメントよりも動くソフトウェアを、
契約交渉よりも顧客との協調を、計画に従うことよりも変化への対応を、
価値とする。
出典:アジャイル・マニュフェスト(日本語版)http://agilemanifesto.org/iso/ja/
アジャイルソフトウェアの12の原則
7
![Page 9: DevOps時代の システム運用と開発のあり方conf.itsmf-japan.org/conf10/dlpage/expo/1128ex_nex7.pdf · 境の拡張や、セルフサービス方式による柔軟なITインフラの変更、](https://reader030.fdocument.pub/reader030/viewer/2022041211/5dd0c7bfd6be591ccb62a92c/html5/thumbnails/9.jpg)
DevOpsに注目が集まる背景(3つの視点)
開発手法 クラウド 自動化
ウオーターフォールから
アジャイル開発×リーンスタートアップへ
・インフラ構築運用の自動化・デプロイメント自動化・ビルド自動化・テスト自動化・バージョン管理・継続的インテグレーション
等
アプリケーションのテスト環境の拡張ITインフラの変更要求
開発者側がサーバやストレージの用意や、OSやミドルウェアの設定変更
8
![Page 10: DevOps時代の システム運用と開発のあり方conf.itsmf-japan.org/conf10/dlpage/expo/1128ex_nex7.pdf · 境の拡張や、セルフサービス方式による柔軟なITインフラの変更、](https://reader030.fdocument.pub/reader030/viewer/2022041211/5dd0c7bfd6be591ccb62a92c/html5/thumbnails/10.jpg)
DevOpsの課題
9
1.変更の規模やリスクは小さいが、頻度が高いため、変更のための一連の手続きが煩雑に→変更プロセス管理の工夫
2.本番リリースが煩雑すぎるため、運用受け入れ要件を満足しているか判別しずらい→本番投入手続きの簡略化の必要性
3.内部統制の観点では、開発と運用の役割権限の分離が必要→変更管理プロセスとリリース管理プロセスに事前承認の考え方を促進
出展:ITサービスマネジメント (翔泳社)
![Page 11: DevOps時代の システム運用と開発のあり方conf.itsmf-japan.org/conf10/dlpage/expo/1128ex_nex7.pdf · 境の拡張や、セルフサービス方式による柔軟なITインフラの変更、](https://reader030.fdocument.pub/reader030/viewer/2022041211/5dd0c7bfd6be591ccb62a92c/html5/thumbnails/11.jpg)
10
開発
10
![Page 12: DevOps時代の システム運用と開発のあり方conf.itsmf-japan.org/conf10/dlpage/expo/1128ex_nex7.pdf · 境の拡張や、セルフサービス方式による柔軟なITインフラの変更、](https://reader030.fdocument.pub/reader030/viewer/2022041211/5dd0c7bfd6be591ccb62a92c/html5/thumbnails/12.jpg)
開発者の位置づけ(個人・スタートアップ/自社/受託)
ビジネス(自社アプリ展開)
アプリ受託開発者
個人開発者/スタートアップ
クラウド連動型モバイルアプリの開発(ローカル開発環境でアプリ開発)
ソーシャルAPI等
バックエンドシステムの構築・運用
発注元企業のバックエンドシステムとのAPI接続
サーバサイド/クラウド
サーバサイド/クラウド
11
![Page 13: DevOps時代の システム運用と開発のあり方conf.itsmf-japan.org/conf10/dlpage/expo/1128ex_nex7.pdf · 境の拡張や、セルフサービス方式による柔軟なITインフラの変更、](https://reader030.fdocument.pub/reader030/viewer/2022041211/5dd0c7bfd6be591ccb62a92c/html5/thumbnails/13.jpg)
標準的な開発/提供プロセス(モバイルアプリの例)
IDE/SDKのインストール
開発/デバッグ、テスト
マーケット登録
販売、マネタイズ
アプリのライフサイ
クル管理
• ドキュメンテーション
• 開発者コミュニティ
• コーディング• UIツール• エミュレータ• テスト環境• ポーティングツール
• テスト/シミュレーション
• クライアント開発環境の選定と構築
• IDEのインストール
• SDK/プラグインのダウンロードとIDEへの組み込み
• 開発者認証• アプリの登録と承認
• ローカリゼーション
• パッケージング&SKU管理ツール
• 販売チャネル• プロモーションツール
• 共同マーケティングプログラム
• ユーザ認証• 課金・決済• モバイル広告
• 利用状況の分析/解析
• ユーザ評価• ユーザサポート• アプリのアップデート
• クロスセリング• プライバシ保護&コンプライアンス
出典:VisionMobile 2011 を改変して作成
サーバ/クラウド環境
の構築
• アプリのサーバへのデプロイメント
• DB/ストレージの構築
• バックエンドシステムとの連携
• クラウドサービス/Web APIとの連携
• テスト&サンドボックス
サーバサイド/クラウドローカル開発環境
アプリの運用/保守アプリの流通・販売
12
![Page 14: DevOps時代の システム運用と開発のあり方conf.itsmf-japan.org/conf10/dlpage/expo/1128ex_nex7.pdf · 境の拡張や、セルフサービス方式による柔軟なITインフラの変更、](https://reader030.fdocument.pub/reader030/viewer/2022041211/5dd0c7bfd6be591ccb62a92c/html5/thumbnails/14.jpg)
開発プロセスからみた主な課題(モバイルアプリの例)
IDE/SDKのインストール
開発/デバッグ、テ
スト
サーバ環境の構築
マーケット登録
販売、マネタイズ
アプリのライフサイ
クル管理プラットフォーム
• 低コストでの開発
• ワンソースでマルチプラットフォーム対応可能な開発ツールの選定(情報の不足、日本語サポートの不足など)
• リーチの拡大• ローカリゼーション
• 複数アプリストアへの登録
• 新たなビジネスモデルへの転換(アプリ内課金やサブスクリプションなど)
• 分析• プッシュ通知• ユーザサポート• アプリのアップデート
• スケーラビリティの確保とコスト
• クラウドベースのバックエンドシステムの構築・運営
• Web APIとの連携
• 特になし(比較的充実)
• Mac端末が必要。iOS Developer Programの利用には年間10800円かかる
• App Store登録にはAppleの審査がある
• アプリの承認プロセスに時間がかかる
• App Storeの手数料を回避したい
• バックエンドシステムやWeb APIの活用など
• Android対応機種が多いため、実機での検証が大変
• エミュレータの動作が非常に重い
• Android SDKのバージョンアップが多い
• Android Marketは審査なしで自由にアプリを登録できる
• 有料アプリ販売が難しい
• バックエンドシステムやWeb APIの活用など
全般
iOSアプリ
Androidアプリ
• オフライン機能でのストレージ容量に制約がある
• ブラウザごとのレンダリングエンジンへの対応・最適化
• 選択肢は多数あるが、まだ商用利用のレベルに課題あり
• App Storeなどをバイパスできるが、利用できるWebアプリストアがまだ限定的
• 有料アプリ販売が難しい
• 認証・課金を自社でコントロールできるが、開発が大変
• プッシュ通知等の実装
• バックエンドシステムやWeb APIの活用など
HTML5アプリ
13
![Page 15: DevOps時代の システム運用と開発のあり方conf.itsmf-japan.org/conf10/dlpage/expo/1128ex_nex7.pdf · 境の拡張や、セルフサービス方式による柔軟なITインフラの変更、](https://reader030.fdocument.pub/reader030/viewer/2022041211/5dd0c7bfd6be591ccb62a92c/html5/thumbnails/15.jpg)
クラウド
14
![Page 16: DevOps時代の システム運用と開発のあり方conf.itsmf-japan.org/conf10/dlpage/expo/1128ex_nex7.pdf · 境の拡張や、セルフサービス方式による柔軟なITインフラの変更、](https://reader030.fdocument.pub/reader030/viewer/2022041211/5dd0c7bfd6be591ccb62a92c/html5/thumbnails/16.jpg)
DevOpsに注目が集まる背景(クラウド)
クラウドサービスの充実
・Amazon Web Service の登場・CloudStackやOpenStackなどの
セルフポータルによるオープンなクラウド(IaaS)環境
+アプリケーションの開発運用環境を支援するPaaSサービスの充実
開発者側
アプリケーションのテスト環境の拡張、ITインフラの変更要求
開発者側自らがサーバやストレージの用意や、OSやミドルウェアの設定変更が可能に
グローバル化への対応
※IaaS Infrastructure as a Service※PaaS Platform as a Service
15
![Page 17: DevOps時代の システム運用と開発のあり方conf.itsmf-japan.org/conf10/dlpage/expo/1128ex_nex7.pdf · 境の拡張や、セルフサービス方式による柔軟なITインフラの変更、](https://reader030.fdocument.pub/reader030/viewer/2022041211/5dd0c7bfd6be591ccb62a92c/html5/thumbnails/17.jpg)
クラウドを活用した開発運用イメージ(例)
開発者がローカル開発環境ならびにクラウド上での開発・実行環境を活用し、エンドユーザにアプリを配布するモデル
ローカルでの開発環境(開発ツール)
アプリ開発者
クラウド上での開発環境・実行環境(PaaS)
開発フレームワーク/IDE
SDK/プラグイン
モバイル向けマルチプラットフォーム開発プロバイダ
クラウドサービス(IaaS/PaaS)
複数の開発言語サポート
アプリケーション・サーバ
メッセージング・ミドルウェア
他のPaaS機能
データベースサービス
外部サービスのサポート
開発ツールのサポート/提供/連携
マルチデバイスへの配信
API連携
API連携
API管理サービスプロバイダ
アプリアプリに組み込んだ機能と連携する
SDK/プラグインにより付加サービスをアプリに組み込みやすくする
付加サービス
・認証・課金・通知・分析・コマース・広告
外部サービス
・Facebook・Twitter・Google
など
16
![Page 18: DevOps時代の システム運用と開発のあり方conf.itsmf-japan.org/conf10/dlpage/expo/1128ex_nex7.pdf · 境の拡張や、セルフサービス方式による柔軟なITインフラの変更、](https://reader030.fdocument.pub/reader030/viewer/2022041211/5dd0c7bfd6be591ccb62a92c/html5/thumbnails/18.jpg)
仮想マシン
• リサイジング
• 高可用性
• クローン
• 監視
• Windows• Linux• 名前
• グルーピング
• セキュリティ
ネットワーク
• ユーザー毎のネットワーク
• ファイアウォール
• ロードバランサー
• IPアドレス管理
• 仮想スイッチ
• VPN
• Intrusion Prevention
ストレージ
• 仮想ディスク用のストレージ
• テンプレート、イメージ
• 分散ストレージ
• 自動スナップショット
• ストレージへのアクセス権
• ディスク監視
• 暗号化
テンプレート管理
• マスターテンプレート
• ユーザテンプレート
• マスターISO
• ユーザーISO
• テンプレートマイグレーション
管理機能
• ロールベース管理
• ライブマイグレーション
• 課金情報の収集
• ユーザーインターフェイス
• アクセスコントロール
• マルチハイパーバイザー
• オープンソース
• マルチデータセンター
クラウド(IaaS)環境に必要な機能例
出展:Citrix社 講演資料より
17
![Page 19: DevOps時代の システム運用と開発のあり方conf.itsmf-japan.org/conf10/dlpage/expo/1128ex_nex7.pdf · 境の拡張や、セルフサービス方式による柔軟なITインフラの変更、](https://reader030.fdocument.pub/reader030/viewer/2022041211/5dd0c7bfd6be591ccb62a92c/html5/thumbnails/19.jpg)
主なクラウド基盤ソフトウェア(IaaS)
CloudStack
◦ 旧サン・マイクロシステムズ開発責任者らが設立した米VMOpsにより開発
◦ 2010年のVer2.0からオープンソース化、社名をCloud.Comへ
◦ 2011年7月にCitrix Systemsが買収し、2014年にAFSへの寄贈を発表
◦ 安定した機能と操作性の高いWebインタフェースが特徴
◦ エンタープライズ分野及びサービスプロバイダでの導入実績が多い
OpenStack
◦ 米NASAの独自クラウド基盤である「Nebula」を元に、Rackspaceと共同で開発し
「OpenStack」として発表
◦ 現在はRackspaceを開発主体として完全なオープンソースとして公開
◦ フルオープンな開発スタイルと多くの企業が参加する活発なコミュティーが強み (参加企業
は850社以上)
◦ 社内利用からサービス提供へ適用領域拡大中
18
![Page 20: DevOps時代の システム運用と開発のあり方conf.itsmf-japan.org/conf10/dlpage/expo/1128ex_nex7.pdf · 境の拡張や、セルフサービス方式による柔軟なITインフラの変更、](https://reader030.fdocument.pub/reader030/viewer/2022041211/5dd0c7bfd6be591ccb62a92c/html5/thumbnails/20.jpg)
仮想ネットワーク制御Neutron(Quantum)
ハイパーバイザー制御
ベアメタルプロビジョニング
イメージスナップショット管理Glance
ブロックストレージ制御Cinder
オブジェクトストレージ
Swift
Nova
統合認証Keystone
仮想ルータ、仮想L2仮想ロードバランサ
仮想サーバ作成・削除
物理サーバ
仮想マシンのテンプレート設定済みイメージのスナップショット
仮想ボリューム
ReST入出力ファイルストアレプリケーション、遠隔地分散
Horizon(Dashboard)
各種API
各コンポーネントが疎結合化され、それぞれ単独でも利用可能
OpenStackの各コンポーネント
出典:OpenStackユーザ会資料
19
![Page 21: DevOps時代の システム運用と開発のあり方conf.itsmf-japan.org/conf10/dlpage/expo/1128ex_nex7.pdf · 境の拡張や、セルフサービス方式による柔軟なITインフラの変更、](https://reader030.fdocument.pub/reader030/viewer/2022041211/5dd0c7bfd6be591ccb62a92c/html5/thumbnails/21.jpg)
事業者名 サービス名称 概要
NTTコミュニケーションズ
Bizホスティング Cloudn 日米データセンターで提供
IDCフロンティアIDCFクラウドサービス/IDCFプライベートクラウドサービス
パブリッククラウドサービスとプライベートクラウドサービスの基盤として利用
KDDIKDDI クラウドプラットフォームサービス
東西2DCで提供、専有サーバの「Premium」、仮想サーバーの「Value」、個別対応の「Custom」
SCSKNetXCloud/ Cloud System Enabler
パブリッククラウドサービスとプライベートクラウドアプライアンスの基盤として利用
ユニアデックスU-Cloud クラウド環境構築サービス
マルチベンダー、マルチレイヤーのワンストップのプライベートクラウドソリューションを提供
日商エレクトロニクス Nissho-Block プライベートクラウド基盤「Nissho-Blocks IaaS」等を提供
日立製作所日立クラウド基盤導入ソリューション
CloudStackに加えてHadoopなどの分散処理環境をクラウドサービスとしてオンデマンドで提供可能
(参考)国内におけるCloudSackを採用する事業者
20
![Page 22: DevOps時代の システム運用と開発のあり方conf.itsmf-japan.org/conf10/dlpage/expo/1128ex_nex7.pdf · 境の拡張や、セルフサービス方式による柔軟なITインフラの変更、](https://reader030.fdocument.pub/reader030/viewer/2022041211/5dd0c7bfd6be591ccb62a92c/html5/thumbnails/22.jpg)
PaaSの機能例(Cloud Foundry等)
プログラミング言語 Ruby、Java、Python、PHP、Apexなど
アプリケーション・サーバ Apache Tomcat、JBossなど
データベースサービス MySQL、PostgreSQL、MongoDB、Redis、Amazon RDS、OracleDB、Microsoft SQL、Database.comなど
メッセージング・ミドルウェア RabbitMQ、Amazon SQS、Red Hat MRGなど
他サービスのサポート アドオン、API連携など
他のPaaS機能 アプリケーション統合、ビジネスプロセス管理、データ統合、マネージドファイル転送、ポータル、セキュリティ、テスト環境等
APIサービス 認証・課金、通知、分析などの付加サービス
SDK モバイル向けソフトウェア開発キットなど
開発フレームワーク Rails、Sinatra、Spring、Node.js、Eclipseなど
コアPaaS
開発ツール/付加サービス
IaaSサービス(Amazon EC2、OpenStack、CloudStack、Eucalyptus、VMware vSphereなど)
連携
連携もしくは一体的に提供
PaaSのサービス例:Windows Azure、Force.com、Heroku、Engine Yard、Cloudn PaaS、Nifty Cloud C4SA
21
![Page 23: DevOps時代の システム運用と開発のあり方conf.itsmf-japan.org/conf10/dlpage/expo/1128ex_nex7.pdf · 境の拡張や、セルフサービス方式による柔軟なITインフラの変更、](https://reader030.fdocument.pub/reader030/viewer/2022041211/5dd0c7bfd6be591ccb62a92c/html5/thumbnails/23.jpg)
物理ハードウェア(サーバ、ストレージ)
Open IaaS(OpenStack、CloudStack等)
API(AWS互換)
API
クラウドAPIライブラリ(Deltacloud等)
マルチハイパーバイザー(Xen Server、VMware etc)
クラウド管理ポータル(RigtSclae、Scalr)
運用自動化・監視(Chef等)
SDN(Software Defined Networking)
Open PaaS(Cloud Foundry、OpenShift等)
Northbound API
アプリケーションマーケット(Uforge等)
SaaS/ビッグデータ
API
仮想サーバやストレージなどの統合管理IaaSのコモディティ化
マルチ言語・マルチ開発フレームワーク開発運用環境をサポート
仮想サーバとネットワークと統合的にソフトウェアで制御・管理
プラットフォーム、仮想サーバ、ネットワーク、データセンターまでソフトウェアで統合的な運用管理・自動化
※ソフトウェアからSDNコントローラを制御できるAPI
Open Compute Project データセンターのオープン化→規模の経済
ソフトウェアによるプログラマブルなクラウド活用
22
Software Defined EnvironmentSoftware Defined NetworkSoftware Defined Data Centers
![Page 24: DevOps時代の システム運用と開発のあり方conf.itsmf-japan.org/conf10/dlpage/expo/1128ex_nex7.pdf · 境の拡張や、セルフサービス方式による柔軟なITインフラの変更、](https://reader030.fdocument.pub/reader030/viewer/2022041211/5dd0c7bfd6be591ccb62a92c/html5/thumbnails/24.jpg)
自動化
23
![Page 25: DevOps時代の システム運用と開発のあり方conf.itsmf-japan.org/conf10/dlpage/expo/1128ex_nex7.pdf · 境の拡張や、セルフサービス方式による柔軟なITインフラの変更、](https://reader030.fdocument.pub/reader030/viewer/2022041211/5dd0c7bfd6be591ccb62a92c/html5/thumbnails/25.jpg)
DevOpsに注目が集まる背景(自動化ツール)
自動化ツール例
・インフラ運用自動化(Chef、Puppet など)・デプロイメント自動化(Capistrano、RunDeck など)・ビルド自動化(Ant、Maven など)・テスト自動化(JUnit、Selenium など)・バージョン管理(Subversion、Git など)・継続的インテグレーション(Jenkins、CruiseControl など)
24
クラウドの導入で、サーバー環境の調達負荷を軽減
クラウドでは運用技術者がサーバー設定などを代行
徹底的な自動化を進めることで、少人数で大量のサーバーなどを運用⇒運用負荷の軽減と、開発側にリソースをシフト
自動化を図るための各種ツールの活用が進む
![Page 26: DevOps時代の システム運用と開発のあり方conf.itsmf-japan.org/conf10/dlpage/expo/1128ex_nex7.pdf · 境の拡張や、セルフサービス方式による柔軟なITインフラの変更、](https://reader030.fdocument.pub/reader030/viewer/2022041211/5dd0c7bfd6be591ccb62a92c/html5/thumbnails/26.jpg)
Scalr 複数の異なるクラウド環境の一元管理
Deltacloudクラウドサービスが提供するAPIにDeltacloud REST APIをかぶせることで、複数の異なるクラウド環境を管理
Cacti
munin
Zabbix
Nagios
Xymon
Chef
puppet
運用管理/構成管理
サーバーの様々なパフォーマンス状況をグラフ化するソフトで、CPUやメモリなどのスペックを見積もるのに有効
パフォーマンスモニタリング
運用監視の自動化
サーバー/ネットワークの運用監視自動化
サーバーの構築自動化や運用自動化
オープンソースのクラウド運用自動化ツール(例)
25
![Page 27: DevOps時代の システム運用と開発のあり方conf.itsmf-japan.org/conf10/dlpage/expo/1128ex_nex7.pdf · 境の拡張や、セルフサービス方式による柔軟なITインフラの変更、](https://reader030.fdocument.pub/reader030/viewer/2022041211/5dd0c7bfd6be591ccb62a92c/html5/thumbnails/27.jpg)
Opscode社のクラウドの運用自動化に特化したオープンソースのシステム統合フレームワーク。日本Chefユーザ会などコミュニティ活動も活発に
クリエーションライン社「Chef」サーバディスクリプションライセンス販売及び保守サポート、導入支援コンサルティング/トレーニングサービス、「Chef」導入インテグレーションサービス
Cloudrop(エクシード社)「マルチクラウド・オペレーレティング・フレームワーク」を利用することで、属人的になりがちなシステム構築・運用業務の「標準化」を促進し、「自動化」を実現
フェイスブックChefの商用版である同社の「Private Chef」を全面採用。大規模なデータセンターの運用自動化を実現
AWS OpsWorksAmazonクラウドのユーザーであれば追加料金はかからず、無料で利用可能
サーバーやアプリケーションを自動的に構築および調整プロビジョ ニング機能、構成管理など「レシピ」と呼ぶ構築手順書で、目的のサーバを自動構築
Chef(オープンソースの運用自動化ツール)
26
![Page 28: DevOps時代の システム運用と開発のあり方conf.itsmf-japan.org/conf10/dlpage/expo/1128ex_nex7.pdf · 境の拡張や、セルフサービス方式による柔軟なITインフラの変更、](https://reader030.fdocument.pub/reader030/viewer/2022041211/5dd0c7bfd6be591ccb62a92c/html5/thumbnails/28.jpg)
Chefを使った構築・運用業務の自動化フレームワーク例
27
step.1 作業手順に対応する“タスク”を用意する。step.2 ミドルウェア等、関連するタスクを束ねて“パッケージ”を作る。step.3 システムに必要なパッケージを集めて“バインダー”に綴じる。step.4 誰でもアクセスできる“ライブラリ”で共有する。
出典:http://cloudrop-xseed.com/
![Page 29: DevOps時代の システム運用と開発のあり方conf.itsmf-japan.org/conf10/dlpage/expo/1128ex_nex7.pdf · 境の拡張や、セルフサービス方式による柔軟なITインフラの変更、](https://reader030.fdocument.pub/reader030/viewer/2022041211/5dd0c7bfd6be591ccb62a92c/html5/thumbnails/29.jpg)
プライベートクラウドパブリッククラウド
1つのインターフェースで
システムとして統合的に管理
クラウド間をつなぐ技術
インタークラウドネットワーク
ネットワーク仮想化(後述)
ネットワークアクセスの
モビリティ(MIP, GSLB)
データ同期、ストレージマイグレーション
アカウント同期、連携
クラウドフェデレーション(ハイブリッドクラウド)の進化
出展:クラウド利用促進機構 講演資料より
28
![Page 30: DevOps時代の システム運用と開発のあり方conf.itsmf-japan.org/conf10/dlpage/expo/1128ex_nex7.pdf · 境の拡張や、セルフサービス方式による柔軟なITインフラの変更、](https://reader030.fdocument.pub/reader030/viewer/2022041211/5dd0c7bfd6be591ccb62a92c/html5/thumbnails/30.jpg)
■ 構成管理マルチクラウド対応、システム構成管理、
アプリケーション構成管理、パッケージ管理、ワークロード定義
■ 運用管理システムプロビジョニング、リソースモニタリング & アラート
外部監視サービス連携、オートススケーリング、定期・指定ジョブ実行
データバックアップ、ワークロード管理
■ セキュリティデータガバナンス、データ暗号化、データの統合管理
■ その他テンプレートライブラリ/マーケット、PaaS連携
スケーラブルデータベース
クラウドフェデレーションの機能例
29
![Page 31: DevOps時代の システム運用と開発のあり方conf.itsmf-japan.org/conf10/dlpage/expo/1128ex_nex7.pdf · 境の拡張や、セルフサービス方式による柔軟なITインフラの変更、](https://reader030.fdocument.pub/reader030/viewer/2022041211/5dd0c7bfd6be591ccb62a92c/html5/thumbnails/31.jpg)
クラウドを活用したDevOps
30
![Page 32: DevOps時代の システム運用と開発のあり方conf.itsmf-japan.org/conf10/dlpage/expo/1128ex_nex7.pdf · 境の拡張や、セルフサービス方式による柔軟なITインフラの変更、](https://reader030.fdocument.pub/reader030/viewer/2022041211/5dd0c7bfd6be591ccb62a92c/html5/thumbnails/32.jpg)
DevOpsの考慮点
企画(人・組織・文化)
・業務プロセス改善、標準化・コストベネフィット分析
・ガバナンス、リデザイン・コラボレーソン型組織
インフラ/サービス
・変化適応型のアーキテクチャ移行・リソース管理・最適化
・クラウド活用、仮想化基盤推進・運用最適化・自動化
・サービス/資産のライフサイクル管理
ユーザ目線のサービス開発・運用ビジネスへの貢献
アークテクチャーの再構築にもなう開発運用プロセスの再構築
31
開発・テスト
・アジャイル開発の適応・テストプロセスの標準化、再利用
・ALMの最適化・テスト環境の改善、自動化
![Page 33: DevOps時代の システム運用と開発のあり方conf.itsmf-japan.org/conf10/dlpage/expo/1128ex_nex7.pdf · 境の拡張や、セルフサービス方式による柔軟なITインフラの変更、](https://reader030.fdocument.pub/reader030/viewer/2022041211/5dd0c7bfd6be591ccb62a92c/html5/thumbnails/33.jpg)
テスト環境の改善例(スマホ実機にリモート接続)
Android対応機種が多いため、実機によるテスト検証が困難
The
Inte
rnet
The
Inte
rnet
USB Connection Applications
testingApplications
testing
Web sitestesting
Wi-Fior
3G/4G
データセンター内の端末はwifi、もしくは3G/4G経由でインターネットに接続
データセンター
データセンターにあるスマートフォンやタブレット実機にリモートで接続を行い、アプリケーションやサイトの検証が簡単に実現できるソリューション型ソフトウェア※200種類以上のスマートフォンやタブレットに対応 (2013/10現在)
インターネットを経由して画面やイベント処理を転送開発者
Remote TestKit の例
32
![Page 34: DevOps時代の システム運用と開発のあり方conf.itsmf-japan.org/conf10/dlpage/expo/1128ex_nex7.pdf · 境の拡張や、セルフサービス方式による柔軟なITインフラの変更、](https://reader030.fdocument.pub/reader030/viewer/2022041211/5dd0c7bfd6be591ccb62a92c/html5/thumbnails/34.jpg)
コラボレーション型の開発・運用の仕組みづくり
受託開発企業 発注側クライアント企業
Webディレクター/UIデザイナー
エンジニア(全般)
発注担当者
インフラエンジニア
モバイルアプリバックエンドシステム
(APIアクセス)
アプリ開発を依頼
UIイメージをドキュメントで共有
作業分担の在り方が課題
バックエンドシステムとの連携が必要になる・・・
納品物
クライアント企業内の連携も課題
コラボレーション型開発・運用へのニーズ
アプリの受託開発企業がアプリ開発・保守に集中し、発注元企業とアジャイル型のコラボレーション開発体制を構築し、バックエンドシステムの構築・運用を共同で行う環境整備
33
![Page 35: DevOps時代の システム運用と開発のあり方conf.itsmf-japan.org/conf10/dlpage/expo/1128ex_nex7.pdf · 境の拡張や、セルフサービス方式による柔軟なITインフラの変更、](https://reader030.fdocument.pub/reader030/viewer/2022041211/5dd0c7bfd6be591ccb62a92c/html5/thumbnails/35.jpg)
アプリ開発/アプリの運用・保守受託開発企業は、アプリのテスト工程をクリヤーすることによって、アプリの運用・保守を継続的なビジネスに。これらをクラウドを活用することで、開発、テスト、本番環境へのサイクルを構築する
ローカル開発環境
(受託開発企業)
クラウド環境(PaaSなど)
クライアント企業
モバイルアプリ開発
バックエンドシステムの開発
ステージング環境でのテス
ト
本番環境への移行
モバイルアプリ保守/メンテ
開発委託
サーバサイド開発への着手(PaaS契
約等)
リリースモバイルアプリ保守/メンテ
ローカルでのテスト
モバイルアプリ納品
サーバやAPIのチューニング
34
![Page 36: DevOps時代の システム運用と開発のあり方conf.itsmf-japan.org/conf10/dlpage/expo/1128ex_nex7.pdf · 境の拡張や、セルフサービス方式による柔軟なITインフラの変更、](https://reader030.fdocument.pub/reader030/viewer/2022041211/5dd0c7bfd6be591ccb62a92c/html5/thumbnails/36.jpg)
クラウドによる開発/テスト/本番環境から運用保守まで
システム開発からステージング環境、本番環境まで利用できるクラウド利用。API連携やオプションサービスによるシームレスな連携も
バックエンドシステムの開発
ステージング環境でのテスト
本番環境への移行
サーバやAPIのチューニング/
保守運用
クラウド(PaaS)
クラウド(IaaS等)
•サーバサイドプログラムの開発環境
•研究・検証用のラボ環境
•安価もしくは無償プラン
•ワンソースをテスト環境と本番環境で簡単に切り分けられる環境変数とデプロイ方法
•Basic認証
•本番環境でも使える条件整備(バッチ処理機能拡充、SSL対応、セキュリティ監査・認定、生ログ管理等)
•セットアップイメージの共有
•バージョン管理•サポート
•クラウドベースIDE
•ソースコードのリポジトリ
•本番環境として選択可能なIaaSやDB/ストレージ、CDNなどのラインナップを利用可能に
•API管理ツールやユーザ認証システムなど
35
![Page 37: DevOps時代の システム運用と開発のあり方conf.itsmf-japan.org/conf10/dlpage/expo/1128ex_nex7.pdf · 境の拡張や、セルフサービス方式による柔軟なITインフラの変更、](https://reader030.fdocument.pub/reader030/viewer/2022041211/5dd0c7bfd6be591ccb62a92c/html5/thumbnails/37.jpg)
【事例】クラウドを活用したアジャイル開発運用
ソニックガーデン(TISのスピンオフ企業)は定額制で利用できるアジャイル型システム開発・運用サービスを2011年10月から開始。ステージング環境にHeroku、本番環境にAWSを利用し、定型的なプロジェクト推進体制を構築
プログラマ(ソニックガーデン)
プロダクトオーナー(クライアント企業担当者)
エンドユーザ(クライアント企業)
①ユーザストーリー(機能要件)を登録
②見積り&進捗変更
③普段の対話
④ソース共有
⑤週1の会議(イテレーション)
⑥継続デプロイ(ステージング環境)
⑦いつでも確認
⑧リリース(本番環境)
⑨サービス利用
出典: Social Change! 高速で無駄のないソフトウェア開発を実現するための7つのポイント 2012年3月9日などから作成
36
![Page 38: DevOps時代の システム運用と開発のあり方conf.itsmf-japan.org/conf10/dlpage/expo/1128ex_nex7.pdf · 境の拡張や、セルフサービス方式による柔軟なITインフラの変更、](https://reader030.fdocument.pub/reader030/viewer/2022041211/5dd0c7bfd6be591ccb62a92c/html5/thumbnails/38.jpg)
Chefをベースしたマルチクラウドサービスを採用し、運用を考慮した設計と適切なツールの利用による運用コストの低減。構築作業の逐次自動化。ナレッジとして管理することで開発運用のリードタイムを斬新的に改善
【事例】自動化ツール+クラウドによるコスト削減、構築自動化
(課題)システム規模の巨大化と多様性による運用コストの肥大化構築作業工数がボトルネックとなり、稼働までのリードタイムが短縮できない
出典:エクシード社 ニュースリリース 2013.9.25http://www.xseed.co.jp/news/docs/20130925press.pdf
37
![Page 39: DevOps時代の システム運用と開発のあり方conf.itsmf-japan.org/conf10/dlpage/expo/1128ex_nex7.pdf · 境の拡張や、セルフサービス方式による柔軟なITインフラの変更、](https://reader030.fdocument.pub/reader030/viewer/2022041211/5dd0c7bfd6be591ccb62a92c/html5/thumbnails/39.jpg)
写真のスマホ共有アプリを提供する「Instagram」はオープンソースを採用してクラウドの運用自動化を実現
出典:CBA セミナー資料 2012.8
・Ubuntu Linux 11.04 on Amazon EC2・3台のNginxをAmazon Elastic Load Balancerでロードバランス・PythonのDjangoをAmazon High-CPU Extra-Largeインスタンスで稼働、25台以上・WSGI(Web Server Gateway Interface)サーバとしてGunicornを利用・データのほとんどはPostgreSQL・12台のQuadruple Extra-Large memoryインスタンスでクラスタを構成・別のアベイラビリティゾーンでレプリケーション・メインフィードにはRedis。Quadruple Extra-Large Memoryインスタンスで稼働・100台以上のインスタンスの監視にMunin・サービスのモニタリングにPingdom・インシデントと通知にPagerDuty
iPhoneまたはAndroid端末で写真を撮影し、共有するスマートフォンアプリ創業時2人と1台のサーバでサービスを始め2年もたたずに3000万以上のユーザーを獲得
【事例】オープンソース+クラウドを活用した開発運用
38
![Page 40: DevOps時代の システム運用と開発のあり方conf.itsmf-japan.org/conf10/dlpage/expo/1128ex_nex7.pdf · 境の拡張や、セルフサービス方式による柔軟なITインフラの変更、](https://reader030.fdocument.pub/reader030/viewer/2022041211/5dd0c7bfd6be591ccb62a92c/html5/thumbnails/40.jpg)
2011年6月 グローバルクラウド共通基盤タスクフォース 本務者1名
2011年8月 クラウドサービス部発足
2011年12月 クラウドサービストライアル提供開始
2012年3月 米国でクラウドサービス「Bizホスティング Cloudn」提供開始
2012年6月 日本でクラウドサービス「Bizホスティング Cloudn」提供開始
2012年8月 Cloudn Object Storage の提供開始
2012年12月 Cloudn PaaS提供開始
2013年3月 東日本リージョン、データベース、LBA、DNS、Provisoning等のサービスメニューの大幅拡充
2013年8月 日経コンピュータ 第18回 顧客満足度調査」で「パブリッククラウドサービス部門」第1位
【事例】クラウドサービスの企画・開発・構築・運用
※短期間でグローバルでクラウドサービスの企画・開発・構築・運用体制を構築
39
![Page 41: DevOps時代の システム運用と開発のあり方conf.itsmf-japan.org/conf10/dlpage/expo/1128ex_nex7.pdf · 境の拡張や、セルフサービス方式による柔軟なITインフラの変更、](https://reader030.fdocument.pub/reader030/viewer/2022041211/5dd0c7bfd6be591ccb62a92c/html5/thumbnails/41.jpg)
今後のDevOpsの展望
40
グローバル化への対応
・世界で共通化するサービスを増やし、各国の法規制/習慣などの事情を踏まえてサービス内容をカスタマイズする
例:NTT Com の Enterprise Cloud は10カ国12拠点のデータセンタークラウドサービスを提供し、標準サービスとローカルオプションサービスを提供
BYODへの対応(企業内利用の場合)
・セキュリティ対策や構成管理、モバイルデバイスマネジメントツールの導入等
※BYOD:Bring your own device
出展:ITサービスマネジメント (翔泳社)から改変して作成
![Page 42: DevOps時代の システム運用と開発のあり方conf.itsmf-japan.org/conf10/dlpage/expo/1128ex_nex7.pdf · 境の拡張や、セルフサービス方式による柔軟なITインフラの変更、](https://reader030.fdocument.pub/reader030/viewer/2022041211/5dd0c7bfd6be591ccb62a92c/html5/thumbnails/42.jpg)
まとめ
41
アジャイル開発×クラウド×運用自動化ツール
クラウドを活用したコラボレーション型の開発・運用
グローバル化やBYODへの対応も
![Page 43: DevOps時代の システム運用と開発のあり方conf.itsmf-japan.org/conf10/dlpage/expo/1128ex_nex7.pdf · 境の拡張や、セルフサービス方式による柔軟なITインフラの変更、](https://reader030.fdocument.pub/reader030/viewer/2022041211/5dd0c7bfd6be591ccb62a92c/html5/thumbnails/43.jpg)
42
ご清聴ありがとうございました
ツイッターアカウント@masayukihayashi