Java Cloud Serviceを使い倒せ! Developer Cloud Serviceによる継続的デリバリ

Similar documents
JavaもJava Scriptも! コンテナ型アプリケーション開発PaaS登場

開発者向けクラウドサービスを活用したリッチな Web/ モバイル アプリケーションの構築手法 杉達也 Fusion Middleware 事業統括本部担当ディレクター [2013 年 4 月 9 日 ] [ 東京 ]

Oracle Web CacheによるOracle WebCenter Spacesパフォーマンスの向上

目次 はじめに... 2 無料トライアルのサインアップ方法... 3 トライアル環境へのアクセス 参考情報

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

Oracle CloudDays 2015 ダウンロード資料

Oracle Documents Cloud Service 企業利用に最も安全・安心なクラウドファイル同期・共有サービス

How to Use the PowerPoint Template

Oracle Database 12c

Make the Future Java FY13 PPT Template

Oracle DatabaseとIPv6 Statement of Direction

Oracle Database 12c Release 1 ( ) CoreTech Seminar

Oracle Solaris 仮想環境とプロビジョン環境の構築

OpenRulesモジュール

MySQL研修コース & 資格のご案内

PowerPoint Presentation

OpenRulesモジュール

Oracle DatabaseとIPv6 Statement of Direction

Oracle SOA Suite 11gコンポジットに対するSOASchedulerの構成

クラウド内の Java - 動画スクリプト 皆さん こんにちは Steve Perry です 私たちが作成した人事アプリケーションを覚えていますか? 今回は そのアプリケーションをクラウド内で実行しましょう コードは GitHub の

Oracle SQL Developer Data Modeler

Slide 1

スピーカースライド作成前の確認シート例

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

Title Slide with Picture

Title Slide with Picture

Oracle Business Rules

CA Federation ご紹介資料

SCTM12.0_Product Release Notice_V1

以下の事項は 弊社の一般的な製品の方向性に関する概要を説明するものです また 情報提供を唯一の目的とするものであり いかなる契約にも組み込むことはできません 以下の事項は マテリアルやコード 機能を提供することをコミットメント ( 確約 ) するものではないため 購買決定を行う際の判断材料になさらな

Oracle Reports、Crystal、ActuateからOracle Business Intelligence Publisherへの変換

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

1. アンケート集計サンプルについて ここでは Windows Azure と SQL Azure を使ってアンケートを実施し アンケート結果を Excel で集計するサンプルについて説明します アンケートは Windows Azure で運用し アンケート結果は SQL Azure に格納されます

プレポスト【問題】

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

Title Slide with Picture

PassSureExam Best Exam Questions & Valid Exam Torrent & Pass for Sure

新しい 自律型データ ウェアハウス

intra-mart Accel Platform

Oracle Enterprise Manager System Monitoring Plug-inインストレーション・ガイドfor Microsoft SQL Server, リリース4( )およびリリース3( )

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

移行支援資料 ~J2EE機能からの移行ポイント~

Oracle Enterprise Manager Cloud Control:インストール

— intra-mart Accel Platform セットアップガイド (WebSphere編)   第7版  

Oracle Enterprise Managerシステム監視プラグイン・インストレーション・ガイドfor Juniper Networks NetScreen Firewall, 10gリリース2(10.2)

移行支援資料 ~J2EE機能から Java EE 5機能への移行ポイント~

Cuoreテンプレート

Webhard_Users manual

Oracle CloudDays 2015 ダウンロード資料

リバースプロキシー(冗長構成)構築手順

Oracle Warehouse Builder: 製品ロードマップ

Microsoft Word - バーチャルクラス(Blackboard)ログイン方法ガイド.docx

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

Password Manager Pro スタートアップガイド

2015 年 4 月 6 日 Biz ホスティング Enterprise Cloud における Oracle Database Enterprise Edition RAC の提供開始について ~Oracle Database Enterprise Edition RAC をクラウド基盤で利用可能と

利用者

PSQL v12 新機能のご紹介 ~ 認証要件変更に伴う運用の見直し ~ 株式会社エージーテック 2015 年 1 月 13 日

Dräger CSE Connect ???_ja

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

BIP Smart FAQ

報道関係者各位 プレスリリース 2019 年 01 月 15 日 株式会社ネオジャパン グループウェア desknet's NEO バージョン 5.2 を 1 月 15 日に提供開始 ~ 業務アプリ作成ツール AppSuite との連携を強化 他にも AppSuite 連携 API 公開など多数の機

Oracle Universal Content Management ドキュメント管理 クイック・スタート・チュ-トリアル

Red Hat Enterprise Linux 6 Portable SUSE Linux Enterprise Server 9 Portable SUSE Linux Enterprise Server 10 Portable SUSE Linux Enterprise Server 11 P

データ送信手順 2

IBM 次世代クラウド・プラットフォーム コードネーム “BlueMix”ご紹介

TestDesign for Web

Sharing the Development Database

HeartCoreインストールマニュアル

MadCap Flare ライセンス認証 MadCap 製品のライセンス認証 Flare インストール前のご注意 インストールする前に是非お読みください [ Flare 2018 の推奨システム要件 ] 推奨メモリサイズ 4096 MB 1.4 GB の空きディスク容量 Intel Pentium

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

セットアップカード

リバースプロキシー (シングル構成) 構築手順

Oracle BI Publisherの概要

Slide 1

Oracle Policy Automation 10.0システム要件

アーカイブ機能インストールマニュアル

1

Oracle SQL Developerの移行機能

クラウド時代のインフラ構成/変更管理とコンプライアンス管理

rcp-add-01:アーキテクチャ設計書

<Insert Picture Here> 30 分で理解する ORACLE MASTER 日本オラクル株式会社 Oracle University

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

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

マイクロソフト IT アカデミー E ラーニングセントラル簡単マニュアル ( 管理者用 ) 2014 年 11 月

VPN 接続の設定

提案書

AWS Deck Template

(Microsoft Word - Compiere3.0Windows\203C\203\223\203X\203g\201[\203\213\203K\203C\203h.doc)

0312_3_1_Licence-guide.indd

1.SqlCtl クラスリファレンス SqlCtl クラスのリファレンスを以下に示します メソッドの実行中にエラーが発生した場合は標準エラー出力にメッセージを出力します (1)Connect() メソッド データベースへ connect 要求を行います boolean Connect(String

富士通Interstage Application Server V10でのOracle Business Intelligence の動作検証

PowerPoint Presentation

Oracle トレーニング オンデマンド Oracle ラーニング サブスクリプション演習環境接続ガイド (OUVPN と NoMachine / NX Client 3.5) 2017 年 9 月版 日本オラクル株式会社オラクルユニバーシティ 目次 1. 演習環境の予約 2.NoMachine の

Oracle パブリック・クラウド・サービス無料トライアル 申込手順書

PowerPoint Presentation

スライド 1

intra-mart Accel Platform — OData for SAP HANA セットアップガイド   初版  

Oracle Forms 12c

Oracle SALTを使用してTuxedoサービスをSOAP Webサービスとして公開する方法

VB実用Ⅲ⑩ フリーデータベースⅡ

Transcription:

Java Cloud Service を使い倒せ! Developer Cloud Service による継続的デリバリ 日本オラクル株式会社 クラウド テクノロジー事業統括 Fusion Middleware 事業統括本部 関屋信彦

以下の事項は 弊社の 一般的な製品の 方向性に関する概要を説明するものです また 情報提供を唯 一の 目的とするものであり いかなる契約にも組み込むことはできません 以下の事項は マテリアルやコード 機能を提供することをコミットメント ( 確約 ) するものではないため 購買決定を 行行う際の判断材料料になさらないで下さい オラクル製品に関して記載されている機能の開発 リリースおよび時期については 弊社の裁量量により決定されます Oracle と Java は Oracle CorporaFon 及びその 子会社 関連会社の 米国及びその他の国における登録商標です 文中の社名 商品名等は各社の商標または登録商標である場合があります 2

Oracle Developer Cloud Service キーワード 一覧 コード開発 ビルド (Hudson) 実行環境連携 便利機能 プロジェクトツール (private の ) Git リポジトリ マージ リクエスト IDE から簡単接続 GitHub 連携 Oracle OTN Maven リポジトリ シェル Maven Ant Gradle Selenium (private の ) Maven リポジトリ Java Cloud Service へデプロイ ApplicaAon Container Cloud へデプロイ ( 予定 ) Webhooks メール通知 デフォルト コード レビューア プロジェクト & メンバー登録 Wiki Issues 3

Developer Cloud の Hudson ビルドのアーキテクチャー Developer Cloud Service Web コンソール (Hudson マスター ) デプロイ ビルドスレッドのプール (Hudson スレーブ ) 3 同時スレッドまで HTTP(S) Java Cloud Service VM VM VM Git Maven VM VM VM HTTP(S) インターネット インターネットアクセス可能 アイディア次第で色々なことが可能 Java Cloud へは専用のデプロイ機能あり Java Cloud へは HTTP(S) が通るので Java Cloud 上のアプリケーションのテストが可能 Maven リポジトリ 4

Developer Cloud を活 用した Java Cloud Service の使い倒しテクニック 1. 継続的デリバリーとテスト 自動化で環境をフル稼働 2. マルチテナントでクラウド実 行行環境をシェアして使う 3. 開発で Java Flight Recorder をフル活 用する 方法 5

1. 継続的デリバリーとテスト 自動化で環境をフル稼働 6

Developer Cloud Serviceで 行行う継続的デリバリー コミットした後は 自動的にデプロイされた環境での 自動テストまで実 行行 ポイント コミット後は Java Cloud へのデプロイとテストまで 自動化可能 Git リポジトリ数に制限がないので アプリケーションのラインは細かく分けられる Web 上のコードレビューとマージ機能でブランチ開発を促進 Developer Cloud Service コミット1 コミット2 ブランチ 1 自動トリガー 自動トリガー ジョブ1 1. パッケージ作成 (mvn package) デプロイ 2. デプロイ (post build action) 自動トリガー Webテスト ジョブ2 1. Webテスト ブランチ 2 ブランチ 3 Java Cloud Service AP1 AP2 AP3 7

Developer Cloud Service のデプロイ機能 Java Cloud Service にデプロイ デプロイ設定を作成 ( 複数可 ) デプロイ名とアプリケーション名 デプロイ先の Java Cloud Service の管理理サーバーのアドレスとポート タイプ : 自動デプロイもしくは 手動か ジョブ名と 手動デプロイの場合はビルド番号 ジョブで 生成されたアーチファクト デプロイアクションでデプロイ実 行行 デプロイ / 再デプロイ / アンデプロイ アプリケーションのスタート / ストップ ジョブの Post- Build AcFons にデプロイの実 行行を組み 入れ可能 8

マージ リクエストコードレビュー機能 レビュー ブランチに対してのレビュー Developer Cloud Service プロジェクト内のメンバーがレビューアを複数指定 ソースコード上にレビューコメントを挿 入できる レビューの中でコメントを書いて会話をシステム上で展開 マージ Web のボタンからトピックブランチをターゲットブランチにマージ リクエスト一覧 コードレビュー メール通知をサポート リクエストの作成 承認 却下 クローズ キャンセル コメント追加時に通知 コード上にレビューコメントを追加 9

Developer Cloud でもできる 自動テストテクニック 1 Selenium WebDriver を利利 用 Selenium IDE を使って記録した WebDriver テストスクリプト Developer Cloud は Xv[ をサポート GUI なしの Firefox の Selenium WebDriver テストが可能 10

Developer Cloud でもできる 自動テストテクニック 2 jmeter- maven- plugin を利利 用 Apache JMeter を使って Java Cloud Service に簡易易な負荷テストを実 行行 Developer Cloud Service にテストをジョブとして登録し いつでもテストが実施可能に jmeter- maven- plugin (h`ps:// github.com/jmeter- maven- plugin/jmeter- maven- plugin) を利利 用すれば Maven から簡単に JMeter のインストールと実 行行が可能 JMeter の結果ファイルをアーチファクト保存して結果を参照 Developer Cloud Service JMeter ビルド VM ジョブ実行 Java Cloud Service 多重 Webリクエスト download Maven Central Repository WebLogic サーバー 11

Developer Cloud でもできる 自動テストテクニック 3 JMeter + Selenium Selenium テストで多重度度テストをしてみたい場合に利利 用 JMeter の JUnit サンプラーを利利 用 12

2. マルチテナントでクラウド実 行行環境をチーム内でシェア 13

クラウド開発はマルチテナント! コードのリポジトリやブランチが多くなると実 行行環境も増やしたくなる (= テナント化 ) リポジトリ X ブランチ A デプロイ & テスト デプロイ & テスト テナント毎にデータや設定が独 立立できることが理理想 ただ 一般的には管理理が増えて増やすことができない テナント毎にサーバーを 用意すると課 金金コストが 高くつく オラクル製品のマルチテナント機能とオラクルクラウドの拡張性でソリューションを 見見出してみます ブランチ B ブランチ C リポジトリ Y ブランチ デプロイ & テスト デプロイ & テスト デプロイ & テスト デプロイ & テスト 14

アプリケーション層とデータベース層のマルチテナントの実現 方法 Database Cloud は DB12c のマルチテナント機能を利利 用するのがベスト High Peformance 以上のエディションが必要 Database Cloud 付属の Web コンソールで PDB が誰でも簡単に追加 削除 クローン可能 Java Cloud の現状バージョン (WebLogic サーバー 12.1.3) のマルチテナント化の 方法の 一つはコンテキストルートを分ける 方法 ちなみに最新 WebLogic サーバー 12.2.1 ではマルチテナントが機能として登場! AP と PDB の追加 削除に加え マッピング ( 接続設定 ) の管理理をいかに簡単にするかがカギ AP 1-1 ブランチ 1-1 Database Cloud Serivce Oracle Database PDB1 AP 1-2 Java Cloud Service WebLogic サーバー ブランチ 1-2 テナントが増えたら環境を拡張可能 AP 1-3 ブランチ 1-3 PDB2 AP2 ブランチ 2 PDB2 AP3 ブランチ 3 15

マルチテナントのイメージ URL のルートパスでテナントを分ける ブラウザ Web アプリケーションデータベース SQL> show pdbs CON_ID CON_NAME - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 2 PDB$SEED 3 PDB1 4 PDB2 5 PDB3 16

WebLogic サーバーの PDB 接続 方法パターン 1:PDB 毎に JDBC データソースを設定 アプリケーションが増えるにつれ データソースの数も増えて 使 用メモリが増加してしまう データソース内の接続は空いていることが多い それぞれの接続数を個別にチューニングするのは 手間がかかる AP1 AP2 WebLogic サーバー PDB1 PDB2 AP3 PDB3 17

WebLogic サーバーの PDB 接続 方法パターン 2: 単 一のデータソースから複数の PDB にアクセス データソースは 一つで済む 接続数のチューニングも 一か所で済む WebLogic と UCP の機能を利利 用したコネクション ラベリング コールバックを利利 用して実現 AP1 AP2 WebLogic サーバー PDB1 PDB2 AP3 PDB3 18

UCP コネクション ラベリング コールバックの設定 方法 コネクション ラベリング コールバックのクラスの jar ファイルを WebLogic サーバーの $DOMAIN_HOME/lib ディレクトリーに配置 データソースを作成 接続設定のユーザーはCDB 共通ユーザーを指定 CREATE USER c##test_user1 IDENTIFIED BY xxxxxx CONTAINER=ALL; データソースに対してコールバック関数を登録 アプリケーション内のプロパティファイルに使 用したい PDB 名を設定 pdb1.war pdb2.war プロパティファイルプロパティファイル pdbname pdbname =PDB1 =PDB2 import oracle.ucp.jdbc.connecaonlabelingcallback; import oracle.ucp.jdbc.labelableconnecaon; public class PDBSwitchLabelingCallback implements ConnecAonLabelingCallback { public boolean configure(properaes reqlabels, Object conn) { String valstr = (String) reqlabels.get("pdbname"); Statement s = ((ConnecFon) conn).createstatement(); s.executeupdate("alter SESSION SET CONTAINER = " + valstr); LabelableConnecFon lconn = (LabelableConnecFon) conn; lconn.applyconnecfonlabel("pdbname", valstr);.. } public ProperAes getrequestedlabels() { ProperFes labels = new ProperAes(); ProperFes appprop = new ProperAes(); appprop.load(thread.currentthread().getcontextclassloader().getresourceasstream("app.proper<es")); labels.put("pdbname", appprop.get("pdbname")); return labels; } } 紙面の都合でコードは簡略化されています 19

Developer Cloudのビルドでアプリケーションのマルチテナント化を楽にする テナント毎にビルドジョブを作成 設定を共通化しておけばジョブコピーで簡単に増加可能 テナントを分けるための設定箇所 weblogic.xml の context- root 値で URL のルートパスを設定 プロパティファイル内の接続先 PDB 名 デプロイするときのアプリケーション名 ( 名前は分ける必要あり ) Git のコードリポジトリ A をダウンロード pdb1 テナントビルドジョブ パラメータ設定 PDB=pdb1 < シェルステップ > プロパティファイル置換 pdbname=$pdb < シェルステップ > weblogic.xml の置換 <context- root>$pdb コンパイル pdb.war pdb2 テナントビルドジョブ パラメータ設定 PDB=pdb2 < シェルステップ > プロパティファイル置換 pdbname=$pdb < シェルステップ > weblogic.xml の置換 <context- root>$pdb コンパイル pdb.war pdb1 デプロイ設定 pdb2 デプロイ設定 pdb1 Java Cloud Service pdb2 20

3. 開発で Java Flight Recorder(JFR) をフル活 用する 方法 21

開発で役 立立つ Java Flight Recorder Java Flight Recorder で可視化できること ( 例例 ) 個々の Web リクエストの実 行行時間 個々のリクエスト中の SQL 文と実 行行時間 時間のかかった Java メソッド キャプチャされたサーブレットリクエストの統計 Java Flight Recorder の WebLogic Server Plugin (Unsupported) を利利 用した場合 Java Flight Recorder の利利 用には Java Cloud Service のエディションが Enterprise EdiFon 以上である必要があります キャプチャされた SQL 実行の統計 22

リクエストの詳細を把握可能 23

Java Flight Recorder を開発フローの 一部に 入れる際の課題 課題 JFR ダンプファイルをサーバーから取得するには慣れが必要 慣れている場合でも ダンプファイルを取得するのに数分かかる ( 障害解析のときには問題ないが フローの 一部として常時取得するには 手間 ) サーバーが複数ある場合 それぞれから取得が必要な場合もある 自動テストの結果の 一部にダンプファイルを残す 方法がない Java Mission Control SSH Web ブラウザ JMX jcmd WebLogic 管理コンソール診断イメージ出力 1. Webテスト実行 2. JFRダンプファイル出力を実行 3. JFRファイルをダウンロード 4. オフラインで分析 ノード 1 WebLogic サーバ JFR ダンプ scp ダウンロード Java Mission Control を使って分析 Java Flight Recorder のダンプ出力時のアクセス 24

JFR ダンプマネージャー ( 自作実験ツール ) +Oracle Storage Cloud Service 簡単 素早くダンプ実 行行 Web ブラウザや curl などを利利 用 Storage Cloud にファイル保存 ダンプ実 行行時に 自動的に Oracle Storage Cloud にダンプファイルが保存される ダウンロードも簡単 Storage Cloud にあるファイルを JFR ダンプマネージャー経由で Web ダウンロード ダンプリクエストのレスポンスにダウンロードのリンクが含まれ 自動テスト結果にリンクを残せられる Storage Cloudは従量課金で有料です GitHubで公開予定 Developer Cloud ジョブ ダンプ指示 img ブラウザからダウンロード ダンプ指示ダウンロード Java Cloud ノード 1 JFR ダンプマネージャー WebLogic 管理サーバ REST img WebLogic 診断イメージファイル (JFR ダンプを含む ) REST WebLogic サーバ 1 Java Cloud ノード 2 WebLogic サーバ 2 Storage Cloud img img ダンプ ダンプ img img アップロード 25

クラウド テクノロジーを語ろう 第 1 回 Meetup 2016 年年 1 月 29 日 19:00 ~ @ オラクル 青 山センター var community = React.createClass({ init : function(){ return { date : 2016-1- 29, location : OAC, goal : [ Learn, Connect, Have Fun ] }; } }); 参加登録はこちら :http://ora.cl/91t 26

Oracle Cloud ラーニング サブスクリプション Oracle Cloud (PaaS) の導入から運用まで クラウドを活用するために必要なスキルを身につけた "Cloud Ready" なエンジニアを育成するための学習プラットフォーム l Oracle Cloud Service の活用に必要なスキルを学習できるビデオ トレーニング l 製品アップデートに応じて最新のコンテンツに更新 l 1 年間のサブスクリプション形式 Oracle Placorm as a Service ラーニング サブスクリプション DBCS と JCS は 日本語講義 視聴可能 定価 : 116,856 円 ( 税込 ) 50% Off 特別価格 : 58,428 円 ( 税込 ) 1 ユーザー /1 年間利用可能 多彩な Oracle PaaS の活用方法をトータルにカバー すべての Oracle PaaS 技術者にオススメします! 学習内容 : Oracle Cloud Plauorm as a Service の使用方法 Oracle PaaS の多様なサービスを活用する利点 Oracle PaaS の運用管理 Oracle PaaS を使ったアプリケーションの開発とデプロイ 既存のアプリケーションの Oracle PaaS への移行など 対応サービス Database Cloud, Java Cloud, Business Intelligence Cloud, Process Cloud, Mobile Cloud, IntegraFon Cloud, Documents Cloud, Messaging Cloud, Internet Of Things Cloud, SOA Cloud, Database Backup Cloud, Developer Cloud ご注意 Oracle Plauorm as a Service (PaaS) ラーニング サブスクリプションの最小購入ユーザー数は 5 です 本特別価格は 2015 年 12 月 31 日までにご購入される方に対して適用されます また 他の割引契約 またはキャンペーンと併用することはできません ただいま無償体験版公開中! Oracle Cloud インスタンスの作成やクラウド上の Oracle Database, WebLogic Server の起動方法など 技術者が円滑に Oracle Cloud (PaaS) をはじめるためのポイントを学習できる Gevng Started を視聴可能 アクセスはこちらから educafon.oracle.co.jp/cls_paas 27

28