Furyu

[フリュー公式] Tech Blog

フリュー株式会社の技術ブログです

2016年08月26日

maeda

IntelliJ IDEAでSpring Boot プロジェクトを作成

こんにちは、コンテンツ・メディア第一事業部 前田です。

業務でSpring Bootを使って新しくプロジェクトを作成する機会がありましたので、新規プロジェクト作成、実行、設定ファイルの分け方についてまとめていきます。

Spring Bootとは

簡単にSpringプロジェクトを作成することができるフレームワークです。

Spring だと最初に様々な設定をする必要がありますが、Spring Bootには必要ありません。xml設定ファイルがそもそもありません。また、プロジェクトを起動するのにTomcatも必要ありません。jarファイルを使って、javaコマンドでアプリケーションを実行することが可能です。

Spring Bootで新規プロジェクトを作成する

環境

 IDE IntelliJ IDEA
JDKバージョン JDK 8
Mavenバージョン 3.3.9

作成までの流れ

File→New→Project…からMavenを選択し、新規Project作成を選択します。

無題

プロジェクトを作成できたら、pom.xmlにSpring Bootを追加します。

spring-boot-starter-parent  Spring Bootの標準設定
spring-boot-starter-web Spring MVCの機能が入っている

これでSpring Bootの機能が使えるようになりました。

jarコマンドでプロジェクトを実行

Spring Bootではjarファイルを指定し、jarコマンドでプロジェクトを実行することができます。

まずはjarファイルを作成します。

これでtarget配下にjarが作成されます。

注意点として、mavenのバージョンが3以上でないと以下のようなエラーとなります。

mavenのバージョンは3以上で実行しましょう。

jarを作成したらjarコマンドを実行します。

で実行できます。

起動できれば以下の様なログが流れます。

起動時に適用する設定ファイルを指定したい

Spring Bootの設定ファイルはproperties形式とYAML形式があります。

ここではYAML形式で設定ファイルを作成することとします。

ymlファイルの名前を変更し、それを起動時に指定することで設定ファイルをわけることができます。

application-test.yml

の設定で起動したい場合、先程のjarコマンドで起動する際

のように書きます。

つまり、

application-指定する名前.yml

で設定ファイルを分けることができます。

感想

新規プロジェクト作成では設定でつまりがちで中々Hello Worldが出せない私ですが、Spring Bootではスムーズにプロジェクトを起動することができました。

参考

http://maplesystems.co.jp/blog/programming/18474.html

http://projects.spring.io/spring-boot/

http://www.techscore.com/blog/2014/05/01/spring-boot-introduction/


2016年08月23日

Kayo

7つのOpenStackコンポーネントと構築手順

みなさん、こんにちは。コンテンツ・メディア第1事業部インフラ担当の藤本佳世です。今回は、OpenStackの続きで、7つのコンポーネントとノードの役割、構築手順についてお話しします。

7つのコンポーネントとノードの役割

前々回の記事でも少し触れましたが、OpenStackは7つの機能から構成されます。
注意:OpenStackのバージョンアップに伴い、コンポーネントの数も更新されます。実際には、16のコンポーネントが存在しますが、今回は、構築で重要となる7つについてお話ししたいと思います。

コンポーネント 役割
Nova 仮想マシンの提供と管理を行う
Keystone ユーザー認証・管理を行う
Horizon Webブラウザ経由で管理・操作できるGUIコンソールを提供する
Glance 仮想イメージの管理を行う
Cinder 仮想マシンが使用するストレージ管理を行う
Neutron 仮想ネットワークの管理を行う
Swift クラウドストレージを提供する

役割ノードの紹介

ノードタイプ 役割
controllernode OpenStack 環境が機能するために必要な管理ソフトウェアサービスを実行
computenode OpenStack 内の仮想マシンインスタンスを実行
storagenode OpenStack環境に必要な全データを保管
networknode Openstack環境に必要なすべての仮想ネットワーキングを実行

各コンポーネントとノードの紐づけ

各コンポーネントごとのノードの役割を下記の図で表しています。

Nova controllernode computenode
Keystone controllernode
Horizon controllernode
Glance controllernode
Cinder controllernode storagenode
Neutron controllernode computenode networknode

構築にあたって

7つのコンポーネントをどのサーバノードで稼働、同居させるかは、負荷分散や冗長化の観点から、とても大切な設計です。みなさんもご自身の環境、サーバスペックにあった構成を組んでいただければと思いますが、フリューでは、サーバ8台構成でOpenStackを構築しました。また、今まではCentOSを使うことが多かったのですが、OpenStackでは、Ubuntu14.04LTSをホストOSとして採用しました。

理由

  1. Ubuntuは標準パッケージでOpenStack環境が用意されている。
  2. Ubuntu/debianの基本方針として、ディストリビューションのバージョンが変更されない限り、パッケージのバージョンは更新しない方針なので、不意にOpenStack環境がバージョンアップされない。 ※Firefoxなど例外あり
  3. LTSを使用すれば、2年または4年毎くらいでディストリビューションのバージョンアップが可能。 ※サポート期間は5年

(さらに…)