Fn ProjectのTutorialを通して知った内容をメモります。
不明点はソース見ながら調べるので、ゆっくりやる予定です。
Fn Project について
Fn ProjectはオープンソースのFaaSプラットフォームです。
Fn Projectの特徴については@hhiroshell氏が本家を和訳してくれていますので、そちらを参照していただくのがいいと思います。
Fn Projectのオーナーが、それを作った理由と、プロジェクトのビジョンを語った記事。日本語訳を作りました!https://t.co/23FE00TJLF#fnproject
— Hayakawa Hiroshi (@hhiroshell) 2017年10月18日
Fn Projectは4つのコンポーネントで構成されています。
- Fn Server
- Fn Load Balancer
- Fn FDK's
- Fn Flow
今回は、Fn ServerとFn FDK(Java)を使ってTutorialをやってみます。
準備インストール
Docker
Before you Begin Before we can install Fn you’ll need:
- 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.
- Docker 17.10 (or higher) needs to be installed and running.
私の実行環境はMac上で動かすので、Dockerをインストールします。
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
というコンテナを生成・起動します。