無料！クレジットカード不要！開発環境不要！ブラウザだけで開発完了まで！FaaS体験

2017年11月、IBM BluemixはIBM Cloudになりました。
そして、ライト・アカウントの開始。
登録にクレジットカードは不要です。
無料枠も期限なしです。

**俺は、猛烈に感動しているッ！**

そんな訳で、ブラウザだけでさっくり開発して、寝ましょう。
もう午前1時だぜ。

## IBM Cloud登録まで

https://www.ibm.com/cloud-computing/jp/ja/bluemix/lite-account/

アクセスすると、「ライト・アカウントを今すぐ登録」という文字が踊っています。ダンシング。

|![image.png](https://qiita-image-store.s3.amazonaws.com/0/90217/e8591f3a-9bfa-271e-cb42-24702ce08214.png)|
|:-:|

「ライト・アカウントを今すぐ登録」をクリックすると、

|![image.png](https://qiita-image-store.s3.amazonaws.com/0/90217/0e228ad8-8410-da26-6fb0-c9b4798d62c2.png)|
|:--:|

こんな画面になります。
メールアドレスが必要です。
クレジットカードは不要です。最後まで不要です。

|![image.png](https://qiita-image-store.s3.amazonaws.com/0/90217/58346377-62db-5526-2054-b1e2028f429d.png)|
|:--:|

「アカウントの作成」をクリックすると、こんな画面に。
メールが届いてるので、リンクをクリックしましょう。

|![image.png](https://qiita-image-store.s3.amazonaws.com/0/90217/a7b3b900-1527-95dc-84b4-ab204a2ea4a6.png)|
|:--:|

残念ながらアカウントの登録に成功してしまいました。

## ログインしよう、そうしよう

|![image.png](https://qiita-image-store.s3.amazonaws.com/0/90217/39c13b57-cd0a-9c3c-954f-c440a850cb03.png)|
|:--:|

「ログイン」をクリックするとログイン画面に遷移します。
メールアドレスを入力して「次へ」をクリック。

|![image.png](https://qiita-image-store.s3.amazonaws.com/0/90217/2d0c5701-4330-e945-788f-2908c4e27c8b.png)|
|:--:|

メールアドレスが「IBM ID」になっています。パスワードを入力して「Log in」をクリック。

|![image.png](https://qiita-image-store.s3.amazonaws.com/0/90217/d32ae00e-830a-c4e4-2947-023a4efdf339.png)|
|:--:|

ウェルカム・メッセージが表示されました。

|![image.png](https://qiita-image-store.s3.amazonaws.com/0/90217/0e8335b1-f310-4fda-9272-2146ef09304a.png)|
|:--:|

**IBM Cloud Functions** でサクッとプログラムを作りましょう。開発環境を作る必要はありません。ブラウザ上でプログラミングできます。
画面左上の **≡** マークをクリック→機能→作成の開始の順にポイント、またはクリックします。

|![image.png](https://qiita-image-store.s3.amazonaws.com/0/90217/8a1a21aa-cf24-3ed9-a95d-c3c0da257108.png)|
|:--:|

組織のところにメールアドレスが表示されます。逆に言うと、メールアドレスが組織です。

「アクションの作成」をクリックします。

|![image.png](https://qiita-image-store.s3.amazonaws.com/0/90217/9f9296a3-1bf1-0aaa-22c7-c2fd203406b1.png)|
|:--:|

1. アクション名を適当につけます。
2. ランタイムを選びます。2017/12/05時点で選択できるのは、「Node.js 6」「Node.js 8」「PHP 7.1」「Python 3」「Swift 3.1.1」から選べます。私は「PHP 7.1」を選択しました。
3. 「Web アクションとして有効化」にチェックを入れます。
4. 「作成」をクリックします。

## ブラウザで開発しよう

|![image.png](https://qiita-image-store.s3.amazonaws.com/0/90217/ab6da3e5-01d2-508b-9f08-0b7d8dc72abe.png)|
|:--:|

画面が切り替わります。サンプルコードがすでに表示されています。パラメータとしてJSONデータを受け取り、messageに値が入っていればgreetingに「Hello {message}!」を格納し、入っていなければ「Hello stranger!」を格納してJSONデータを返します。

「起動」をクリックします。

|![image.png](https://qiita-image-store.s3.amazonaws.com/0/90217/32ecdb84-8687-314a-2d46-d2439171209c.png)|
|:--:|

左下の「最終結果」に

```
{
  "greeting": "Hello stranger!"
}
```

と表示されています。どうやら、messageに何も入っていないようです。俺の名前を呼んでくれ。

という訳で、「最終結果」の右にある"変更アクション入力"リンクをクリックします。

|![image.png](https://qiita-image-store.s3.amazonaws.com/0/90217/404fed5c-ae84-be45-5afb-838c113c79d7.png)|
|:--:|

JSON形式のデータを入力して「適用」します。

そして「起動」！

|![image.png](https://qiita-image-store.s3.amazonaws.com/0/90217/4e17b70d-325e-f3a3-0c75-ecf0f6d71c75.png)|
|:--:|

はい。左下の「最終結果」が、「Hello takepan!」になりました。

## 外部からのアクセス

では、最後に外部からアクセスしてみましょう。

JSONでのPOSTについては、[こちら]
(https://www.glpgs.com/e-blog/archives/171)を参考にさせていただきました。 m(_ _)m

|![image.png](https://qiita-image-store.s3.amazonaws.com/0/90217/d334bd11-e6e6-4551-5c2c-b3fbcc8d55a7.png)|
|:--:|

messageに「FOREIGNER」（外部の人）を設定しましたので、「Hello FOREIGNER!」と出れば、成功です。果たして。

|![image.png](https://qiita-image-store.s3.amazonaws.com/0/90217/8d9a7c27-924f-4e8a-00d9-14b25f35e2be.png)|
|:--:|

はい。出ました。とりあえず、世界中のどこからでもアクセス可能なプログラムの作成まで、出来ました。

## 感想

無料でここまでできる時代に、なったんですねぇ……