最近のjava PaaS事情第八回 #渋谷java
2014.9.20 株式会社ビズリーチ 海リーチにて
自己紹介•芹沢和洋 28歳 ほぼオッサン •在宅ひきこもりリモートワーカー • @seri_k • 株式会社ハートレイルズ •業務1:webサービス専門の受託開発 •業務2:Developer Productivity向上運動 • java(SAStruts,struts2,spring,DBFlute等) 1年半ぐらい(前職まで)
宣伝ハートレイルズはエンジニア募集中です!
こんな人に良いかも?
•今どきの開発スタイルで webサービスの受託開発やりたい(大体Railsです)
•リモートワークしたい、地方で暮らしたい(※弊社は社員全員がリモートワーカーです)
http://www.heartrails.com/company/recruitment.html
私の仕事場の様子
今日のお題
最近のjava PaaS事情
JavaのPaaS事情発端
最近ジョブチェンジしてQA環境として
herokuを使い始めたら便利すぎてheroku厨になったので
javaだとどんな風に使うのか調べてみた
JavaのPaaS事情
先に結論
JavaのPaaS事情
これからPaaSでJavaのWebAppを動かしたければ
JavaのPaaS事情Tomcat先生と
お別れしましょう (※ただし組み込みでない)
JavaのPaaS事情つまり
組み込みサーバで
実行できるようにアプリを作りましょう
JavaのPaaS事情
何故か?
JavaのPaaS事情
昔ながらの javaのwebアプリ 実行スタイル
JavaのPaaS事情
hogehoge.war
http client
JavaのPaaS事情
よくあるPaaSだとこうなる
(一部除く)
JavaのPaaS事情
http client生Javaのprocess
pushするとbuild
よくわからない何か (PaaS)
常駐しているServlet Containerは無い!
すぐ動かせそうなWAF• 組み込みサーバを前提としていて、コマンドラインで起動できるWAFだと恐らくすぐ動かせる
• Play! Framework
• Spring-boot
• DropWizard
• JuzuFramework
PaaSだとここが嬉しい• 環境構築が一瞬で出来るしいつでも壊して再構築できるのでコードを書くことに専念できる
• DB, KVSもほぼセットアップ不要で使える
• タダで外部に公開出来る環境をURL込で用意出来る
PaaSだとここが辛い• 独特の方法でビルドしないといけないアプリだとかなり辛い(複数プロジェクトに依存したアプリとかherokuでちゃんとビルド出来るのか??とか)
• javaの場合組み込みサーバで動かせないwebアプリは大体動かせない
• 利用しているPaaSが止まると業務が止まる
• PaaSの仕様変更に影響される
Javaが使える主なPaaS
•RUN@Cloud (http://www.cloudbees.com/)
• 色々なものをServiceとして提供するCloudbeeが提供するServiceの一つ
• JenkinsのホスティングもやっていてデプロイはそのJenkinsからやる前提らしい
• MySQL、その他DBが無料枠有りで使用可能
• AutoScaleも対応
Javaが使える主なPaaS
•heroku( http://www.heroku.com/ )
• 言わずと知れた有名PaaS
• Rubyで有名だがjava, clojure, scala,python, node, phpに対応
• 無料アドオンしか使わない&最小構成からスケールしないのであればいくらアプリ作っても無料
• APIが充実。jenkinsからアプリを作ったりデプロイできる。
Javaが使える主なPaaS
•OpenShift ( https://www.openshift.com/ )
• Redhatが提供するPaaS
• 詳しくは http://www.slideshare.net/lanabe/shibuyajava6-openshift
Javaが使える主なPaaS
•EngineYard ( http://www.engineyard.co.jp/ )
• PaaSというかある程度環境が用意されたIaaSという印象を受ける
• warをデプロイしてTomcatで動かすみたいなことが出来る環境を提供してくれるらしい
• javaは無料枠がなかったので試せなかった
EngineYardだと 今までのように開発出来る?
http://www.engineyard.co.jp/techstack/java
まとめ• JavaをPaaSで動かしたいなら組み込みサーバが動くWAFで開発しよう
• Herokuについては日本から使ってもそこまでストレスなく普通に使える
• ビルドプロセスが複雑なPJは PaaSで動かすのが難しくなる傾向にある
おしまい
ご清聴ありがとうございました