気になるサービス・アプリまとめ【気になったものを随時追加】

気になるアプリ・サービスのリサーチ置き場。
docker hubのofficial repositoryやrancher2.0カタログ由来多め。
(まとめ、備忘録用なので、追記記述なし＆追加順番も適当になると思います。)

# From
- Docker Hub - official repository
- Rancher2.0カタログアプリ
- etc...

# 気になるアプリ・サービス一覧

## Firebase (update: 181120)

>Firebaseとは、最近大きく注目を集めているMBaaS(Mobile Backend as a Service)、つまりモバイル開発のためのクラウド・ベースのバックエンドサービスです。2014年にGoogleに買収され、Google I/O 2016で新バージョンが発表されました。
ここでのバックエンドとはDB、認証、ストレージ、解析、メッセージングプラットフォームなど（詳細は公式サイト参照）で、主にネイティブアプリ向けのプラットフォームとして提供されています。
\- [今Googleで最も熱いサービスFirebaseで、リアルタイムWebアプリをサクッと作ってみた](https://tech.plaid.co.jp/firebase-webapp/)

### 参考ページ
[Web開発が捗るFirebase入門！JavaScriptで「Webユーザー認証」機能を超お手軽に作るチュートリアル大公開！](https://paiza.hatenablog.com/entry/2016/10/03/Web%E9%96%8B%E7%99%BA%E3%81%8C%E6%8D%97%E3%82%8BFirebase%E5%85%A5%E9%96%80%EF%BC%81JavaScript%E3%81%A7%E3%80%8CWeb%E3%83%A6%E3%83%BC%E3%82%B6%E3%83%BC%E8%AA%8D%E8%A8%BC%E3%80%8D%E6%A9%9F%E8%83%BD%E3%82%92)
[今Googleで最も熱いサービスFirebaseで、リアルタイムWebアプリをサクッと作ってみた](https://tech.plaid.co.jp/firebase-webapp/)
[Firebaseの各機能を3行で説明する](https://qiita.com/shibukk/items/4a015c5b3296563ac19d)

## redis (update: 181119)
>Redisとは「remote dictionary server」から名前が付けられたオープンソースのkey-valueデータストアです。
MemcacheDB等のKVSとの最大の違いは、格納するバリューがデータ構造というところです。
つまり、リスト・セット・ハッシュなどのデータ構造で格納できるのでバリューに対してアトミックな操作ができます。
例えば、リストではプッシュしたりポップしたりできるのです。
これによって大規模なデータの操作をする時にデータ構造だけプログラムの外部で管理する事ができるので大変便利です。
\- [redis、それは危険なほどのスピード](https://ameblo.jp/principia-ca/entry-11197286812.html)

> Redisは万人にすすめられる、文句なしに最高に素晴らしい製品です。データベースというよりは、プログラミング言語の配列やマップをサーバ上でアトミックに安全に読み書きできる共有メモリ構造といった感じで、一時的なデータ置き場として使うことが多いですが、SQLしか使ってない人もみんな触れてみてほしいです。
\- [MongoDBの様なNoSQLに勢いがあるのは何故ですか？SQLと比べてどんな利点や欠点がありますか？](https://jp.quora.com/MongoDB%E3%81%AE%E6%A7%98%E3%81%AANoSQL%E3%81%AB%E5%8B%A2%E3%81%84%E3%81%8C%E3%81%82%E3%82%8B%E3%81%AE%E3%81%AF%E4%BD%95%E6%95%85%E3%81%A7%E3%81%99%E3%81%8B-SQL%E3%81%A8%E6%AF%94%E3%81%B9%E3%81%A6%E3%81%A9%E3%82%93)

### trial with docker
```docker-compose.yml
version: "3.1"

services:
  redis:
    container_name: redis
    image: redis
```

## MongoDB (update: 181119)
> MongoDBは、オープンソースソフトウェアのドキュメント指向データベースである。C++言語で記述されており、開発とサポートはMongoDB Inc.によって行なわれている。
\- [MongoDB - Wikipedia](https://ja.wikipedia.org/wiki/MongoDB)

### ドキュメント型データベースとは？
> ドキュメント型データベースとは、保存するデータ構造が自由なデータベースです。
一件分のデータはドキュメントと呼ばれ、JSONやXMLなどの記述書式で書かれたデータが保存されます。
容易にスケールアウトできるような構造をしたドキュメント型データベースが多いので、急なシステムの増強も可能です。
>
コンピュータの性能を向上させるスケールアップよりも、スケールアウトする方がコストは安く済むので、ドキュメント型データベースはコスト面でも有利なデータベースとなっています。
\- [ドキュメント型データベースとは](https://www.techcrowd.jp/nosql/documentdb/)


### trial with docker (from [official repository](https://hub.docker.com/_/mongo/))
```docker-compose.yml
version: '3.1'

services:

  mongo:
    image: mongo
    restart: always
    environment:
      MONGO_INITDB_ROOT_USERNAME: root
      MONGO_INITDB_ROOT_PASSWORD: example

  mongo-express:
    image: mongo-express
    restart: always
    ports:
      - 8081:8081
    environment:
      ME_CONFIG_MONGODB_ADMINUSERNAME: root
      ME_CONFIG_MONGODB_ADMINPASSWORD: example
```

authenticationエラーがでるので、ユーザの追加が必要。以下参照。
[Enable Auth - Procedure](https://docs.mongodb.com/manual/tutorial/enable-authentication/#procedure)

追記: `environment`で指定したユーザ名とパスワードでも使えました。とりあえず試すだけなら、そちらでもよさそうです。


## Kafka (update: 181119)
> 2011年にLinkedInから公開されたオープンソースの分散メッセージングシステムである．Kafkaはウェブサービスなどから発せられる大容量のデータ（e.g., ログやイベント）を高スループット/低レイテンシに収集/配信することを目的に開発されている．
\- [Apache Kafkaに入門した](https://deeeet.com/writing/2015/09/01/apache-kafka/)

### セールスポイント
> - Fast とにかく大量のメッセージを扱うことができる
- Scalable Kafkaはシングルクラスタで大規模なメッセージを扱うことができダウンタイムなしでElasticかつ透過的にスケールすることができる
- Durable メッセージはディスクにファイルとして保存され，かつクラスタ内でレプリカが作成されるためデータの損失を防げる（パフォーマンスに影響なくTBのメッセージを扱うことができる）
- Distributed by Design クラスタは耐障害性のある設計になっている  
\- [Apache Kafkaに入門した](https://deeeet.com/writing/2015/09/01/apache-kafka/)

## Vault (update: 181119)
> Vault を一言で言うと、機密情報(Secret) を管理するツールです。
\- [HashiCorp社が出したVaultとはどういうものなのか](https://kiririmode.hatenablog.jp/entry/20150429/1430279218)

> これまで機密情報は - 格納される場所、メディアがバラバラ - その管理体系もバラバラ - アクセス権限もバラバラ - 誰がアクセスしたかの監査もできない という状態でした。これらを統合的に扱えるようにするシステムが Vault です。
\- [HashiCorp社が出したVaultとはどういうものなのか](https://kiririmode.hatenablog.jp/entry/20150429/1430279218)

## JFrog (update: 181119)
> オープンソースのソフトウェア配布ツールを作っている
\- [ソフトウェアの配布過程を自動化するJFrogが$50Mの巨額を調達して飛躍を目指す](https://jp.techcrunch.com/2016/01/21/20160120jfrog-takes-big-leap-forward-with-50-million-round/)