Challenge Engineer Life !

エンジニア人生を楽しみたい!仕事や趣味で学んだ技術的なことを書いていくブログです。

IBM Cloud ライト・アカウント&Java EEアプリのデプロイ #IBMCloud #jjug_ccc

先日参加したJJUG CCCのブースLTで「IBM Cloudライト・アカウント」の存在を知りました。その後、ブースに行って @Santea3173 さん とお話して興味が湧いたので早速試してみました。

IBM Cloud ライト・アカウント

クレカ登録なしで無期限に利用できる&IBM Websphere Liberty Profileが動く、ということでJava EE(Jakarta EE)のサンプルを試すのに良さそうなクラウド環境です。

アカウントの作成は簡単です。手順が気になる方は以下を参考にしてください。
https://qiita.com/ayatokura/items/42d4bc728112c733c80d

ライト・アカウントに関する概要を知りたい方は以下がおススメです。
www.project-respite.com

Java EEアプリのデプロイ

アカウントを取得してログインするとDashboardが表示されるので「リソースの作成」を押します。
f:id:kikutaro777:20180602130524p:plain

今回はJava EEアプリを試すため「Liberty for Java」を選びました。その他の言語含めてライト・アカウントでも色々遊べそうです。
f:id:kikutaro777:20180602130650p:plain

アプリ名やホスト名を入れます。
f:id:kikutaro777:20180602141841p:plain

中はCloud Foundryが動いているので、Cloud Foundry CLIで簡単にデプロイなどができます。

自分の環境の話ですが、前にPivotal Web Servicesを触っていたので、接続先はPivotalになっていました。まずはIBM Cloudへ切り替えました。

cf api https://api.ng.bluemix.net

ログインします。

cf login

Java EEアプリはとりあえず超簡単なJSFページを作って試しました。ドキュメントをみるとmanifest.ymlが必要そうにみえましたが、なくても動きました。
github.com

なお、これを実装したときは手元のPayaraで動作確認をしてました。で、Websphereで確認することなく、そのままwarをIBM Cloudへデプロイしました。

cf push kikutaroibmcloudsample -p target\IbmCloudLightSample-0.0.1.war

f:id:kikutaro777:20180602133158p:plain

デプロイ後、アクセスすると以下のページが表示されます。
f:id:kikutaro777:20180602141925p:plain

名前を入れると、呼び返してくれる簡単なWebアプリですが、以下のようにちゃんと動きました。かなりお手軽ですね。
f:id:kikutaro777:20180602141928p:plain

管理Beanについて

ちなみに、最初は管理BeanをCDI(@Named)で作っていたのですが、実行時に以下のエラーとなりました。CDI管理Beanが認識されていないようにみえます。Payaraでは問題なかったので、何か設定が必要なのかも?

f:id:kikutaro777:20180602142709p:plain

とりあえずJSF管理Bean(@ManagedBean)で実装したら動いたのでソースは@Managedを使ったものとなっています。この辺りについてはどこかで原因を探ります。

ログをみて気付いたのですが、WebsphereのJSF実装はmyfacesなんですね。

org.apache.myfaces.view.facelets.el.ContextAwarePropertyNotFoundException: javax.el.PropertyNotFoundException: Target Unreachable, identifier 'indexBean' resolved to null
	at org.apache.myfaces.view.facelets.el.ContextAwareTagValueExpression.getType(ContextAwareTagValueExpression.java:79)
	at org.apache.myfaces.shared.renderkit._SharedRendererUtils.findUIOutputConverter(_SharedRendererUtils.java:78)
...

JJUGナイトセミナー Javaクラウドプラットフォーム大特集に参加しました!

今日のJJUGナイトセミナーは超豪華でした!仕事を置いてきてでも参加してホント正解(^^)!会社後輩は1人しか来なかった…のですが、ホントもったいないと思う…。

jjug.doorkeeper.jp

発表は以下順番でした。

  1. Heroku
  2. Amazon Web Service
  3. Microsoft Azure
  4. Oracle Java Cloud Service
  5. Cloud Foundry
  6. Google Cloud Platform
  7. OpenShift
  8. IBM Bluemix

当日のつぶやきは既に@yamadamnさんにてまとめられています!

以下、発表者の方のスライドと、過去に自分が触ったときの記事とか合わせて簡単に。

Heroku

Herokuは前にSalesforce Summer(だったかな?)に参加したときに、セッションを聞いて触ってみてました。当時の自分は、Heroku = Ruby on Railsのイメージが凄く強かったのですが、実際に触ってみると、Javaも簡単に動かせて驚いた記憶があります。

今日の発表でも「Spark」に少しだけ触れられてましたが、Sparkのひな形が用意されていて、そこからPayara Microいけるんじゃ?って思った記憶が。

ということで、以前試したHeroku

kikutaro777.hatenablog.com

とPayara Microについて

なお、タイトルにある「12-Factor App」は以下。

12factor.net

日本語訳もあるですね。

12factor.net

AWS

自己紹介の話を聞いてJavaFXの話が聞きたくなりました(^^)w

AWSのBeanstalkは、Docker + GlassFishが使えると聞いて、前に試してました。これも手軽なんですよねー。

kikutaro777.hatenablog.com

他のPaaSに比べて中身の透明性がある(AWSの仕組みで構成されているという意味で)、というのはなるほどーという感じでした。

Azure

OracleでMicrosoftのてらださんがお話をされるという、聞いてる側もまだ何だか不慣れな感じでした(^^;笑

今のMicrosoftはすごくオープン、と強調されてましたが、色んなニュースが続きますよね。

MSがEclipse Foundationに参画したり
www.publickey1.jp

ASP.NETがLinuxで動くとか、先日なんてMS SQL Server on Linuxとか、「は!?」って感じですよね(^^;

jp.techcrunch.com

Azureは自分も一時期いろいろ触ってました。記事としては古いので注意ですが。

kikutaro777.hatenablog.com

Oracle Java Cloud Service

OracleさんのPaaSはまだ触ったことがないのですが、Java Cloud ServiceとApplication Container Serviceの2種類があるとのこと。両方ともFlight Recorderが使える辺りは便利そうですよね。
無料お試しとかあるのかな…。なんとなく気軽に触ってみることができるのか、気になりました。

あと、Java Cloud ServiceはWebLogicだけなのがちょっと残念。GlassFishがあれば…。

Cloud Foundry

Cloud Foundry、よく名前は聞くのですが、全然触ったことないのと、前提知識が薄かったので、今日の@makingさんの発表で勉強になりました!

個人的には「.NETが動く」というのに驚きました。Azure以外でそんなのあるのか!と

3/31にCloud Foundry Tokyo Meetupイベントがあるとのことです!
www.meetup.com

あと、発表者の@makingさんから教えて頂きましたが.NETまわりの仕組みとか聞けるかもです(^^)これはいってみたい。

ハンズオン形式のワークショップもあるそうです。

connpass.com

connpass.com

Google Cloud Platform

やっぱりGoogleの基盤はすごそうだなーと。そして日本にデータセンターという話もホットだったんですね。

www.nikkei.com

OpenShift

Red HatのOpenShiftは、今、自分の中では一番良く利用するPaaSです。発表にもありましたが、無料で使えるPaaSが減ってる中、Java EEのAPサーバ含めて無償枠があるのが嬉しいです。

OpenShift Onlineは現在v2で、v3からはDockerを主軸としたアーキテクチャでガラっと中身を変えたとのこと。

もうすぐv3版のOnlineもでるとのことで、個人的に超たのしみです。

@nekopさんがブログ書かれていました。

nekop.hatenablog.com

OpenShiftを初めて触ったときのエントリもありました(^^;

kikutaro777.hatenablog.com

ちなみに、最近乃木坂46にどハマりしてる自分なのですが、OpenShift上のWildFly + Twitter4Jで以下アプリのっけてます。

Sakamichi46 Collection

作成動機などは以下(^^;;

nogizaka46.hatenablog.jp

脱線しすぎました。

IBM Bluemix

資料はまだでしたが、Blumixも色々面白そうですよね。話題のWatson君とか、IoT関係なども。


ということで、ホントすごく豪華でした!どのPaaSにするか、やっぱり色々触ってみるのがいいですよね(^^)自分の場合は8個中4個は触ったことありますが、少し前なので、それぞれ色々変わってる気がします。触ったことがない中では、やっぱりCloud Foundryが一番気になりました。

触ってみよー。

にほんブログ村 IT技術ブログへ
にほんブログ村 にほんブログ村 IT技術ブログ Javaへ
にほんブログ村