29
26

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Cloud Foundryを始めてみる

Posted at

始めてみるぐらいの軽い記事ですよ!

Cloud Foundryとは

Cloud FoundryはいわゆるPaaSのひとつです。
Herokuは使ったことがありますが、PaaSの中でなんとなく気になったので使ってみようという次第です。
(余談ですが、Herokuで動かしてるのは逆引きKotlinというサイトhttp://kotlin-rev-solution.herokuapp.com/site/

前提

本記事の内容は、https://pivotal.io/platform/pcf-tutorials/getting-started-with-pivotal-cloud-foundry/introduction?utm_source=platform&utm_medium=link&utm_campaign=gettingstartedwithpcfを触ってみた、ぐらいのものになっています。
 

事前準備

  • Clound Foundry用にアカウント登録が必要です。Gmailとかで良いと思います。
  • アカウント登録後、https://console.run.pivotal.io/からorgとspaceを作成します。ざっくり言うとorgとspaceはデプロイ先です。

Cloud FoundryのCLIをインストールする

おもむろにClound Foundryでググると、Getting Startedがあるので導入してみましょう。

  • Install the CF CLI

Cloud FoundryのCLIツールをインストールします。僕の環境はMacなのでMac用のものをダウンロード。
(もちろんWinもLinuxも用意されています。)
インストールに関しては以下の記事にあるようなものと大体変わらないので割愛します。
PaaS の Cloud Foundry(PCF-DEV) を OSX 上に構築する

cfというコマンドが使えるようになります。
使い方に関してはヘルプで。

cf help

上手くインストールできていれば、ヘルプの結果が出力されるはずです。

yank-no-MacBook-Pro:~ yy_yank$ cf help
cf バージョン 6.25.0+787326d95.2017-02-28, Cloud Foundry command line tool
Usage: cf [グローバル・オプション] コマンド [引数...] [コマンド・オプション]

Before getting started:
  config    login,l      target,t
  help,h    logout,lo    

・・・略・・・

サンプルアプリをデプロイまで

Getting Startedに従うままにサンプルアプリをデプロイしてみましょう。

  • サンプルアプリをcloneします
git clone https://github.com/cloudfoundry-samples/cf-sample-app-spring.git

SpringのプロジェクトなのでJavaかと思いきや、Groovyですねぇ。
manifest.ymlがCloud Foundry用のconfigとなっているようです。
Grabでthymeleafの依存解決をしているのは良いとして、その他はどうしているのだろう。。。
おそらくCloud Foundry側で解決しているのでしょうか。

  • cloneしたプロジェクトに移動します
cd cf-sample-app-spring
  • 以下コマンドでログイン

Cloud Foundryのユーザー認証ですね。

cf login -a https://api.run.pivotal.io
  • pushコマンドでデプロイ

簡単ですねぇ。

cf push

push時に出力されるURLにブラウザからアクセスすると上手く行ってるのが確認できました!!!簡単。

サンプルアプリのログを見る。RDBMSを適用する

直近のアプリログを確認します。

cf logs cf-spring --recent

アプリのログをtailみたいなことも出来ます。

cf logs cf-spring

Cloud Foundryのマーケットプレースから情報を取得。
チュートリアルではPostgreSQL as a ServiceなElepahntSQLの情報を取得してます。

cf marketplace -s elephantsql

turtle             4 concurrent connections, 20MB Storage                 free
panda              20 concurrent connections, 2GB Storage                 paid
hippo              300 concurrent connections, 100 GB Storage             paid
elephant           300 concurrent connections, 1000 GB Storage, 500Mbps   paid

turtleであれば無料っぽいですね。
turtleをアプリに適用します。

まずはサービスの作成。

cf create-service elephantsql turtle cf-spring-db

そしてアプリに適用します。

cf bind-service cf-spring cf-spring-db
cf restart cf-spring

これだけでRDBMSが利用できるとは。。。すごい。

アプリをスケールアウトする。メモリの割当を変える

スケールアウトも簡単です。

cf scale cf-spring -i 2

これでインスタンスが2個にスケールアウトしました。

ちゃんと動いているか以下で確認できます。

cf app cf-spring

メモリの割当は以下で変えられます。

cf scale cf-spring -m 1G

disk limitを変更もできます。

cf scale cf-spring -k 512M

感想

導入は落ち着いて手順通りやればとても簡単でした!!
それに、コマンドラインで全て完結するのは快適ですね。
herokuもコマンドラインツールはあるのですが、なんだかherokuより簡単に思いました。
多分、比較するとデプロイが圧倒的に簡単なんだと思います。

これから色々簡単なアプリとか載せて遊んでみようと思います!

29
26
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
29
26

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?