Contenu connexe Similaire à Invitation to development tools オープン系開発ツールへのいざない (20) Plus de Satoru Yoshida (7) Invitation to development tools オープン系開発ツールへのいざない1. Copyright 2019 IGUAZU Corporation
イグアステクニカルセミナー2019 第3回
オープン系開発ツールへのいざない
2019年9月3日
株式会社イグアス
製品&ソリューション事業部
吉田 悟
2. Copyright 2019 IGUAZU Corporation
自己紹介
1
2001~2006年 : 主に基幹システムの Web化 受託開発
2007~2013年 : Web 開発ソフトの販売およびサポート
2016年の年末 : Watson Explorer の動作検証に従事
2017年後半~現在 :
• IBM ソフトウェアのテクニカルセールスに従事。
• 主にクラウド、セキュリティ、データ分析、AIを担当
興味分野 : IoT、自然言語処理
• 好きな API : Watson Language Translator
3. Copyright 2019 IGUAZU Corporation
アジェンダ
オープンソースベースの開発・運用ツール
• 概観と使用例
• ツールチェーンとは
イグアスを通じてご購入いただける製品
• オンプレミス、 クラウドでの使用例
• コンテナとは
• コンテナ対応製品
4. Copyright 2019 IGUAZU Corporation
オープンソースベースの開発・運用ツールの例
下記の名前を耳にする機会が最近多いかもしれません。
Jenkins Puppet Zabbix Gerrit
Maven CheckStyle Nagios Bugzilla
Capistrano FindBugs Munin Redmine
Ansible Selenium Git Kibana
Chef serverspec Subversion
Fluentd
…etc.
5. Copyright 2019 IGUAZU Corporation
オープンソースベースの開発・運用ツールの例
主な5種類に分類してみました
ツールの種類 例 主なメリット
Version 管理 Git, Subversion ソースコードの変更管理を一元化
CI (※) Jenkins
テスト漏れをなくす、問題を早期に
検出、ビルドの属人化を解消
環境構築 Ansible, Chef 手作業をなくす、間違い防止
課題管理 Redmine, Bugzilla
要望・障害の情報・対応状況を
一元管理・共有
障害監視 Zabbix, Nagios 障害対応を迅速化
※ CI = Continuous Integration (継続的インテグレーション)
6. Copyright 2019 IGUAZU Corporation
組み合わせ例
プログラ
ミング
Version 管理
(Git)
ビルド
(Mavenなど)
デプロイ
(Capistrano など)
テスト
(Seleniumなど)
CI
(Jenkins)開発者
課題管理
(Redmine)
7. Copyright 2019 IGUAZU Corporation
最初は Version 管理から
プログラ
ミング
Version
管理
開発者
こんなことありませんか?=>まずはここから改善しましょう
• プログラムを修正するたびにファイル名に変更日付を付け
て保存するルール。
• ルールが守られておらずどれが新しいプログラムかわかり
づらい。
• うっかり古いプログラムをもとに修正して納品してトラブ
ルになった。
Subversion
複数のブランチをわける必要がない、
単一履歴の Version 管理で良い場合
Git
保守・新規開発などの種類ごと、また
は開発者ごと、のように複数のブラン
チをわけたい場合
使い分け
9. Copyright 2019 IGUAZU Corporation
プロジェクトの状態を見える化しましょう
プログラ
ミング
Version 管理
開発者 課題管理
こんなことありませんか?
• 要望や障害の対応状況がメールで飛び交って
いる。
• だれがいつまでに対応するのか、途中の進捗
はどうなのかメンバーに聞いて回らないと回
答できない。
• 優先順位がわかりづらい
=>担当者、優先順位、進捗状況がだれにでもわ
かるようにしましょう
10. Copyright 2019 IGUAZU Corporation
テスト漏れを防止しましょう
プログラ
ミング
開発者
テスト
こんなことありませんか?
• テストするたびに実施項目が違う。
• テスト結果の見落としがある
=>テスト漏れがないように、毎回同一のテスト
項目を実施できるようにしましょう。
Version 管理
課題管理
11. Copyright 2019 IGUAZU Corporation
Version 管理
最後に一連の作業を自動化しましょう
プログラ
ミング
ビルド デプロイテスト
CI
開発者
• プログラムのチェックインをトリガーに
して(少なくともテストまでの)一連の
作業が行われるようにしましょう。
• エラーが発生したらチケットとして自動
的に登録されるようにしましょう。
課題管理
12. Copyright 2019 IGUAZU Corporation
今日のキーワード1つ目:ツールチェーン (Toolchain)
製品(典型的には他のコンピュータ用のプログラム、
またはシステムプログラム)を製作するのに使われる
プログラム(ツール)の集合体である。
一つのツールの出力が他のツールの入力となり、連鎖
的に使われることからツールチェーンと呼ばれる。
上記は Wikipedia より
=>前ページまでは、各機能を持つソフトウェアを自分で組み合わせ
ました。各種機能を統合したソフトウェアを利用することもできます。
13. Copyright 2019 IGUAZU Corporation
イグアスでお取扱いのある製品の例
Atlassian 社のソフトウェアをコーポレート・リセーラーとして
取り扱っています。
IBM 社のソフトウェアおよびハードウェアを Value Added
Distributer (VAD) として取り扱っています。一例として
下記のようなソフトウェアがあります。
• Engineering Workflow Management (旧Rational
Team Concert)、 Rational Test Workbench などの
Rational 製品
• Netcool などのモニタリング用製品
• IBM Cloud 上の Developer Tools
• IBM Cloud Private
• IBM Cloud Pak for Application
15. @2017 IBM Corporation
Rational 製品などを使用した、オンプレミス用ツールチェーンの例
14
トリガー
単体テスト
自動化
ビルド
構成管理(SCM)
テスト環境 ステージング環境 本番環境
CIツール
フィードバック
構成情報
開発運用
チーム
開発運用
チーム
開発運用
チーム
ソース モジュール
継続的インテグレーション
継続的デリバリー
機能テスト 受入テスト
継続的テスト
アジャイル
開発
継続的モニタリング
継続的ユーザーフィードバックと最適化
コミット
コーディング
チケット管理
コラボレーティブ開発
コンテナ
コンテナ
仮想マシン
アプリ
Engineering Workflow
Management
Rational Test
Workbench
Netcool Operational Insight ,
IBM Cloud Application Performance Management ,
Operational Analytics - Predictive Insight
UrbanCode
Deploy
コンテナ
コンテナ
仮想マシン
アプリ
コンテナ
コンテナ
仮想マシン
アプリ
16. @2017 IBM Corporation
IBM Cloud 上の Developer Tools を使用したツールチェーン
15
トリガー
単体テスト
自動化
ビルド
構成管理(SCM)
テスト環境 ステージング環境 本番環境
CIツール
フィードバック
構成情報
開発運用
チーム
開発運用
チーム
開発運用
チーム
ソース モジュール
継続的インテグレーション
継続的デリバリー
機能テスト 受入テスト
継続的テスト
アジャイル
開発
基盤自動デプロイ
Infrastructure as Code
継続的モニタリング
継続的ユーザーフィードバックと最適化
コミット
コーディング
チケット管理
コラボレーティブ開発
Continuous
Delivery
Availability Monitoring ,
IBM Cloud Log Analysis with LogDNA
IBM Cloud
コンテナ
コンテナ
仮想マシン
アプリ
コンテナ
コンテナ
仮想マシン
アプリ
コンテナ
コンテナ
仮想マシン
アプリ
17. @2017 IBM Corporation
IBM Continuous Delivery とは
16
コンセプト検討
開発 テスト デプロイ 運用
IBM Cloud Garage Method
Delivery
Pipeline
Sauce LabsWeb IDE
各ツールはシームレスに接続
DevOps
Insights
IBM Cloud上で様々なツールを組み合わせ、マイクロサービス開発で求められ
るステップ(開発/テスト/デプロイ/運用)をシームレスにカバー
GitHub
18. Copyright 2019 IGUAZU Corporation
IBM Cloud 上の Developer Tools
2ページ前から名前が出てきた Availability Monitoring, Continuous
Delivery および IBM Log Analysis with LogDNA などを青枠で示しています。
19. Copyright 2019 IGUAZU Corporation
IBM Cloud 上の Developer Tools
Toolchain アイコンをクリックすると、Continuous Delivery で使用するツー
ルチェーンをテンプレートから選択できるようになります。
青枠は、最後のデモで触れる「Cloud Foundry アプリの開発及びテスト」とい
うテンプレートです。
27. Copyright 2019 IGUAZU Corporation
IBM Cloud Private
GitHub
kubernetes
Microservice
Builder
コンテナー
アプリケーション
ビルド
パイプライン
elasticsearch logstash kibana
ログ管理・可視化
IBM Cloud Private
26
DevOpsツールチェーンも統合済みで提供されるため、個別の
ツールの導入が不要
29. Copyright 2019 IGUAZU Corporation
さらに IBM Cloud Pak for Application へ
現在徐々に情報が Update されています。今後注力される製
品になるかと思われます。乞うご期待!
Notes de l'éditeur いろいろありすぎて、どのような場合にどれがいいの? 次のページで分類してみます。