PowerPoint プレゼンテーション

Similar documents
Microsoft PowerPoint - T-5_HowToMake_iAP_for_PRINT.pptx

OpenRulesモジュール

OpenRulesモジュール

PHP 開発ツール Zend Studio PHP アフ リケーションサーハ ー Zend Server OSC Tokyo/Spring /02/28 株式会社イグアスソリューション事業部

2. バージョンアップ内容 intra-mart WebPlatform/AppFramework Ver.7.1 および Ver.7.2 に対応いたしました SAP JCo 3.0.x に対応いたしました 3. 製品概要 IM-ERP リアルコネクトは SAP システム内のデータをリアルタイムに取

1. 開発ツールの概要 1.1 OSS の開発ツール本書では OSS( オープンソースソフトウェア ) の開発ツールを使用します 一般に OSS は営利企業ではない特定のグループが開発するソフトウェアで ソースコードが公開されており無償で使用できます OSS は誰でも開発に参加できますが 大規模な

2. 製品概要 IM-ERP リアルコネクトは SAP システム内のデータをリアルタイムに取得 更新するための API SAP リアルタイム連携 API を提供いたします またこれらの API を利用した業務テンプレートが同梱されています 各機能の詳細や設定方法に関しては 各マニュアルまたはセットア

IM-SecureSignOn

— IM-VisualDesigner Migration Tool 2017 Spring リリースノート   初版  

— OpenRulesモジュール 2017 Summer リリースノート   第2版  

JBoss と Arquillian で実現する 究極のテスト環境 レッドハット株式会社 JBoss サービス事業部 コンサルタント 山 田義和

— OpenRulesモジュール 2017 Summer リリースノート   初版  

Oracle SQL Developerの移行機能を使用したOracle Databaseへの移行

Oracle Un お問合せ : Oracle Data Integrator 11g: データ統合設定と管理 期間 ( 標準日数 ):5 コースの概要 Oracle Data Integratorは すべてのデータ統合要件 ( 大量の高パフォーマンス バッチ ローブンの統合プロセスおよ

商用監視ソフトウェアユーザの Zabbix 移行へ朗報 Zabbix Event Viewer のご紹介 【本邦初公開】

CLUSTERPROXSingleServerSafe SingleServerSafe ご紹介 2007 年 10 月

intra-mart FormatCreator Version6.1

検証事例 富士通株式会社

テストの自動化を見極める

— 製品保守ポリシーとアップデート・パッチの考え方    

4. 環境要件 WebWrapper および WebWrapper 管理サーバ <Windows 版 > Windows2000Server ( サービスパック 3 また 4 適用済 ), Windows Server 2003 <Solaris 版 > SPARC CPU を搭載する Sun 製ワ

intra-mart WebPlatform/AppFramework

intra-mart Accel Collaboration — インフォメーション ユーザ操作ガイド   第11版  

intra-mart e Builder for Accel Platform

ジョブ管理ソフトウェア LoadStar Scheduler ご紹介資料 ~ システム運用品質の向上とコスト削減を実現 ~

Azure 活用シナリオ PHP ホームページを移行 1

QNAP TurboNAS Container Station 設定手順書

日本 PostgreSQL ユーザ会第 28 回しくみ + アプリケーション勉強会 Zabbix を使って PostgreSQL を監視してみよう 2014 年 2 月 1 日 TIS 株式会社中西剛紀 (Yoshinori Nakanishi)

はじめの一歩!ソースコード管理に必要なバージョン管理とは

Automation for Everyone <デモ で実感できる、組織全体で活用できるAnsible Tower>

目次 専用アプリケーションをインストールする 1 アカウントを設定する 5 Windows クライアントから利用できる機能の紹介 7 1ファイル フォルダのアップロードとダウンロード 8 2ファイル更新履歴の管理 10 3 操作履歴の確認 12 4アクセスチケットの生成 ( フォルダ / ファイルの

intra-mart Accel Platform — intra-mart Sphinxドキュメント ビルド手順書   第2版  

intra-mart Accel Collaboration — アンケート 管理者操作ガイド   第2版  

tokyo_t3.pdf

クライアント証明書導入マニュアル

ブラウザ Internet Explorer 7 の設定について 第3版

PowerPoint Presentation

intra-mart Accel Collaboration — ファイルライブラリ ユーザ操作ガイド   第5版  

FUJITSU Software Systemwalker Centric Manager Lite Edition V13.5 機能紹介資料

intra-mart Accel Collaboration — ファイルライブラリ ユーザ操作ガイド   第3版  

<4D F736F F F696E74202D F817993FA967B90BB8E8695A897AC817A89DD95A892C790D F6C30362E707074>

AWS Deck Template

DBMSリポジトリへの移行マニュアル

Doxygenを用いた効率的な プログラム仕様書の作成

利用者

intra-mart ワークフローデザイナ

TeX LiveのCIテスティング

NOSiDEパンフレット

intra-mart e Builder for Accel Platform — セットアップガイド   第11版  

intra-mart EX申請システム version.7.2 PDFオプション リリースノート

intra-mart Accel Platform — Slack連携モジュール 利用ガイド   初版  

延命セキュリティ製品 製品名お客様の想定対象 OS McAfee Embedded Control 特定の業務で利用する物理 PC 仮想 PC や Server 2003 Server 2003 ホワイトリスト型 Trend Micro Safe Lock 特定の業務で利用するスタンドアロン PC

OS の bit 数の確認方法 - Windows0 及び Windows8. Windows のコントロールパネルを開きます Windows0 の場合 スタート から Windows システムツール の コントロールパネル をクリックします Windows8. の場合 スタート から PC 設定


FUJITSU Cloud Service for OSS 「コンテナサービス」 ご紹介資料

Notesアプリが iPadで動くDomino Mobile Apps ご紹介

SAMBA Stunnel(Mac) 編 1. インストール 1 セキュア SAMBA の URL にアクセスし ログインを行います xxxxx 部分は会社様によって異なります xxxxx 2 Mac OS 版ダウンロー

開発ツールのコラボレーション機能を検証する

内容環境... 3 対応 OS の変更... 3 関連アプリケーションの追加... 4 機能追加... 5 グラフ機能... 5 稼働率... 8 サービス一括削除 自動復旧エスカレーションコマンド AWS カスタムメトリックス監視 NRPE 任意監視... 11

目次 1. はじめに 本資料の目的 前提条件 Kaspersky Update Utility スタンドアロン端末での定義 DB 更新 定義 DB のダウンロード (Kaspersky Update Ut

PowerPoint プレゼンテーション

Oracle SQL Developer Data Modeler

自宅でJava言語の開発環境を作る方法

— intra-martで運用する場合のセキュリティの考え方    

SystemDirector Developer's Studio(V3.2) 適用ガイド

SCTM12.0_Product Release Notice_V1

SCTM12.0_Product Release Notice_V1

【A-2】.pdf

Mobile Access簡易設定ガイド

OpenAM 9.5 インストールガイド オープンソース ソリューション テクノロジ ( 株 ) 更新日 : 2013 年 7 月 19 日 リビジョン : 1.8

自己紹介 2 上田 和樹 JaSST 北海道実行委員 TEF 道 札幌で活躍するアマチュアミュージシャン兼ソフトウェアエンジニア

WebARENA SuiteX V2 EC-CUBE 2.13 インストールマニュアル ( 標準 MySQL+ 非 SSL ) 作成 :2014 年 2 月 Ver.1.1

Transcription:

AccelPlatform のつくりかた Season2 株式会社 NTT データイントラマート開発本部 2015/10/09 1

はじめに EWS 2015 当日限定 2

2 年前 (EWS 2013) 3

今年は アジャイルのレフトウィング intra-martにおける 開発環境 ~Commit, Build, Test, Deployを 支える技術~ 弊社開発本部における開発の自動化への取り 組みを2年間の変遷と共にご紹介します 4

アジェンダ 1. 概要 2. 開発 開発環境 CI 概要 開発 テスト ビルド リリース 3. 運用 バックアップ / リカバリ 監視 4. 開発手法 5. 今後の取組 分析 チャレンジ 5

概要 期間 2010/09 ~ 2015/10 開発者 チーム モジュール数 モジュール数 ( 全バージョン ) ビルドジョブ 40~80 名程度 ( 現在約 50 名 ) 4~10 チーム ( 現在 7 チーム ) 251 モジュール (2 年前 80 モジュール ) 1794 モジュール 1163 ジョブ (2 年前 420 ジョブ ) 6

自動化前 ( 半自動化時代 ) 1. CVS / Subversion を利用したソースコード管理 2. リモートデスクトップでサーバへログイン 3. ビルド用スクリプト (build.bat) の実行ビルド時間 1 時間 ~ 4. 成果物を元に手動でインストールし確認問題があれば 1 へ戻る 手戻りが発生した場合のコストが非常に高い 7

自動化前 ( 半自動化時代 属人性 ビルドスクリプトが複雑になり職人以外触れない 特定の端末でしかビルドできないスクリプトも存在 ビルド環境へは一部の人のみがアクセス可能 ビルド環境がスケールしない / 直列化されている リリースが重なると待ち時間がとられる リリース作業が複雑 リリース職人以外リリース作業が行えない 8

概要 9

開発サイクル 年 4 回から年 3 回のリリースに変更 3~4 ヶ月単位のリリース 4 月 1 日 Spring 7 月 1 日 Summer X 月 X 日 Autumun 12 月 1 日 Winter リリース テスト 開発 10

開発サイクル内訳 1ヶ月目 計画 設計等 + 実装 タスクの洗い出し プランニングポーカー等 2ヶ月目 実装 翻訳 3ヶ月目 試験 結合試験 総合試験 セキュリティ検証 実際には数シーズンかけて開発を行う機能も存在します 11

開発 12

開発環境 Windows7 Widnows10 Mac OSX Ubuntu Linux Cent OS RedHat Enterprise Linux CentOS RHEL Windows Mac OS X Ubuntu Linux 2 年前と比べて Linux 系 OS が減少 Mac OSX が増加 13

CI 環境 : 概要 14

CI 環境 : クライアント 15

CI 環境 : クライアント 開発環境の構築は 1 クリックで実現完了 内製の環境構築スクリプト 初期導入コスト削減 環境の差異による品質のブレを防止 16

CI 環境 : クライアント e-builder / Eclipse 静的解析プラグイン (Findbugs, Checkstyle) Sphinx( ドキュメント ) 用プラグイン各種 業務スケルトン ツール Apache Maven Apache Ant Sphinx Middleware Java SDK Python 内製ツール / プラグイン等 17

CI 環境 : 開発 18

CI環境: 開発 ソースコードはGit及びSubversionで管理 Subversionのリビジョン番号は 106739 (2015/09/16時点) 1日辺りのコミット数は50回以上 目的 新規開発 機能拡張/改善 改修 ドキュメント テスト 19

CI 環境 : ビルド 20

CI環境: テスト ビルド ソースコードがコミットされる事により Jenkins上でコンパイル テス ト パッケージング等のビルドジョブが動作します ビルドジョブ: 約1200 ビルドサーバ: 3台 テストケース: 6万以上 Jenkins: 9インスタンス 21

CI 環境 : テスト ビルド 1600 ビルドジョブ / 週 93 時間 / 週 ( 稼働率 55.3%) 4DB 環境のテスト (Oracle, PostgreSQL, DB2, SQLServer) Selenium を利用したブラウザテスト Coverity を利用したコード静的解析 不具合密度 0.5 以下 22

CI 環境 : テスト ビルド Selenuim / WebDriver Web アプリケーションのテストを自動化 実際のブラウザを動かしながらテストします Coverity Java 向けの静的コード解析ツール ( 有償 ) 単一のクラス内のコード解析だけではなく クラスを跨った解析を行います 23

CI 環境 : 独自のテスト リンク切れチェック メッセージファイルチェック 翻訳漏れが存在しないこと ( 日英中対応が行われているか?) モジュールを跨ってキーが重複していないこと ドキュメントチェック リンク切れ検出 版 日付が更新されていること スペルチェック (e.g. tenatid -> tenantid) 文言チェックです ます調等の確認 略称の使用の検出 コードチェック Javadoc コメント 不要な printstackstrace 全て内製ツール 24

CI 環境 : デプロイ 25

CI 環境 : デプロイ プログラムの成果物は全て Maven リポジトリへ格納されます 社内検証用 IM-Juggling 用リポジトリが更新されます 成果物を元に Docker イメージを作成し Docker レジストリに登録されます 26

CI 環境 : デプロイ Maven リポジトリ ビルドされた成果物を管理するリポジトリ Sonatype Nexus Apache Archiva IM-Juggling リポジトリ Accel Platform を構成するモジュールファイルを管理するリポジトリ IM-Juggling から参照 27

CI 環境 : デプロイ Docker レジストリ コンテナ型仮想化環境 Docker で利用イメージファイルを管理するためのレジストリ 開発本部では ビルドが成功した後 Docker で利用可能なイメージファイルの作成を行っています 28

CI 環境 : デプロイ デプロイされた成果物は 各開発環境から参照される為 最新の成果物が共有されます Docker イメージが有るため そのまま起動する事が可能です Vagrant Docker へ移行しました docker run t i p 8080:8080 p 5432:5432 p 2222:22 registry.intra.intramart.jp/xxx/iap_latest_standalone_postgres 29

CI 環境 : リリース 30

CI環境: リリース リリース作業の自動化 公開サーバへのアップロード 資材配置等のリリース作業の自動化を 行いました 結果 半日かかっていた作業が1時間へ また 手作業によるミスが無くなりました 31

自動化外のテスト 打鍵試験 脆弱性診断 IBM Security AppScan 負荷試験 Oracle Load Testing Apache JMeter 32

運用 33

運用 : 概要 サーバ数 モジュール数 ビルドジョブ 7 サーバ (2 年前 5 サーバ ) 251 モジュール (2 年前 80 モジュール ) 1163 ジョブ (2 年前 420 ジョブ ) 34

運用 : バックアップ / リカバリ 日時で Amazon S3 にバックアップ ビルドサーバはビルドサーバ間でバックアップを保持 障害発生時に即時復旧出来るように ディスク リソースは常にある程度余裕がある状態を維持 5 年間の運用中障害が発生したのは 2 件 ディスク障害 電源が壊れた 共に短時間で復旧 35

運用 : 監視 内製ツール / 名称 : manabot ビルドジョブ / サーバ死活監視 36

運用: 監視 監視內容はフロア上部に設置されている ディスプレイに常時表示されます ビルドの状況 サーバ死活監視で何か問題 が発生した場合には社内irc, IMBoxに通知 が行われます IM-Noticeによりスマホにpush配信 37

開発手法 38

開発手法 Java7対応 Java8はJavaEE7, JavaEE8対応後検討予定 lombokの導入 @Data, val等を利用しコード量削減を実施 コード解析ツール javadocと相性難あり DDD(Domain-Driven Design) ドメイン駆動設計 ユビキタス言語の使用 モデルへの反映 モデリングが綺麗でわかりやすく 品質の向上 39

開発手法 フロントエンドのビルドシステム WebPackの導入 JavaScriptのモジュール化 ビルド時に結合 (圧縮 最適化) ES6(Babel)は今後検討 SPA (MV*)アプローチ Single Page Application Vue.js + page.js + α カスタマイズしない(と想定される)画面に適用 生産性向上 コード量削減 再利用 (推測3割) 画面描画のパフォーマンス向上 他言語化 認可連携等で一部課題あり 40

今後の取組 41

今後の取組 開発改善に取り組んで5年以上 感覚ベースでの最適化は難しい段階 データ収集と可視化の実施 ELKスタックを利用したデータ分析 (Logstash + ElasticSearch + Kibana) Jenkinsのジョブ結果をElasticSearchへ登録するプ ラグインを作成 https://github.com/junsandesuka/jenkinselasticsearch-plugin.git 様々な傾向が可視化出来た 改善へ 42

今後の取組 : 分析画面 43

今後の取組 : チャレンジ 予防保全的なアプローチへの取り組み / 研究 リリースサイクルを通しての統計データの分析 機械学習を利用した予測 開発に関する様々なデータの収集 社内メンバーが気軽に可視化 分析を行える環境 44

今後の取組 : チャレンジ これまでのノウハウを元にした外部への展開 ミニマムな構成を VM イメージ化し配布等 パートナー様 エンドユーザ様等へ展開サポート 導入支援コンサルティングを行っております お問い合わせ下さい 詳細 実物をご覧になりたい方は弊社まで! 45

ご清聴ありがとうございました 46