怒Mは思いつきでモノを言う

やったことメモなどなど

Fn Projectについて調べて見た。①

Fn ProjectのTutorialを通して知った内容をメモります。
不明点はソース見ながら調べるので、ゆっくりやる予定です。

Fn Project について

Fn ProjectオープンソースのFaaSプラットフォームです。

Fn Projectの特徴については@hhiroshell氏が本家を和訳してくれていますので、そちらを参照していただくのがいいと思います。

Fn Projectは4つのコンポーネントで構成されています。

  • Fn Server
  • Fn Load Balancer
  • Fn FDK's
  • Fn Flow

今回は、Fn ServerとFn FDK(Java)を使ってTutorialをやってみます。

Tutorials

準備インストール

Docker

Before you Begin Before we can install Fn you’ll need:

  1. A computer running Linux or MacOS. If you have a Windows machine the easiest thing to do is install VirtualBox and run a free Linux virtual machine.
  2. Docker 17.10 (or higher) needs to be installed and running.

私の実行環境はMac上で動かすので、Dockerをインストールします。

Docker Store

Fn CLI

Homebrewがインストールされれば、以下のコマンドでインストールされます。

$ brew install fn

Linuxでは以下のコマンドでインストールできます。(Macでも大丈夫)

$ curl -LSs https://raw.githubusercontent.com/fnproject/cli/master/install | sh

インストールできたか試してみましょう。
以下のように出たらOKです。
初回はローカルにfnserverのDockerイメージがない場合は、Docker Hubから取得します。

$ fn start

Unable to find image 'fnproject/fnserver:latest' locally
latest: Pulling from fnproject/fnserver

(中略)
        ______
       / ____/___
      / /_  / __ \
     / __/ / / / /
    /_/   /_/ /_/
        v0.3.495

time="2018-06-30T11:42:17Z" level=info msg="Fn serving on `:8080`" type=full

Dockerがインストールされていない or デーモンが動いていない場合は以下のエラーが出て失敗します。

$ fn start
docker: Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?.
See 'docker run --help'.
2018/06/30 19:54:58 Error: processed finished with error exit status 125

fn start 実行時には Dockerイメージ fnproject/fnserver を使って fnserver というコンテナを生成・起動します。