SlideShare a Scribd company logo
1 of 86
Cloud Foundry x Wagby
12:00 – 13:00
ROOM 1-4
株式会社ジャスミンソフト
贄 良則
結論
• WagbyでビルドしたWebアプリケーション (war) は
Cloud Foundry で動作する。
• 本格的な運用に際しては、次のサービスを別途、
契約する必要がある。
• データベース
• ログ保管
• バイナリファイル保存
• 全文検索(のインデックス)
• 多くのアプリケーションをスケーラブルに安定運用
させたいという大企業にメリットがある。
2
ジャスミンソフトの紹介
3
今のジャスミンソフト
• 超高速開発ツール「Wagby」の開発に注力する
パッケージベンダー。
• 社員6名、うち開発者は3名。(+ 役員1名)
• 創業から15年が経過。Wagbyの販売から10年目。
• 直販をせず、全国で20社のパートナーと協業体制
を敷く。
4
Wagby の開発者を募集しています!
“日本発の「超高速開発ツール」で、世界で勝負したい...だと...?”
社史
年月 出来事
2001.03 沖縄県の第三セクター方式で運営されていた「株式会社トロピカルテクノ
センター」という研究施設の情報開発部員が独立。社員4名 (+役員1名) 。
2004.10 沖縄振興開発金融公庫からの出資受け入れ。資本金5,000万円。
2006.05 Wagby 発表。東京での営業活動を本格化する。
2011.11 Wagby ユーザ会の設立。
2012.03 日経コンピュータ特集記事「超高速開発が日本を救う」で紹介される。
2012.06 第一回目の Wagby Developer Day を開催。以降、毎年開催。
2013.08 超高速開発コミュニティ設立。発起人として参加。
2016.05 ガートナー社「Cool Vendors in Application Development, 2016」に選出。
2016.11 Wagby Developer Day 2016 開催。コクヨ、Pivotalとの連携を発表。
5
Wagbyの紹介
6
Wagby (ワグビィ) とは
7
視点 説明
概要 Web ベースのエンタープライズアプリケーションをノンプログラミング
で超高速に開発するツールです。設計情報から業務ルール、画面、
データベーススキーマなど、すべてを自動生成します。
メリット 詳細設計から単体テストまでの工数を大幅に削減することに加え、
実際に動作するシステムを使ってレビューすることで、要件の修正も
すぐに反映できるようになります。
実装技術 Java (Spring / Hibernate) + JSP (HTML, JavaScript, CSS)
出荷開始 2006年5月
バージョン 7
導入実績 318社 (2016.11現在)
用途 基幹業務全般。(多くのユーザ/大量データ/トランザクション)
特徴 設計情報からソースコードを自動生成する製品は他にもあるが、生
成コードを自由にカスタマイズできるため柔軟性がある。
開発の流れ
8
設計 自動生成 実行
Webブラウザ上で設計情報を
入力。データ定義、関連、計
算式、入力チェックなど、す
べての要件を備えています。
設計情報DB(リポジトリ)
ビルドによってJavaコードを
完全自動生成。このコードは
カスタマイズが可能なように
デザインされています。
Webベースの本格的な画面と
機能を実現します。ワークフ
ロー、全文検索、地図連携等、
多くのニーズを満たします。
クラウド環境でWagbyを
動作させる方法
9
3つのアプローチ
Linux Shell Script Docker Cloud Foundry
形態 IaaS IaaS PaaS
動作環境 Cent OS 6 Dockerを起動できるOS OSを意識しない
概要 Shell Script を使い、wagbyapp
の転送とTomcatの起動、停止
を行う。
Java,データベースなど必要
なミドルウェアをインストール
する Dockerfile を用意する。
Dockerコマンドで仮想コンテ
ナを実行する。
cfコマンドを使ってwagbyapp
の転送とTomcatの起動、停
止を行う。
メリット WagbyDesignerから操作でき
る。
標準技術である。
デメリット Shell Script の保守性に難があ
る。カスタマイズが難しく、OS
のバージョンに縛られる。
その技術を学ぶ必要がある。
将来 Shell Script 本体をWagby代理
店に移譲済み。運用はWagby
代理店が行っている。
技術資料はWDD2014で公
開済み。協業の話は現在、
なし。
各社と協業して運用体制を
構築できないか、検討中。
10
Cloud Foundryとは
11
Platform as a Service(PaaS)
• ソフトウェアを構築および稼動させるための土台と
なるプラットフォームを、インターネット経由のサー
ビスとして提供する。
• 従来は、サーバを運用する場合、通信回線やサー
バマシンが必要となった。また、サーバマシン内の
OSやデータベース等のソフトウェアも準備する必
要があった。
• これらをインターネット上のサービスとして、ソフト
ウェアを実行する環境を提供する。
12
Cloud Foundryとは
• オープンソースのPlatform as a Service(PaaS)ソフトウェ
ア
• Pivotal、EMC、VMWare、IBM、HP、SAP、NTT、Fujitsu等が参
加するCloud Foundry Foundationにて開発されている。
• ソースコードのライセンスはApache License 2.0
• Wagbyが使用しているJavaだけでなく、Ruby, Node.js,
Scala, Go, Python, PHPといった多くの言語をサポー
トしている。
• MySQLやPostgreSQLといった複数のサービスに対応。
• 特定のベンダにロックインされることなく、使うことがで
きる。
13
IaaS(Infrastructure as a Service)利
用との比較
• IaaSとは、通信回線、マシンをインターネットで提供す
るサービス。
• 提供事業者としては、さくらのVPSやAmazonEC2などが
あげられる。
• IaaS環境にWagbyをインストールする場合
• OSのインストールと設定(ファイアウォールやサービスへの登
録など)
• 各種ミドルウェアのインストールと設定(データベースソフトの
インストールなど)
• Wagbyで生成したウェブアプリケーションを運用マシンに転
送し、実行する。
• PaaSではこれらの設定を自動的もしくは簡単に行える。
14
Wagbyが生成したウェブ
アプリケーションの実行
15
Pivotal Web Services
• 今回はCloud Foundryのサービスを提供しているPivotal Web Servicesのfree
trialを紹介。
• クレジットカードの登録なしで、$87まで無料で試用できる。[2016.11月現在]
• 2GBメモリのアプリを2か月間利用する使用料に相当
16
Pivotal Cloud Foundry
• 提供しているPivotalは2013年にEMC、ヴィエムウェ
ア、GEの出資により設立された会社。
• 商用版のCloud Foundry(以下PCF)を提供している。
• オープンソース版のCloud Foundryと比べると、エ
ンタープライズ向けにサービスやツール、加えてサ
ポートなどが充実している。
• Pivotal Cloud FoundryをPublic Cloudにて提供して
いるサービスがPivotal Web Servicesである。
17
PCF Dev
• PCFを開発用としてローカルマシンでも実行できる。
• 仮想マシンイメージを配布している。
18
Pivotal Web Serviceのアカウント
を作成する
• 作成手順の詳細は下記ページを参照
• https://github.com/Pivotal-Japan/cf-
workshop/blob/master/pivotal-web-services.md
• おおまかな手順:
• 氏名、メールアドレス、パスワードの入力
• アクティベーションメールの確認
• Free Trialの開始、携帯番号を入力し、SMSに送られる
Verification Codeを確認
• Cloud Foundry CLIのインストール
• コマンドラインで操作するツール。このツールを用いて、ウェブアプリ
ケーションのデプロイや起動、停止等を行う。
19
Pivotal Web Serviceのアカウント
を作成する
• https://run.pivotal.io/ にアクセスし、SIGN UP FOR FREEをクリックする。
20
Pivotal Web Serviceのアカウント
を作成する
• Create accountをクリックする。
21
Pivotal Web Serviceのアカウント
を作成する
• First name, Last name(氏名)、Email address、Passwordを入力する。
• Sign Upをクリック
22
Pivotal Web Serviceのアカウント
を作成する
• 確認のためのメールが送られる。
23
Pivotal Web Serviceのアカウント
を作成する
• メールを受信し、Verify your email addressのリンクをク
リックする。
24
Pivotal Web Serviceのアカウント
を作成する
• 「I Have read and agree to
the Terms of Service for
Pivotal Web Services」に
チェックを入れる。
• 「Next: Claim Your Trial」を
クリック
25
Pivotal Web Serviceのアカウント
を作成する
• CountryにJapanを指定
• Mobile Numberに携帯電
話の番号を入力
• Send me my codeをクリッ
ク
• SMSでverification codeが
送付されます。
26
Pivotal Web Serviceのアカウント
を作成する
• SMSでverification codeが送付されます。
27
Pivotal Web Serviceのアカウント
を作成する
• verification codeを入力し
て、Submitボタンを押しま
す。
28
Pivotal Web Serviceのアカウント
を作成する
• Organization名を入力して、
Start Free Trialをクリック
• Organization名はプロジェ
クト名に相当する。
• イニシャルなどを使って、
グローバルで一意な名前
にする。
29
Pivotal Web Serviceのアカウント
を作成する
• コンソール画面が表示さ
れる。
30
Cloud Foundry CLIのインストール
• 左側のToolsリンクをクリッ
ク
31
Cloud Foundry CLIのインストール
• Download and Install
the CLIの株のリストボッ
クスから、使用するOSを
選択し、ダウンロードボ
タンをクリック
• インストーラがダウン
ロードされる。
32
Cloud Foundry CLIのインストール
• インストーラを実行する。Nextをクリック
33
Cloud Foundry CLIのインストール
• インストールフォルダの指定。Nextをクリック
34
Cloud Foundry CLIのインストール
• インストール前の確認。Installをクリック
35
Cloud Foundry CLIのインストール
• インストール完了。Finishをクリック
36
Cloud Foundry CLIのインストール
• cf loginコマンドでログオンする。
37
Pivotal Web Servicesへcfコマンド
でログオン
• インストールしたCloud
Foundry CLIにてログオン
を行う。
• Cloud Foundry の操作は、
cfコマンドを使います。
• 一度ログオンすると、ロ
グオンは開発機のシャッ
トダウンなど行っても、保
持されます。
• アプリケーションのデプ
ロイ(push)以外は管理画
面からできます。
38
$ cf login -a api.run.pivotal.io
API endpoint: api.run.pivotal.io
Email> [メールアドレス]
Password> [パスワード]
Authenticating...
OK
Targeted org [Organization名]
Targeted space development
API endpoint: https://api.run.pivotal.io (API version: 2.63.0)
User: [メールアドレス]
Org: [Organization名]
Space: development
アプリケーションのデプロイ
• 下記の手順で行う。
• manifest.ymlの作成
• アプリケーション本体のWARファイルの作成
• アプリケーションのデプロイ
39
manifest.ymlの作成
• ウェブアプリケーションの実行に関する情報を記述する。
• 今回は下記の内容を指定する。
• env以下は環境変数
• CATALINA_OPTSはウェブアプリケーション起動時のオプション。wagbyappbinsetenv.bat
の記述と同様。
• java.security.auth.login.configのパスは、運用サーバ上の絶対パスを指定している。
• JBP_CONFIG_TOMCATは使用するTomcatのバージョン。WagbyR7.10ではTomcat8を用い
ているので、8.0の最新を使うように指定している。
40
env:
CATALINA_OPTS: -Djava.security.auth.login.config=/home/vcap/app/.java-buildpack/tomcat/webapps/ROOT/W
EB-INF/app_jaas.config -Dorg.apache.jasper.compiler.Parser.STRICT_QUOTE_ESCAPING=false -Dsun.nio.cs.map=x-
windows-iso2022jp/ISO-2022-JP -Duser.timezone=Asia/Tokyo
JBP_CONFIG_TOMCAT: '[tomcat: { version: 8.0.+ }]'
アプリケーションのデプロイ
• WARファイルwagby-demo.warを作成する。[省略]
• cfコマンドを実行する。
• 弊社環境で5分ほどかかった。
41
cf push wagby -p wagby-demo.war -f manifest.yml –b java_buildpack
アプリケーションのデプロイ
42
$ cf push wagby -p wagby-demo.war -f manifest.yml -b java_buildpack
Using manifest file manifest.yml
Creating app wagby in org murajasmine / space development as mura@jasminesoft.co.jp...
OK
Using route wagby.cfapps.io
Binding wagby.cfapps.io to wagby...
OK
Uploading wagby...
Uploading app files from: C:cygwin64tmpunzipped-app159773815
Uploading 16.6M, 13427 files
Done uploading
OK
Starting app wagby in org murajasmine / space development as mura@jasminesoft.co.jp...
Downloading java_buildpack...
Downloaded java_buildpack
Creating container
Successfully created container
Downloading app package...
Downloaded app package (87.2M)
Staging...
-----> Java Buildpack Version: v3.10 (offline) | https://github.com/cloudfoundry/java-
buildpack.git#193d6b7
-----> Downloading Open Jdk JRE 1.8.0_111 from https://java-
buildpack.cloudfoundry.org/openjdk/trusty/x86_64/openjdk-1.8.0_111.tar.gz (found in
cache)
Expanding Open Jdk JRE to .java-buildpack/open_jdk_jre (1.1s)
-----> Downloading Open JDK Like Memory Calculator 2.0.2_RELEASE from https://java-bui
ldpack.cloudfoundry.org/memory-calculator/trusty/x86_64/memory-calculator-2.0.2_REL
EASE.tar.gz (found in cache)
Memory Settings: -Xss349K -Xms681574K -XX:MetaspaceSize=104857K -Xmx681574K -
XX:MaxMetaspaceSize=104857K
-----> Downloading Spring Auto Reconfiguration 1.10.0_RELEASE from https://java-
buildpack.cloudfoundry.org/auto-reconfiguration/auto-reconfiguration-
1.10.0_RELEASE.jar (found in cache)
Modifying /WEB-INF/web.xml for Auto Reconfiguration
-----> Downloading Tomcat Instance 8.0.38 from https://java-
buildpack.cloudfoundry.org/tomcat/tomcat-8.0.38.tar.gz (found in cache)
Expanding Tomcat Instance to .java-buildpack/tomcat (0.1s)
-----> Downloading Tomcat Lifecycle Support 2.5.0_RELEASE from https://java-
buildpack.cloudfoundry.org/tomcat-lifecycle-support/tomcat-lifecycle-support-
2.5.0_RELEASE.jar (found in cache)
-----> Downloading Tomcat Logging Support 2.5.0_RELEASE from https://java-
buildpack.cloudfoundry.org/tomcat-logging-support/tomcat-logging-support-
2.5.0_RELEASE.jar (found in cache)
-----> Downloading Tomcat Access Logging Support 2.5.0_RELEASE from https://java-
buildpack.cloudfoundry.org/tomcat-access-logging-support/tomcat-access-logging-
support-2.5.0_RELEASE.jar (found in cache)
Exit status 0
Staging complete
アプリケーションのデプロイ
43
Uploading droplet, build artifacts cache...
Uploading build artifacts cache...
Uploading droplet...
Uploaded build artifacts cache (108B)
Uploaded droplet (133.5M)
Uploading complete
Destroying container
Successfully destroyed container
0 of 1 instances running, 1 starting
0 of 1 instances running, 1 starting
0 of 1 instances running, 1 starting
0 of 1 instances running, 1 starting
0 of 1 instances running, 1 starting
0 of 1 instances running, 1 starting
0 of 1 instances running, 1 starting
0 of 1 instances running, 1 starting
0 of 1 instances running, 1 starting
1 of 1 instances running
App started
OK
App wagby was started using this command `CALCULATED_MEMORY=$($PWD/.java-build
pack/open_jdk_jre/bin/java-buildpack-memory-calculator-2.0.2_RELEASE -memorySizes=
metaspace:64m..,stack:228k.. -memoryWeights=heap:65,metaspace:10,native:15,stack:10
-memoryInitials=heap:100%,metaspace:100% -stackThreads=300 -totMemory=$MEMORY
_LIMIT) && JAVA_HOME=$PWD/.java-buildpack/open_jdk_jre JAVA_OPTS="-Djava.io.tm
pdir=$TMPDIR -XX:OnOutOfMemoryError=$PWD/.java-buildpack/open_jdk_jre/bin/killjav
a.sh $CALCULATED_MEMORY -Djava.endorsed.dirs=$PWD/.java-buildpack/tomcat/endors
ed -Daccess.logging.enabled=false -Dhttp.port=$PORT" exec $PWD/.java-buildpack/tomca
t/bin/catalina.sh run`
Showing health and status for app wagby in org murajasmine / space development as
mura@jasminesoft.co.jp...
OK
requested state: started
instances: 1/1
usage: 1G x 1 instances
urls: wagby.cfapps.io
last uploaded: Wed Nov 2 10:35:21 UTC 2016
stack: cflinuxfs2
buildpack: java_buildpack
state since cpu memory disk details
#0 running 2016-11-02 07:38:32 PM 150.8% 637M of 1G 307.7M of 1G
Webページにアクセスする
44
cfコマンド
45
cfコマンドの使い方
• 下記ページに使い方の詳細の日本語版が用意されている。
• http://cli.cloudfoundry.org/ja-JP/cf/
• 以下、代表的なコマンドを紹介する。
46
アプリケーションのデプロイ(cf push)
• cf push APP_NAME [-p PATH] [-f MANIFEST_PATH]
• APP_NAME:アプリケーション名、cfコマンドでこの
アプリケーションを指定する際に使われる。また、
ホスト名のデフォルト値となる。
• -p PATH:アプリ・ディレクトリーまたはアプリ・ディレ
クトリーの内容の zip ファイルへのパス。WARファ
イルを指定する。
• -f MANIFEST_PATH:マニフェストファイルへのパス
• マニフェストファイルの詳細は後程説明する。
47
アプリケーションのデプロイ(cf push)
• cf push APP_NAME ... [-b BUILDPACK_NAME]
• -b BUILDPACK_NAME:ビルドパックを指定する。
• WagbyのようなJavaを用いる場合はjava_buildpack
を指定する。この場合デフォルトのバージョンの
java_buildpackを用いる。
• 任意のjava_buildpackを用いる場合、下記のように
指定する。
• https://github.com/cloudfoundry/java-
buildpack.git#v3.1.0
• 指定がない場合はアップロードしたアプリケーショ
ンから自動的に判断されるが、若干時間がかかる。
48
アプリケーションのデプロイ(cf push)
• cf push APP_NAME ... [-t TIMEOUT] [--no-start]
• -t TIMEOUT: CLI がアプリケーションの開始を待つ
最大時間 (秒) 。起動に時間がかかる場合、起動
に失敗してしまう。この場合は数字を増やす。
• --no-start:プッシュ後に自動的にアプリを開始しな
い。
• cf start APP_NAMEで起動できる。
49
アプリケーションのデプロイ(cf push)
• cf push APP_NAME ... [--hostname HOST] [--
random-route]
• --hostname HOST:ホスト名を任意に指定する。
• ホスト名はPivotal Web Services全体で一意になる必要
がある。
• --random-route:ホスト名をランダムに決定する。こ
のオプションを指定することで重複しないホスト名
が割り当てられる。
50
アプリケーションのデプロイ(cf push)
• cf push APP_NAME ... [-i NUM_INSTANCES] [-k DISK] [-m
MEMORY]
• -i NUM_INSTANCES :インスタンスの数
• Wagbyでは、複数インスタンス起動する場合クラスタ設定が必要
• -k DISK:ディスク制限 (例: 256M、1024M、1G)
• -m MEMORY:メモリー制限 (例: 256M、1024M、1G)
• 運用中にメモリ制限を超えると、自動的にアプリケーションを再起
動する。
• -m 2Gを指定したときに、アプリケーションのデプロイ時に下記のよ
うなエラーが発生することがあった。Trialのため?
• Error restarting application: Server error, status code: 500, error code:
10001, message: An unknown error occurred.
• -m 1Gでpushしたのち、cf scaleコマンドで後程増やすとうまくいった。
51
アプリケーションのインスタンス数、ディ
スク制限、メモリ制限の変更(cf scale)
• cf scale APP_NAME [-i NUM_INSTANCES] [-k DISK]
[-m MEMORY]
• -i NUM_INSTANCES :インスタンスの数
• -k DISK:ディスク制限 (例: 256M、1024M、1G)
• -m MEMORY:メモリー制限 (例: 256M、1024M、
1G)
• cf scaleコマンドを実行すると、上記の制限を変更し、
再起動します。
52
マニフェストファイル
• 環境変数やcf pushで指定するオプションなどを記
述できる。
• cf pushのみで実行するとデフォルトのマニフェスト
ファイル(カレントディレクトリのmanifest.yml)を読み
込む
53
マニフェストファイルの例
54
name: wagby
path: wagby-demo.war
buildpack: java_buildpack
memory: 1G
env:
CATALINA_OPTS: -Djava.security.auth.login.config=/home/vcap/app/.java-buildp
ack/tomcat/webapps/ROOT/WEB-INF/app_jaas.config -Dorg.apache.jasper.compil
er.Parser.STRICT_QUOTE_ESCAPING=false -Dsun.nio.cs.map=x-windows-iso2022jp/
ISO-2022-JP -Duser.timezone=Asia/Tokyo
JBP_CONFIG_TOMCAT: '[tomcat: { version: 8.0.+ }]'
JBP_CONFIG_OPEN_JDK_JRE: '{jre: { version: 1.8.0_111 }}'
アプリケーションを確認(cf apps)
55
$ cf apps
Getting apps in org murajasmine / space development as mura@jasminesoft.co.jp...
OK
name requested state instances memory disk urls
wagby started 1/1 1G 1G wagby.cfapps.io
アプリケーションの詳細を確認(cf app APP_NAME)
56
Showing health and status for app wagby in org murajasmine / space development as mura@jasmin
esoft.co.jp...
OK
requested state: started
instances: 1/1
usage: 1G x 1 instances
urls: wagby.cfapps.io
last uploaded: Fri Nov 4 02:48:32 UTC 2016
stack: cflinuxfs2
buildpack: java_buildpack
state since cpu memory disk details
#0 running 2016-11-04 11:51:28 AM 5.9% 702.7M of 1G 307.7M of 1G
アプリケーションの削除、開始、停止、再起動
• cf delete APP_NAME:アプリケーションの削除
• cf start APP_NAME:アプリケーションの開始
• cf stop APP_NAME:アプリケーションの停止
• cf restart APP_NAME:アプリケーションの再起動
57
サーバのログ取得(cf logs APP_NAME)
• cf logsコマンドで、コンソールに出力されるメッセー
ジを確認できます。
58
$ cf logs wagby --recent | head
Connected, dumping recent logs for app wagby in org murajasmine / space development as mura@
jasminesoft.co.jp...
2016-11-02T19:33:29.36+0900 [API/1] OUT Created app with guid xxxxxxxx-xxxx-xxxx-xxxx-xxxxx
xxxxxxx2016-11-02T19:33:33.99+0900 [API/5] OUT Updated app with guid xxxxxxxx-xxxx-xxxx-xx
xx-xxxxxxxxxxxx ({"route"=>"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", :verb=>"add", :relation=>"rout
es", :related_guid=>"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"})
2016-11-02T19:35:57.17+0900 [API/3] OUT Updated app with guid xxxxxxxx-xxxx-xxxx-xxxx-
xxxxxxxxxxxx ({"state"=>"STARTED"})
2016-11-02T19:35:57.56+0900 [STG/0] OUT Downloading java_buildpack...
2016-11-02T19:35:57.63+0900 [STG/0] OUT Downloaded java_buildpack
サーバにssh接続(cf ssh APP_NAME)
• cf sshコマンドで、サーバにsshログオンすることが
できます。
59
C:Usersmura>cf ssh wagby
vcap@77bd9cc9-0ee3-4c58-7ba3-61885172c84a:~$ ls
app logs staging_info.yml tmp
vcap@77bd9cc9-0ee3-4c58-7ba3-61885172c84a:~$ ls -l
total 16
drwxr-xr-x 48 vcap root 4096 Nov 2 10:36 app
drwxr-xr-x 2 vcap vcap 4096 Nov 2 10:36 logs
-rw-r--r-- 1 vcap vcap 680 Nov 2 10:36 staging_info.yml
drwxr-xr-x 2 vcap vcap 4096 Nov 2 10:36 tmp
vcap@77bd9cc9-0ee3-4c58-7ba3-61885172c84a:~$
サーバにscp,sftp接続
• cf ssh-codeコマンドで一時的なsshパスワードを取
得することで、scpやsftpも行うことができる。
• 詳しくは下記URLを参考
• https://docs.cloudfoundry.org/devguide/deploy-
apps/ssh-apps.html
60
サーバ内のフォルダ構成
• /home/vcap/appフォルダ内にデプロイしたウェブアプリケーショ
ンが格納されている。また、実行時に作成されるファイルも出力
される。
• app/WEB-INF/dataフォルダにHSQLDBのデータベースファイルが
ある。
• app/.java-buildpack内にJDKやTomcat等のファイルがある。
• cf push時に自動的に設定されたファイル
• .java-buildpack内にWagby関連のファイルがある。
• exportフォルダ:インポート・エクスポート画面使うエクスポートファイル
• upload_dirフォルダ:ファイル項目にてアップロードしたファイル
• tomcat/logsフォルダ:system.log等のログファイル
61
注意する点
• アプリケーションを停止や再起動すると、ディスク
の内容はすべて消える。
• アプリケーションを起動したときは、最初にpushし
たときの状態となる。よって、停止する前にscpコマ
ンド等でデータベースファイル等をバックアップす
る必要がある。
• 外部データベースを用いることで、アプリケーションを停
止しても情報が保持される。
62
外部データベースを使
用したウェブアプリケー
ション
63
概要
• データベースのサービスを作成する。
• サービスをアプリケーションにbindする。
• アプリケーションのデプロイ(cf push)を行う。
64
サービス
• Cloud Foundryでは、データベースやメッセージ
キューなどをサービスとして提供している。
• サービスの契約によってデータベースが作成され、
すぐに利用できる状態となる。
• アプリケーションのデプロイ時に、データベースの
サーバ名やアカウント、パスワード等の設定が自
動的に反映される。
• サービスはPivotalとは別の会社(サービス提供者)
が提供している。
65
サービス
• Pivotal Web Servicesで提供されているサービスは
下記ページに説明がある。
• https://console.run.pivotal.io/marketplace
66
マーケットプレイス
• cf marketplaceコマンドで作成できるサービスの一覧が表示される。
• cleardbがMySQL、elephantsqlがPostgreSQLを提供しているサービス
• plansはそれぞれデータベースサイズ等の制限。*がついているプランは有料
67
$ cf marketplace
service plans description
...
cleardb spark, boost*, amp*, shock* Highly available MySQL for your
Apps.
...
elephantsql turtle, panda*, hippo*, elephant* PostgreSQL as a Service
...
マーケットプレイス
68
$ cf marketplace -s cleardb
service plan description free or paid
spark Great for getting started and developing your apps free
boost Best for light production or staging your applications paid
amp For apps with moderate data requirements paid
shock Designed for apps where you need real MySQL reliability, power and
throughput paid
サービスの作成(cf create-service )
• cf create-service cleardb spark mysql
• 最初の引数がサービス名(cleardb)
• 次の引数がプラン名(spark)
• 最後の引数が任意のサービス名。
69
サービスの確認(cf services)
• cf servicesコマンドで作成したサービスを確認できる。
70
$ cf services
Getting services in org murajasmine / space development as mura@jasminesoft.co.
jp...
OK
name service plan bound apps last operation
mysql cleardb spark create succeeded
アプリケーションにサービスを割り当て
• cf bind-service APP_NAME SERVICE_NAME
• アプリケーションにサービスを割り当てる。
• manifest.yml内に下記のように指定することで、デプロ
イ時に割り当てることができる。
71
service:
- mysql
アプリケーションのデプロイ(cf push)
• cf push時にデータベースの設定が自動的に反映され
る。但し、データベースの接続設定を下記にて指定し
ていること。
• SpringのCloudConfig
• SpringのCloud Profile
• Springのapplication context内にbeanとして設定
• 詳しくは下記を参照
• https://docs.cloudfoundry.org/buildpacks/java/spring-
service-bindings.html
• Wagbyはデータベースの接続設定は、context.xmlに
書いており、上記方法に合致しないため、このままで
は使えない。
• 今回は動作確認として、手動で設定した。
72
Wagbyアプリケーションでの現状の手順
• データベースのサービスの作成
• サービスをアプリケーションにbindする。
• 仮のアプリケーションをデプロイし、データベース
の接続情報を取得する。
• 取得方法は下記ドキュメントを参考
• https://docs.cloudfoundry.org/devguide/services/migrat
e-db.html
• データベースの接続情報を反映したアプリケーショ
ンをデプロイ
73
データベースのサービスを作成する
• cf create-service cleardb spark mysql
74
仮のアプリケーションをデプロイする
• cf push
• manifest.ymlは下記の通り
75
name: wagby
path: wagby-demo.war
buildpack: java_buildpack
memory: 1G
env:
CATALINA_OPTS: -Djava.security.auth.login.config=/home/vcap/app/.java-buildpack/tomcat/web
apps/ROOT/WEB-INF/app_jaas.config -Dorg.apache.jasper.compiler.Parser.STRICT_QUOTE_ESCAPIN
G=false -Dsun.nio.cs.map=x-windows-iso2022jp/ISO-2022-JP -Duser.timezone=Asia/Tokyo
JBP_CONFIG_TOMCAT: '[tomcat: { version: 8.0.+ }]'
JBP_CONFIG_OPEN_JDK_JRE: '{jre: { version: 1.8.0_111 }}'
service:
- mysql
データベースの接続情報を確認
• cf envコマンドでVCAP_SERVICES環境変数を確認する。
76
$ cf env Wagby
System-Provided:
{
"VCAP_SERVICES": {
"cleardb": [
{
"credentials": {
"hostname": "us-cdbr-iron-east-04.cleardb.net",
"jdbcUrl": "jdbc:mysql://us-cdbr-iron-east-04.cleardb.net/ad_7bd06a4032699f7?user=b67e03b16dd79au0026password=73173b9e",
"name": "ad_7bd06a4032699f7",
"password": “xxxxxxxx",
"port": "3306",
"uri": "mysql://b67e03b16dd79a:73173b9e@us-cdbr-iron-east-04.cleardb.net:3306/ad_7bd06a4032699f7?reconnect=true",
"username": "b67e03b16dd79a"
},
...
データベースの接続情報を確認
• "hostname": "us-cdbr-iron-east-04.cleardb.net“
• ホスト名
• "name": "ad_7bd06a4032699f7“
• データベース名
• "password": " xxxxxxxx “
• パスワード
• "port": "3306“
• ポート番号
• "username": "b67e03b16dd79a“
• ユーザ名
77
データベース情報を設定する
• WagbyDesignerにて、データベース情報を設定し、ビル
ドする。
• 環境 - データベース - メインにて、下記を設定
• データベース:MySQL
• 接続URL:jdbc:mysql://us-cdbr-iron-east-
04.cleardb.net/ad_7bd06a4032699f7?useUnicode=true&char
acterEncoding=utf8&relaxautoCommit=true&zeroDateTimeB
ehavior=convertToNull
• ユーザ名:b67e03b16dd79a
• パスワード:xxxxxxxx
• MySQLのJDBCドライバを配置する。
• ROOTデプロイとする。
• 環境 - プロジェクト情報 - プロジェクト識別子を未指定
78
データベースの初期化
• ビルド後、開発機にてinit_db.batを実行する。
• 開発機からcleardbに直接アクセスし、初期テーブ
ルを作成する。
79
WARファイルの作成
• 同様の手順でwagby-demo.warファイルを作成する。
• 内蔵データベースを使用した場合と、下記が異な
る。
• hsqldb.jarの代わりに、MySQLのJDBCドライバを
WEB-INFlibにコピーする。
• context.xmlに記述する接続情報が、MySQLとなっ
ている。
80
アプリケーションをデプロイする。
• cf push
• マニフェストファイルは「仮のアプリケーションをデ
プロイする」と同様
81
今後の課題
82
WARファイル作成の自動化
• 今回はWARファイルを手動で作成したが、これを
Wagby側で自動的に作成する仕組みを検討したい。
• また、cf push等のコマンド実行をWagbyDesigner上
で行うといったことも検討する。
83
外部データベース設定の自動化
• Wagbyのデータベース設定をSpring Frameworkの
流儀に合う方法(CloudConfig等)に改善する。
• ウェブアプリケーションの起動時に VCAP_SERVICES
環境変数を解析して context.xml に反映するスクリ
プトを作成する方法も考えられる。
• 標準的な方法ではないため、好ましくないか?
84
ローカルファイルの扱い
• export, upload_dir, tomcat/logsといったローカル
ファイルは、アプリケーションを停止すると消えてし
まう。
• これらの扱いを検討中
• ログを扱う専用サービスを利用する。
• ファイルはネットワークストレージサービスにアップロー
ドする。
85
再び、結論
• WagbyでビルドしたWebアプリケーション (war) は
Cloud Foundry で動作する。
• 本格的な運用に際しては、次のサービスを別途、
契約する必要がある。
• データベース
• ログ保管
• バイナリファイル保存
• 全文検索(のインデックス)
• 多くのアプリケーションをスケーラブルに安定運用
させたいという大企業にメリットがある。
86

More Related Content

What's hot

Spring I/O 2016 報告 Test / Cloud / Other Popular Sessions
Spring I/O 2016 報告 Test / Cloud / Other Popular SessionsSpring I/O 2016 報告 Test / Cloud / Other Popular Sessions
Spring I/O 2016 報告 Test / Cloud / Other Popular SessionsTakuya Iwatsuka
 
Spring Framework ふりかえりと4.3新機能
Spring Framework ふりかえりと4.3新機能Spring Framework ふりかえりと4.3新機能
Spring Framework ふりかえりと4.3新機能kimulla
 
AWS Elastic Beanstalk(初心者向け 超速マスター編)JAWSUG大阪
AWS Elastic Beanstalk(初心者向け 超速マスター編)JAWSUG大阪AWS Elastic Beanstalk(初心者向け 超速マスター編)JAWSUG大阪
AWS Elastic Beanstalk(初心者向け 超速マスター編)JAWSUG大阪崇之 清水
 
サーバーレスで ガチ本番運用までやってるお話し
サーバーレスで ガチ本番運用までやってるお話しサーバーレスで ガチ本番運用までやってるお話し
サーバーレスで ガチ本番運用までやってるお話しAkira Nagata
 
サーバーレスの今とこれから
サーバーレスの今とこれからサーバーレスの今とこれから
サーバーレスの今とこれから真吾 吉田
 
Webアプリケーション負荷試験実践入門
Webアプリケーション負荷試験実践入門Webアプリケーション負荷試験実践入門
Webアプリケーション負荷試験実践入門樽八 仲川
 
[JAWS DAYS 2017 ワークショップ] 不安で夜眠れないAWSアカウント管理者に送る処方箋という名のハンズオン
[JAWS DAYS 2017 ワークショップ] 不安で夜眠れないAWSアカウント管理者に送る処方箋という名のハンズオン[JAWS DAYS 2017 ワークショップ] 不安で夜眠れないAWSアカウント管理者に送る処方箋という名のハンズオン
[JAWS DAYS 2017 ワークショップ] 不安で夜眠れないAWSアカウント管理者に送る処方箋という名のハンズオンKeisuke Kadoyama
 
Javaプログラマーももう逃げられない。マイクロサービスとAPIの世界。
Javaプログラマーももう逃げられない。マイクロサービスとAPIの世界。Javaプログラマーももう逃げられない。マイクロサービスとAPIの世界。
Javaプログラマーももう逃げられない。マイクロサービスとAPIの世界。Takakiyo Tanaka
 
[AWSマイスターシリーズ] AWS Elastic Beanstalk -Python編-
[AWSマイスターシリーズ] AWS Elastic Beanstalk -Python編-[AWSマイスターシリーズ] AWS Elastic Beanstalk -Python編-
[AWSマイスターシリーズ] AWS Elastic Beanstalk -Python編-Amazon Web Services Japan
 
AWSで始めるサーバレスな RESTful API システム
AWSで始めるサーバレスな RESTful API システムAWSで始めるサーバレスな RESTful API システム
AWSで始めるサーバレスな RESTful API システムMasayuki Kato
 
ISUCONの勝ち方 YAPC::Asia Tokyo 2015
ISUCONの勝ち方 YAPC::Asia Tokyo 2015ISUCONの勝ち方 YAPC::Asia Tokyo 2015
ISUCONの勝ち方 YAPC::Asia Tokyo 2015Masahiro Nagano
 
AWS Black Belt Techシリーズ AWS Elastic Beanstalk
AWS Black Belt Techシリーズ  AWS  Elastic  BeanstalkAWS Black Belt Techシリーズ  AWS  Elastic  Beanstalk
AWS Black Belt Techシリーズ AWS Elastic BeanstalkAmazon Web Services Japan
 
Application Deployment on AWS
Application Deployment on AWSApplication Deployment on AWS
Application Deployment on AWSEiji Shinohara
 
AWSでアプリ開発するなら 知っておくべこと
AWSでアプリ開発するなら 知っておくべことAWSでアプリ開発するなら 知っておくべこと
AWSでアプリ開発するなら 知っておくべことKeisuke Nishitani
 
Azure Load Testingを試してみた
Azure Load Testingを試してみたAzure Load Testingを試してみた
Azure Load Testingを試してみたHiroyuki Mori
 
AWS Black Belt Tech シリーズ 2015 - AWS OpsWorks
AWS Black Belt Tech シリーズ 2015 - AWS OpsWorksAWS Black Belt Tech シリーズ 2015 - AWS OpsWorks
AWS Black Belt Tech シリーズ 2015 - AWS OpsWorksAmazon Web Services Japan
 
Consumer Driven Contractsで REST API/マイクロサービスをテスト #m3tech
Consumer Driven Contractsで REST API/マイクロサービスをテスト #m3techConsumer Driven Contractsで REST API/マイクロサービスをテスト #m3tech
Consumer Driven Contractsで REST API/マイクロサービスをテスト #m3techToshiaki Maki
 

What's hot (19)

Spring I/O 2016 報告 Test / Cloud / Other Popular Sessions
Spring I/O 2016 報告 Test / Cloud / Other Popular SessionsSpring I/O 2016 報告 Test / Cloud / Other Popular Sessions
Spring I/O 2016 報告 Test / Cloud / Other Popular Sessions
 
Spring Framework ふりかえりと4.3新機能
Spring Framework ふりかえりと4.3新機能Spring Framework ふりかえりと4.3新機能
Spring Framework ふりかえりと4.3新機能
 
AWS Elastic Beanstalk(初心者向け 超速マスター編)JAWSUG大阪
AWS Elastic Beanstalk(初心者向け 超速マスター編)JAWSUG大阪AWS Elastic Beanstalk(初心者向け 超速マスター編)JAWSUG大阪
AWS Elastic Beanstalk(初心者向け 超速マスター編)JAWSUG大阪
 
サーバーレスで ガチ本番運用までやってるお話し
サーバーレスで ガチ本番運用までやってるお話しサーバーレスで ガチ本番運用までやってるお話し
サーバーレスで ガチ本番運用までやってるお話し
 
サーバーレスの今とこれから
サーバーレスの今とこれからサーバーレスの今とこれから
サーバーレスの今とこれから
 
Webアプリケーション負荷試験実践入門
Webアプリケーション負荷試験実践入門Webアプリケーション負荷試験実践入門
Webアプリケーション負荷試験実践入門
 
[JAWS DAYS 2017 ワークショップ] 不安で夜眠れないAWSアカウント管理者に送る処方箋という名のハンズオン
[JAWS DAYS 2017 ワークショップ] 不安で夜眠れないAWSアカウント管理者に送る処方箋という名のハンズオン[JAWS DAYS 2017 ワークショップ] 不安で夜眠れないAWSアカウント管理者に送る処方箋という名のハンズオン
[JAWS DAYS 2017 ワークショップ] 不安で夜眠れないAWSアカウント管理者に送る処方箋という名のハンズオン
 
Javaプログラマーももう逃げられない。マイクロサービスとAPIの世界。
Javaプログラマーももう逃げられない。マイクロサービスとAPIの世界。Javaプログラマーももう逃げられない。マイクロサービスとAPIの世界。
Javaプログラマーももう逃げられない。マイクロサービスとAPIの世界。
 
Java Clientで入門する Apache Kafka #jjug_ccc #ccc_e2
Java Clientで入門する Apache Kafka #jjug_ccc #ccc_e2Java Clientで入門する Apache Kafka #jjug_ccc #ccc_e2
Java Clientで入門する Apache Kafka #jjug_ccc #ccc_e2
 
[AWSマイスターシリーズ] AWS Elastic Beanstalk -Python編-
[AWSマイスターシリーズ] AWS Elastic Beanstalk -Python編-[AWSマイスターシリーズ] AWS Elastic Beanstalk -Python編-
[AWSマイスターシリーズ] AWS Elastic Beanstalk -Python編-
 
クラウド入門(AWS編)
クラウド入門(AWS編)クラウド入門(AWS編)
クラウド入門(AWS編)
 
AWSで始めるサーバレスな RESTful API システム
AWSで始めるサーバレスな RESTful API システムAWSで始めるサーバレスな RESTful API システム
AWSで始めるサーバレスな RESTful API システム
 
ISUCONの勝ち方 YAPC::Asia Tokyo 2015
ISUCONの勝ち方 YAPC::Asia Tokyo 2015ISUCONの勝ち方 YAPC::Asia Tokyo 2015
ISUCONの勝ち方 YAPC::Asia Tokyo 2015
 
AWS Black Belt Techシリーズ AWS Elastic Beanstalk
AWS Black Belt Techシリーズ  AWS  Elastic  BeanstalkAWS Black Belt Techシリーズ  AWS  Elastic  Beanstalk
AWS Black Belt Techシリーズ AWS Elastic Beanstalk
 
Application Deployment on AWS
Application Deployment on AWSApplication Deployment on AWS
Application Deployment on AWS
 
AWSでアプリ開発するなら 知っておくべこと
AWSでアプリ開発するなら 知っておくべことAWSでアプリ開発するなら 知っておくべこと
AWSでアプリ開発するなら 知っておくべこと
 
Azure Load Testingを試してみた
Azure Load Testingを試してみたAzure Load Testingを試してみた
Azure Load Testingを試してみた
 
AWS Black Belt Tech シリーズ 2015 - AWS OpsWorks
AWS Black Belt Tech シリーズ 2015 - AWS OpsWorksAWS Black Belt Tech シリーズ 2015 - AWS OpsWorks
AWS Black Belt Tech シリーズ 2015 - AWS OpsWorks
 
Consumer Driven Contractsで REST API/マイクロサービスをテスト #m3tech
Consumer Driven Contractsで REST API/マイクロサービスをテスト #m3techConsumer Driven Contractsで REST API/マイクロサービスをテスト #m3tech
Consumer Driven Contractsで REST API/マイクロサービスをテスト #m3tech
 

Viewers also liked

Spring bootで学ぶ初めてのwebアプリ開発
Spring bootで学ぶ初めてのwebアプリ開発Spring bootで学ぶ初めてのwebアプリ開発
Spring bootで学ぶ初めてのwebアプリ開発terahide
 
楽天トラベルとSpring(Spring Day 2016)
楽天トラベルとSpring(Spring Day 2016)楽天トラベルとSpring(Spring Day 2016)
楽天トラベルとSpring(Spring Day 2016)Rakuten Group, Inc.
 
Spring Day 2016 - Web API アクセス制御の最適解
Spring Day 2016 - Web API アクセス制御の最適解Spring Day 2016 - Web API アクセス制御の最適解
Spring Day 2016 - Web API アクセス制御の最適解都元ダイスケ Miyamoto
 
Springを使ったwebアプリにリファクタリングしよう
Springを使ったwebアプリにリファクタリングしようSpringを使ったwebアプリにリファクタリングしよう
Springを使ったwebアプリにリファクタリングしよう土岐 孝平
 
Grailsでドメイン駆動設計を実践する時の勘所
Grailsでドメイン駆動設計を実践する時の勘所Grailsでドメイン駆動設計を実践する時の勘所
Grailsでドメイン駆動設計を実践する時の勘所Takuma Watabiki
 
Spring Day 2016 springの現在過去未来
Spring Day 2016 springの現在過去未来Spring Day 2016 springの現在過去未来
Spring Day 2016 springの現在過去未来Yuichi Hasegawa
 
Data Microservices with Spring Cloud Stream, Task, and Data Flow #jsug #spri...
Data Microservices with Spring Cloud Stream, Task,  and Data Flow #jsug #spri...Data Microservices with Spring Cloud Stream, Task,  and Data Flow #jsug #spri...
Data Microservices with Spring Cloud Stream, Task, and Data Flow #jsug #spri...Toshiaki Maki
 
Distributed tracing - get a grasp on your production
Distributed tracing - get a grasp on your productionDistributed tracing - get a grasp on your production
Distributed tracing - get a grasp on your productionnklmish
 
Distributed Tracing Velocity2016
Distributed Tracing Velocity2016Distributed Tracing Velocity2016
Distributed Tracing Velocity2016Reshmi Krishna
 
Spring CloudとZipkinを利用した分散トレーシング
Spring CloudとZipkinを利用した分散トレーシングSpring CloudとZipkinを利用した分散トレーシング
Spring CloudとZipkinを利用した分散トレーシングRakuten Group, Inc.
 
Internetトラフィックエンジニアリングの現実
Internetトラフィックエンジニアリングの現実Internetトラフィックエンジニアリングの現実
Internetトラフィックエンジニアリングの現実J-Stream Inc.
 
Business Process Modeling in Goldman Sachs @ JJUG CCC Fall 2017
Business Process Modeling in Goldman Sachs @ JJUG CCC Fall 2017Business Process Modeling in Goldman Sachs @ JJUG CCC Fall 2017
Business Process Modeling in Goldman Sachs @ JJUG CCC Fall 2017tty fky
 
高速なソートアルゴリズムを書こう!!
高速なソートアルゴリズムを書こう!!高速なソートアルゴリズムを書こう!!
高速なソートアルゴリズムを書こう!!masakazu matsubara
 
Javaアプリケーションの モダナイゼーションアプローチ
Javaアプリケーションの モダナイゼーションアプローチJavaアプリケーションの モダナイゼーションアプローチ
Javaアプリケーションの モダナイゼーションアプローチCData Software Japan
 
Another compilation method in java - AOT (Ahead of Time) compilation
Another compilation method in java - AOT (Ahead of Time) compilationAnother compilation method in java - AOT (Ahead of Time) compilation
Another compilation method in java - AOT (Ahead of Time) compilationLogico
 
データ履歴管理のためのテンポラルデータモデルとReladomoの紹介 #jjug_ccc #ccc_g3
データ履歴管理のためのテンポラルデータモデルとReladomoの紹介 #jjug_ccc #ccc_g3 データ履歴管理のためのテンポラルデータモデルとReladomoの紹介 #jjug_ccc #ccc_g3
データ履歴管理のためのテンポラルデータモデルとReladomoの紹介 #jjug_ccc #ccc_g3 Hiroshi Ito
 
Java SE 9の紹介: モジュール・システムを中心に
Java SE 9の紹介: モジュール・システムを中心にJava SE 9の紹介: モジュール・システムを中心に
Java SE 9の紹介: モジュール・システムを中心にTaku Miyakawa
 
Spring Bootの本当の理解ポイント #jjug
Spring Bootの本当の理解ポイント #jjugSpring Bootの本当の理解ポイント #jjug
Spring Bootの本当の理解ポイント #jjugMasatoshi Tada
 

Viewers also liked (18)

Spring bootで学ぶ初めてのwebアプリ開発
Spring bootで学ぶ初めてのwebアプリ開発Spring bootで学ぶ初めてのwebアプリ開発
Spring bootで学ぶ初めてのwebアプリ開発
 
楽天トラベルとSpring(Spring Day 2016)
楽天トラベルとSpring(Spring Day 2016)楽天トラベルとSpring(Spring Day 2016)
楽天トラベルとSpring(Spring Day 2016)
 
Spring Day 2016 - Web API アクセス制御の最適解
Spring Day 2016 - Web API アクセス制御の最適解Spring Day 2016 - Web API アクセス制御の最適解
Spring Day 2016 - Web API アクセス制御の最適解
 
Springを使ったwebアプリにリファクタリングしよう
Springを使ったwebアプリにリファクタリングしようSpringを使ったwebアプリにリファクタリングしよう
Springを使ったwebアプリにリファクタリングしよう
 
Grailsでドメイン駆動設計を実践する時の勘所
Grailsでドメイン駆動設計を実践する時の勘所Grailsでドメイン駆動設計を実践する時の勘所
Grailsでドメイン駆動設計を実践する時の勘所
 
Spring Day 2016 springの現在過去未来
Spring Day 2016 springの現在過去未来Spring Day 2016 springの現在過去未来
Spring Day 2016 springの現在過去未来
 
Data Microservices with Spring Cloud Stream, Task, and Data Flow #jsug #spri...
Data Microservices with Spring Cloud Stream, Task,  and Data Flow #jsug #spri...Data Microservices with Spring Cloud Stream, Task,  and Data Flow #jsug #spri...
Data Microservices with Spring Cloud Stream, Task, and Data Flow #jsug #spri...
 
Distributed tracing - get a grasp on your production
Distributed tracing - get a grasp on your productionDistributed tracing - get a grasp on your production
Distributed tracing - get a grasp on your production
 
Distributed Tracing Velocity2016
Distributed Tracing Velocity2016Distributed Tracing Velocity2016
Distributed Tracing Velocity2016
 
Spring CloudとZipkinを利用した分散トレーシング
Spring CloudとZipkinを利用した分散トレーシングSpring CloudとZipkinを利用した分散トレーシング
Spring CloudとZipkinを利用した分散トレーシング
 
Internetトラフィックエンジニアリングの現実
Internetトラフィックエンジニアリングの現実Internetトラフィックエンジニアリングの現実
Internetトラフィックエンジニアリングの現実
 
Business Process Modeling in Goldman Sachs @ JJUG CCC Fall 2017
Business Process Modeling in Goldman Sachs @ JJUG CCC Fall 2017Business Process Modeling in Goldman Sachs @ JJUG CCC Fall 2017
Business Process Modeling in Goldman Sachs @ JJUG CCC Fall 2017
 
高速なソートアルゴリズムを書こう!!
高速なソートアルゴリズムを書こう!!高速なソートアルゴリズムを書こう!!
高速なソートアルゴリズムを書こう!!
 
Javaアプリケーションの モダナイゼーションアプローチ
Javaアプリケーションの モダナイゼーションアプローチJavaアプリケーションの モダナイゼーションアプローチ
Javaアプリケーションの モダナイゼーションアプローチ
 
Another compilation method in java - AOT (Ahead of Time) compilation
Another compilation method in java - AOT (Ahead of Time) compilationAnother compilation method in java - AOT (Ahead of Time) compilation
Another compilation method in java - AOT (Ahead of Time) compilation
 
データ履歴管理のためのテンポラルデータモデルとReladomoの紹介 #jjug_ccc #ccc_g3
データ履歴管理のためのテンポラルデータモデルとReladomoの紹介 #jjug_ccc #ccc_g3 データ履歴管理のためのテンポラルデータモデルとReladomoの紹介 #jjug_ccc #ccc_g3
データ履歴管理のためのテンポラルデータモデルとReladomoの紹介 #jjug_ccc #ccc_g3
 
Java SE 9の紹介: モジュール・システムを中心に
Java SE 9の紹介: モジュール・システムを中心にJava SE 9の紹介: モジュール・システムを中心に
Java SE 9の紹介: モジュール・システムを中心に
 
Spring Bootの本当の理解ポイント #jjug
Spring Bootの本当の理解ポイント #jjugSpring Bootの本当の理解ポイント #jjug
Spring Bootの本当の理解ポイント #jjug
 

Similar to Cloud Foundry x Wagby

Microsoft Azure IaaS 体験手順書
Microsoft Azure IaaS 体験手順書Microsoft Azure IaaS 体験手順書
Microsoft Azure IaaS 体験手順書Masaki Takeda
 
OSC Fukuoka SoftLayer
OSC Fukuoka SoftLayer OSC Fukuoka SoftLayer
OSC Fukuoka SoftLayer softlayerjp
 
Tokyo nodefestival workshop_20161112
Tokyo nodefestival workshop_20161112Tokyo nodefestival workshop_20161112
Tokyo nodefestival workshop_20161112Junichi Okamura
 
The Power of Virtual Network: Infrastructure as a Service Cloud Computing - W...
The Power of Virtual Network: Infrastructure as a Service Cloud Computing - W...The Power of Virtual Network: Infrastructure as a Service Cloud Computing - W...
The Power of Virtual Network: Infrastructure as a Service Cloud Computing - W...axsh co., LTD.
 
[TL10] Azure IaaS 構築・運用・管理の専門家が語る DevTest Labs ~高速・費用無駄ナシ・簡単管理を実現する開発・テスト環境の構築~
[TL10] Azure IaaS 構築・運用・管理の専門家が語る DevTest Labs ~高速・費用無駄ナシ・簡単管理を実現する開発・テスト環境の構築~[TL10] Azure IaaS 構築・運用・管理の専門家が語る DevTest Labs ~高速・費用無駄ナシ・簡単管理を実現する開発・テスト環境の構築~
[TL10] Azure IaaS 構築・運用・管理の専門家が語る DevTest Labs ~高速・費用無駄ナシ・簡単管理を実現する開発・テスト環境の構築~de:code 2017
 
Cloud Foundry: Open Platform as a Service
Cloud Foundry: Open Platform as a ServiceCloud Foundry: Open Platform as a Service
Cloud Foundry: Open Platform as a ServiceShunsuke Kurumatani
 
[Java Festa in 札幌 2012] Windows Azure を活用した Windows 8 アプリケーション開発
[Java Festa in 札幌 2012] Windows Azure を活用した Windows 8 アプリケーション開発[Java Festa in 札幌 2012] Windows Azure を活用した Windows 8 アプリケーション開発
[Java Festa in 札幌 2012] Windows Azure を活用した Windows 8 アプリケーション開発Naoki (Neo) SATO
 
Visual Studio と Team Foundation Server / Visual Studio Team Services で実現するビル...
Visual Studio  と Team Foundation Server / Visual Studio Team Services で実現するビル...Visual Studio  と Team Foundation Server / Visual Studio Team Services で実現するビル...
Visual Studio と Team Foundation Server / Visual Studio Team Services で実現するビル...Masaki Takeda
 
AITCシニア技術者勉強会 「今さら聞けないWebサイト開発」 vol2
AITCシニア技術者勉強会 「今さら聞けないWebサイト開発」 vol2AITCシニア技術者勉強会 「今さら聞けないWebサイト開発」 vol2
AITCシニア技術者勉強会 「今さら聞けないWebサイト開発」 vol2近藤 繁延
 
GraalVMのJavaネイティブビルド機能でどの程度起動が速くなるのか?~サーバレス基盤上での評価~ / How fast does GraalVM's...
GraalVMのJavaネイティブビルド機能でどの程度起動が速くなるのか?~サーバレス基盤上での評価~ / How fast does GraalVM's...GraalVMのJavaネイティブビルド機能でどの程度起動が速くなるのか?~サーバレス基盤上での評価~ / How fast does GraalVM's...
GraalVMのJavaネイティブビルド機能でどの程度起動が速くなるのか?~サーバレス基盤上での評価~ / How fast does GraalVM's...Shinji Takao
 
社内認証基盤用のVault Pluginを作るメリット
社内認証基盤用のVault Pluginを作るメリット社内認証基盤用のVault Pluginを作るメリット
社内認証基盤用のVault Pluginを作るメリットKatsuya Yamaguchi
 
Veeam v12新機能セミナー!クラウドへの直接バックアップ、多要素認証など便利機能をまるっと解説
Veeam v12新機能セミナー!クラウドへの直接バックアップ、多要素認証など便利機能をまるっと解説Veeam v12新機能セミナー!クラウドへの直接バックアップ、多要素認証など便利機能をまるっと解説
Veeam v12新機能セミナー!クラウドへの直接バックアップ、多要素認証など便利機能をまるっと解説株式会社クライム
 
A 2-1 gitwebmatrix 2 から使う node.js on windows azure
A 2-1 gitwebmatrix 2 から使う node.js on windows azureA 2-1 gitwebmatrix 2 から使う node.js on windows azure
A 2-1 gitwebmatrix 2 から使う node.js on windows azureGoAzure
 
20140927 azure pack_slideshare
20140927 azure pack_slideshare20140927 azure pack_slideshare
20140927 azure pack_slideshareOsamu Takazoe
 
Windows on aws最新情報
Windows on aws最新情報Windows on aws最新情報
Windows on aws最新情報Genta Watanabe
 
手軽にできる外部公開サーバ観測の効用と活用法 @ Internet Week 2016
手軽にできる外部公開サーバ観測の効用と活用法 @ Internet Week 2016 手軽にできる外部公開サーバ観測の効用と活用法 @ Internet Week 2016
手軽にできる外部公開サーバ観測の効用と活用法 @ Internet Week 2016 Masanori Fujisaki
 
SharePoint Framework Extension 基礎講座
SharePoint Framework Extension 基礎講座SharePoint Framework Extension 基礎講座
SharePoint Framework Extension 基礎講座Hiroaki Oikawa
 

Similar to Cloud Foundry x Wagby (20)

Microsoft Azure IaaS 体験手順書
Microsoft Azure IaaS 体験手順書Microsoft Azure IaaS 体験手順書
Microsoft Azure IaaS 体験手順書
 
OSC Fukuoka SoftLayer
OSC Fukuoka SoftLayer OSC Fukuoka SoftLayer
OSC Fukuoka SoftLayer
 
Tokyo nodefestival workshop_20161112
Tokyo nodefestival workshop_20161112Tokyo nodefestival workshop_20161112
Tokyo nodefestival workshop_20161112
 
The Power of Virtual Network: Infrastructure as a Service Cloud Computing - W...
The Power of Virtual Network: Infrastructure as a Service Cloud Computing - W...The Power of Virtual Network: Infrastructure as a Service Cloud Computing - W...
The Power of Virtual Network: Infrastructure as a Service Cloud Computing - W...
 
[TL10] Azure IaaS 構築・運用・管理の専門家が語る DevTest Labs ~高速・費用無駄ナシ・簡単管理を実現する開発・テスト環境の構築~
[TL10] Azure IaaS 構築・運用・管理の専門家が語る DevTest Labs ~高速・費用無駄ナシ・簡単管理を実現する開発・テスト環境の構築~[TL10] Azure IaaS 構築・運用・管理の専門家が語る DevTest Labs ~高速・費用無駄ナシ・簡単管理を実現する開発・テスト環境の構築~
[TL10] Azure IaaS 構築・運用・管理の専門家が語る DevTest Labs ~高速・費用無駄ナシ・簡単管理を実現する開発・テスト環境の構築~
 
Cloud Foundry: Open Platform as a Service
Cloud Foundry: Open Platform as a ServiceCloud Foundry: Open Platform as a Service
Cloud Foundry: Open Platform as a Service
 
[Java Festa in 札幌 2012] Windows Azure を活用した Windows 8 アプリケーション開発
[Java Festa in 札幌 2012] Windows Azure を活用した Windows 8 アプリケーション開発[Java Festa in 札幌 2012] Windows Azure を活用した Windows 8 アプリケーション開発
[Java Festa in 札幌 2012] Windows Azure を活用した Windows 8 アプリケーション開発
 
Visual Studio と Team Foundation Server / Visual Studio Team Services で実現するビル...
Visual Studio  と Team Foundation Server / Visual Studio Team Services で実現するビル...Visual Studio  と Team Foundation Server / Visual Studio Team Services で実現するビル...
Visual Studio と Team Foundation Server / Visual Studio Team Services で実現するビル...
 
AITCシニア技術者勉強会 「今さら聞けないWebサイト開発」 vol2
AITCシニア技術者勉強会 「今さら聞けないWebサイト開発」 vol2AITCシニア技術者勉強会 「今さら聞けないWebサイト開発」 vol2
AITCシニア技術者勉強会 「今さら聞けないWebサイト開発」 vol2
 
GraalVMのJavaネイティブビルド機能でどの程度起動が速くなるのか?~サーバレス基盤上での評価~ / How fast does GraalVM's...
GraalVMのJavaネイティブビルド機能でどの程度起動が速くなるのか?~サーバレス基盤上での評価~ / How fast does GraalVM's...GraalVMのJavaネイティブビルド機能でどの程度起動が速くなるのか?~サーバレス基盤上での評価~ / How fast does GraalVM's...
GraalVMのJavaネイティブビルド機能でどの程度起動が速くなるのか?~サーバレス基盤上での評価~ / How fast does GraalVM's...
 
社内認証基盤用のVault Pluginを作るメリット
社内認証基盤用のVault Pluginを作るメリット社内認証基盤用のVault Pluginを作るメリット
社内認証基盤用のVault Pluginを作るメリット
 
Veeam v12新機能セミナー!クラウドへの直接バックアップ、多要素認証など便利機能をまるっと解説
Veeam v12新機能セミナー!クラウドへの直接バックアップ、多要素認証など便利機能をまるっと解説Veeam v12新機能セミナー!クラウドへの直接バックアップ、多要素認証など便利機能をまるっと解説
Veeam v12新機能セミナー!クラウドへの直接バックアップ、多要素認証など便利機能をまるっと解説
 
A 2-1 gitwebmatrix 2 から使う node.js on windows azure
A 2-1 gitwebmatrix 2 から使う node.js on windows azureA 2-1 gitwebmatrix 2 から使う node.js on windows azure
A 2-1 gitwebmatrix 2 から使う node.js on windows azure
 
20140927 azure pack_slideshare
20140927 azure pack_slideshare20140927 azure pack_slideshare
20140927 azure pack_slideshare
 
Gaming cicd-pipeline gaming-technight-2
Gaming cicd-pipeline gaming-technight-2Gaming cicd-pipeline gaming-technight-2
Gaming cicd-pipeline gaming-technight-2
 
Windows on aws最新情報
Windows on aws最新情報Windows on aws最新情報
Windows on aws最新情報
 
cloudstack devcloud
cloudstack devcloudcloudstack devcloud
cloudstack devcloud
 
手軽にできる外部公開サーバ観測の効用と活用法 @ Internet Week 2016
手軽にできる外部公開サーバ観測の効用と活用法 @ Internet Week 2016 手軽にできる外部公開サーバ観測の効用と活用法 @ Internet Week 2016
手軽にできる外部公開サーバ観測の効用と活用法 @ Internet Week 2016
 
SharePoint Framework Extension 基礎講座
SharePoint Framework Extension 基礎講座SharePoint Framework Extension 基礎講座
SharePoint Framework Extension 基礎講座
 
Open Source x AI
Open Source x AIOpen Source x AI
Open Source x AI
 

More from Yoshinori Nie

WagbyR920ReleaseNote.pptx
WagbyR920ReleaseNote.pptxWagbyR920ReleaseNote.pptx
WagbyR920ReleaseNote.pptxYoshinori Nie
 
WagbyR920ReleaseNote.pptx
WagbyR920ReleaseNote.pptxWagbyR920ReleaseNote.pptx
WagbyR920ReleaseNote.pptxYoshinori Nie
 
Wagby R9.1 ReleaseNote
Wagby R9.1 ReleaseNoteWagby R9.1 ReleaseNote
Wagby R9.1 ReleaseNoteYoshinori Nie
 
Wagby R9 Release Note
Wagby R9 Release NoteWagby R9 Release Note
Wagby R9 Release NoteYoshinori Nie
 
Wagby Testing Framework
Wagby Testing FrameworkWagby Testing Framework
Wagby Testing FrameworkYoshinori Nie
 
Wagby Testing Framework
Wagby Testing FrameworkWagby Testing Framework
Wagby Testing FrameworkYoshinori Nie
 
Wagby R7 Specification
Wagby R7 SpecificationWagby R7 Specification
Wagby R7 SpecificationYoshinori Nie
 
Cost estimation using Wagby
Cost estimation using WagbyCost estimation using Wagby
Cost estimation using WagbyYoshinori Nie
 
Wagby campaign10aniv
Wagby campaign10anivWagby campaign10aniv
Wagby campaign10anivYoshinori Nie
 
Wagby r7javadeveloperbasicguide
Wagby r7javadeveloperbasicguideWagby r7javadeveloperbasicguide
Wagby r7javadeveloperbasicguideYoshinori Nie
 
Wagby R7 Specification
Wagby R7 SpecificationWagby R7 Specification
Wagby R7 SpecificationYoshinori Nie
 
Wagby R6.6 Specification
Wagby R6.6 SpecificationWagby R6.6 Specification
Wagby R6.6 SpecificationYoshinori Nie
 

More from Yoshinori Nie (19)

WagbyR920ReleaseNote.pptx
WagbyR920ReleaseNote.pptxWagbyR920ReleaseNote.pptx
WagbyR920ReleaseNote.pptx
 
WagbyR920ReleaseNote.pptx
WagbyR920ReleaseNote.pptxWagbyR920ReleaseNote.pptx
WagbyR920ReleaseNote.pptx
 
Wagby R9.1 ReleaseNote
Wagby R9.1 ReleaseNoteWagby R9.1 ReleaseNote
Wagby R9.1 ReleaseNote
 
Wagby R9 Release Note
Wagby R9 Release NoteWagby R9 Release Note
Wagby R9 Release Note
 
Wagby Testing Framework
Wagby Testing FrameworkWagby Testing Framework
Wagby Testing Framework
 
Wagby Testing Framework
Wagby Testing FrameworkWagby Testing Framework
Wagby Testing Framework
 
Wagby R7 Specification
Wagby R7 SpecificationWagby R7 Specification
Wagby R7 Specification
 
Wagby Campaign 2017
Wagby Campaign 2017Wagby Campaign 2017
Wagby Campaign 2017
 
Cost estimation using Wagby
Cost estimation using WagbyCost estimation using Wagby
Cost estimation using Wagby
 
Wagby campaign10aniv
Wagby campaign10anivWagby campaign10aniv
Wagby campaign10aniv
 
Wagby campaign2016
Wagby campaign2016Wagby campaign2016
Wagby campaign2016
 
Pmt20151027 seminar
Pmt20151027 seminarPmt20151027 seminar
Pmt20151027 seminar
 
Wagby r7javadeveloperbasicguide
Wagby r7javadeveloperbasicguideWagby r7javadeveloperbasicguide
Wagby r7javadeveloperbasicguide
 
JasmineSoft Hotline
JasmineSoft HotlineJasmineSoft Hotline
JasmineSoft Hotline
 
WagbyCampaign2015
WagbyCampaign2015WagbyCampaign2015
WagbyCampaign2015
 
Wagby R7 Specification
Wagby R7 SpecificationWagby R7 Specification
Wagby R7 Specification
 
Wagby10point
Wagby10pointWagby10point
Wagby10point
 
Wagby R6.6 Specification
Wagby R6.6 SpecificationWagby R6.6 Specification
Wagby R6.6 Specification
 
Wagby10min2011
Wagby10min2011Wagby10min2011
Wagby10min2011
 

Cloud Foundry x Wagby