※ 公開していいところをザクッとメモった備忘録です。
Date/Place
2018/07/31@Kyash
開発環境をDockernizeした話
技術スタック
- ServerSede:go
- MicroService
- AWS
開発環境の構築手順書
Dokcerの構造
- 各コンテナにIPを割り振っている。
- DBにアクセスするときはIP制限をかけている。
Realize
- https://github.com/oxequa/realize
- hotreloadingのために利用している。
- webUIは使用してない。
- yamlで設定可能。
- 編集内容をすぐ見れる。
Docker化してよかったこと
- 構成管理をコード化
- コマンド一発ですべての環境が立ち上がる。
- Imageの共有
今後やりたいこと
- AWSに直でアクセスしている箇所とかDocker化したい。
- データ入りのDB Imageを提供できるにしていきたい。(一部なっている)
Kyashのシステム全容
Kyashはクレジットカードのissuer(発行者)でもある。 オーソリングとかクリアリングの業務について説明してもらった上で、
実際のシステム全容
- WebAPI
- フロントエンドプロセッサ(クレカ決済周り)-> ここ、HTTPじゃなくて独自のTCP喋っているらしく、ゴリゴリに実装しているらしいです。
- VISA
- QuickPay
が前段にいて、後ろにMicroservice群がいる。
決済、送金時自動チャージ
※ ここは非公開でした。
パネルディスカッション
※ 全部は載せてません。(追いきれなかったり、非公開情報もあり)
テストについて - 外部環境とのやりとり。 - 基本はmock。 - 外部とは繋がない。
リリース頻度とか?
- 決められたリリースは2週間に一回。
- サーバーサイド周りはサクサクリリースしてる。
運用面
- お問い合わせとか丁寧に応えるよね。
負荷面
- サーバー側はGoで書いてるのであんまり負荷という面はない。
- DB側の最適化が足りてなかった。
APIドキュメントの運用は?
GoのFWは?
- ginとかechoとか。
- 標準のnet/httpを使ってるケースが多い。
- GRPCに寄せていってる最中。
PosgreSQLの理由
- 歴史的経緯
新しくしたい部分とか?
- GRPC化はしていきたい。
- APIDocsもprotoファイルが大体できるし。
マイクロサービスの辛かったところ
- マイクロサービスの切り方を変えようとしても、既存のアセットがガツガツ変わっていくので、結局マージできなかった...
APIは公開しないのか?
- API公開は一プロダクトを出すのに等しい
- ドキュメント
- フォーラム
- API公開は一プロダクトを出すのに等しい
その他
お寿司美味しかったです。 オフィス見学させてもらえました。ルンバが掃除してて可愛かったです。。
社内のホワイトボードのクレジットカードのビジネスモデル全般からKyashのビジネスモデルをPMの方に俯瞰して説明してもらえました。
この領域、色んなプレーヤーが出揃いつつあるけど、みんなそれぞれ解釈を持ってキャッシュレスの世界に貢献していてとてもいい印象を受けました。
感想
とにかく少人数で回している事実がすごかったです。 そして結構公開ギリギリにことも話してくれたり、普段自分の使っているサービスの裏側を知るのはやはり面白いですね。
それにしてもクレジットカードビジネスの仕組み理解してなくて、ここを共通の業務知識として知った上で開発していることは本当にすごいと思いました。
そして最後にこれからもKyashをガンガン使っていこうと思いました。