Challenge Engineer Life !

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

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が一番気になりました。

触ってみよー。

AWS Elastic BeanstalkでJava 8 & GlassFish 4.1!

この記事は GlassFish Advent Calendar 2014 の 22 日目です。

昨日はhasunumaさん(@btnrouge)による「HK2 の使い方(後編) - Programming Studio」でした。

昨今GlassFishの勢いがなくなった、といった噂を一部国内で耳にしますが、果たして本当にそうなんでしょうか?海外での状況など色々と幅広く調べた上でそういった認識を持たれるならばいいのですが、、、

今年のJavaDay Tokyoで、US OracleのJava EE EvangelistであるRezaさんがGlassFishの開発は継続していくよ、というお話をされていました。そして、その時に宣言されていた通り、JavaOne前にGlassFish 4.1も出ました。

また、先月11月に、AWSのElastic BeanstalkでJava 8 + GlassFish 4.1をサポートしたよ、というニュースがありました。

AWS Elastic Beanstalk Supports Python 3.4, Java 7 GlassFish 4.0, and Java 8 GlassFish 4.1

勢いがないなら、本当にAWSがサポートしたりするんでしょうか…?
Tomcatだけのまま、あるいはWildFlyなどのサポートを先にしてもいいのでは、とも。

そんなわけで、個人的にはWildFlyも当然ウォッチしつつ、GlassFishは普通に使っていく予定です。

ということで、今日はAWSのElastic BeanstalkにJava 8 + Java EE 7のアプリをデプロイしてみました。

Elastic BeanstalkはAmazon Web Services(AWS)が提供するPaaSのサービスです。英語のWikipediaがシンプルでわかりやすい説明でした。
AWS Elastic Beanstalk - Wikipedia, the free encyclopedia

では早速開始。まずはAWSのメニューで真ん中らへんにあるElastic Beanstalkを選択します。
f:id:kikutaro777:20141219172544j:plain

私の場合、初めてElastic Beansktalkを利用したので以下の画面となりました(2回目以降は少し違う画面に)
f:id:kikutaro777:20141219172604j:plain

Launch Nowボタンの上にあるプルダウンをみてみると…GlassFishがあります!
しかもDockerなのか。
f:id:kikutaro777:20141219172611j:plain

GlassFishを選んで、Launch Nowボタンを押す。それだけです(^^;
(ちなみに2回目以降は、メニューが色々出てきました。Load balancingにするか、など。もちろん、ここでも以下画面にあるChange Defaultsを選べば変えられます。)
f:id:kikutaro777:20141219172623j:plain

あとはグルグルLaunching処理を待って
f:id:kikutaro777:20141219172635j:plain

グリーンになったら環境構築完了です。Upload and Deployボタンを押します。
f:id:kikutaro777:20141219172642j:plain

あとはデプロイするwarファイルを選ぶだけです。簡単!
f:id:kikutaro777:20141219172705j:plain

今回、アプリケーションは次のような非常に簡易なものを用意しました。
Java EE 7(JSF + CDI)で、JSFのリッチUIサードパーティ「PrimeFaces」のAutoCompleteを使ったサンプルです。

Java 8のstreamを利用して、あらかじめ用意したリストの中から、テキストに入力された文字を含む選択肢のみをフィルタして表示するものです。

CDIの管理Beanは次のコード。

package jp.co.kke.autocomp;

import java.io.Serializable;
import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;
import javax.annotation.PostConstruct;
import javax.inject.Named;
import javax.faces.view.ViewScoped;
import lombok.Getter;
import lombok.Setter;

/**
 *
 * @author kikuta
 */
@Named(value = "autoCompBean")
@ViewScoped
public class AutoCompBean implements Serializable{

    @Getter
    private List<String> listActress;
    
    @Getter @Setter
    private String selectedActress;
    
    @PostConstruct
    public void init(){
        listActress = Arrays.asList("MakiHorikita", "MaiShiraishi", "KannaHashimoto","TsubasaHonda");
    }
    
    public List<String> filter(String word){
        return listActress.stream()
                .filter(a -> a.contains(word))
                .collect(Collectors.toList());
    }
}

ビューのfaceletsのbodyはこんな感じです。

<h:body>
    <h:form>
         <p:autoComplete value="#{autoCompBean.selectedActress}"
                            completeMethod="#{autoCompBean.filter}" />
    </h:form>
</h:body>

ローカルで動かすと…「ma」を含む選択肢だけが表示されて、ちゃんとフィルタされてますね。
f:id:kikutaro777:20141219172843j:plain

先のAWS Beanstalkにデプロイしたものは…全く同じです。ちゃんとJava 8で動いてる!
f:id:kikutaro777:20141219172854j:plain

ということで、ちょっとしたサンプルを公開したい場合でも非常に簡単に利用できそうです。
個人的にはCloudBeesで同様のことが出来ていたのが、今はPaaS提供がなくなってしまったので、AWSのBeanstalkいいなぁという感じです。

明日からはYumi Hiraokaさん(@yumix_h)です!!

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