先日Snappy Ubuntu Coreが発表されました。CoreOSやProject Atomic、JeOSと同様にクラウドやコンテナ環境に適した、UbuntuのMicro OSバージョンです。現在はアルファバージョンで、Microsoft AzureとKVM用のイメージが公開されています。最近のAzureのLinuxへの対応はかなりアグレッシブです。手元にKVM環境がないので、イメージをVMDKに変換してVitualBoxで動かすことにします。
Reactive Programming Books
先月のFunctional Programming Booksに続いてScalaやReactive Programmingに関する書籍を読んでいます。Micro Servicesのアーキテクチャの勉強にもなります。最終的にはSpring Cloud Netflixでアプリが作れるようになることを目標にしたいです。
Spring BootをPivotal Web Servicesにデプロイする - Part3: ClearDBに接続する
ローカルのDockerコンテナのJVMにSpring Bootのアプリをデプロイしましたが、JVMとコンテナの相性の良さを感じます。Spring Boot と Spring Cloud Netflix と Cloud Foundryを使いMicro Servicesが実現できそうな気がしてきました。まずは簡単なところから、前回作成したspring-cloud-sampleを使い、AmazonRDS互換のClearDBと連携してみます。
Spring BootをPivotal Web Servicesにデプロイする - Part2: ローカルのDocker開発環境で実行する
Spring Cloudの使い方を調べていると、よい記事がみつかりました。Introducing Spring Cloud Deploying a Spring boot application to Cloud Foundry with Spring-Cloud hello-spring-cloud これを参考にして、リポジトリにspring-cloud-sampleのサンプルを作成していきます。Javaアプリを実行可能なJARファイルにできると、DockerコンテナにはJVMがあればデプロイ可能になります。
Spring BootをPivotal Web Servicesにデプロイする - Part1: ClearDBを使う
もうすぐPivotal Web Servicesの60日間無料トライアルが期限切れになるので、急いでアプリを作らないといけないです。Hello Worldからすこし成長して、RDBを使ったプログラムをデプロイしようと思います。通常PaaSでRDBを使う場合は、Amazon RDSのようなDBaaSを使う必要があります。IronMQとの連携の際に、Amazon RDSの代替サービスとしてPostgreSQLのElephantSQLを使いました。今度はMySQLのDBaaSであるClearDBを試してみます。
Java8とEmacsでSpring Boot - Part3: Thymeleafテンプレートエンジン
Hello Worldで作成した@RestControllerを修正して、ビューのレンダリングにThymeleafテンプレートエンジンを利用していきます。通常Spring MVCアプリを作るときは最初からMVCでクラスを分けて書いていきますが、Spring Bootを使うと必要な機能を少しずつ追加してもよい、お手軽な感じがします。
Java8とEmacsでSpring Boot - Part2: Spring Loadedを使いHot code reload
ここ数年はRailsやSinatraを使った開発が多くなったので、開発環境ではアプリケーションサーバー再起動しくてもコードの編集が反映されるのが当たり前のようになっています。Javaはコンパイルが必要なので、classファイルのhot reloadにはEclipseのプラグインなどを使わないと実現が難しかったと思います。RailsでEmacsを使った開発環境に慣れてしまうと、もうEclipseには戻れないので良い方法を探しています。
Java8とEmacsでSpring Boot - Part1: Hello World
Learning Spring BootはChapter2移行はGroovyからJavaになっています。先日作成したEmacsのauto-java-complete環境でHello Worldを作成していきます。Groovyで書く場合はRubyのようにEmacsで開発できそうですが、Javaの場合もEclipseやIntellijを使わずEmacsを使って快適に開発を行いたいです。
Oracle Java 8とauto-java-completeでSpringBootの開発環境を作る
2ヶ月前、Emacs24とEclimでOracle Java 8のインストールは失敗してしまいました。Spring BootをOracle Java 8で開発するために、Eclimをやめてauto-java-completeを使うように変更します。作成したbaseimageはDocker Hub Registryに Automated Buildしています。
GroovyでSpring Boot - Part3: Hello World
Learning Spring Bootを読みながら、まずはお約束のHello Worldから。