Questions and feedbacks

KentaYoshitani
KentaYoshitani commented 4 months

IoTのシステムならではのパフォーマンスチューニングの難しさがあれば教えて欲しいです

Like(0)

KentaYoshitani
KentaYoshitani commented 4 months

ちゃんとmetrixをとっているところが印象的でした なん人くらいのチームの時からmetrixの監視を始めましたか?

Like(0)

pokotyamu
pokotyamu commented 4 months

新しい人が join した時に、既に導入されているレールから外れている部分の知識はどんな感じで認識を合わせていますか?

Like(0)

hshimoyama
hshimoyama commented 4 months

命名変更以外の非互換 schema 変更を伴う場合の対応はどのように行っていますか?(versioning?)

Like(0)

ota42y
ota42y commented 4 months

サービスを横断する場合の機能開発時は複数のrails立ち上げ+お互いが疎通できるようなport設定などが発生すると思うのですが、 このあたりの手間をいい感じに省略できる文化とかはありますか?

FiNCでは複数のRailsを立ち上げて開発することがほぼありません。 Railsを複数立ち上げてそれぞれ正しい初期データを入れて開発するのは作業の面でもマシンスペックの面でも難しく、かなり初期の段階から諦めました。 そのため、FiNCではAPIの仕様をしっかりと定義し、他のマイクロサービスは想定した結果を必ず返してくれるという前提のもとで開発していくことが多いです。

ただ、アプリのバックエンドとしてAPIを作ることが多く、別サービスへのアクセスをモックしたユニットテストで開発がほぼできるという前提があります。 そのためフロントエンド開発では必要最低限のサービスを同時に立ち上げることがあり、その場合の知見はそこまで溜まっていないです…

Like(0)

expajp
expajp commented 4 months

「app/service の下に大量のサービスクラスが作成されててわけわからん」ってあるあるだと思うのですが、 app/serviceの下で名前空間を切ったりされていますか?

Like(0)

fursich
fursich commented 4 months

サービスになんでも突っ込む問題はとてもあるあるだと思って共感しました。

サービスが腐らないために、コードレベルで「これはやりすぎじゃないか」、「これが見えたらやめたほうがいいのでは・・」という具体的なガイドラインとか、チームで大切にしているcode smellのようなものはありますか?

Like(0)

youchan
youchan commented 4 months

Rubyで実装しなかったのは何故でしょう?今日話された範囲だとRubyでサクっと実装するのもありですね。 言語の選択に何を重視したのか教えていただけますか。

Like(1)

ota42y
ota42y commented 4 months

3人スタートアップだとどれくらいの数のマイクロサービスだと行けそうでしょうか?(一概には言えないと思いますが、今までの経験からのお答えで大丈夫です)

それぞれのマイクロサービスの規模やフロントにどれくらいの重きを置くのか、変更がどれくらい行われるのかとかでもの凄くぶれますが、2〜3個が現実的にできる数かなと思います。

Like(0)

takkanm
takkanm commented 4 months

業務ドメインもお客様によって様々なので、そのプロジェクトに入ってから学習しながらすすめていく形です。 ほんとに知識がない分野なら、一度業務の学習のためにスパイクして理解を深めるということをします。 こういったことができるように、素早く自分の手が動くという状態にしておくというのを私は重視しています。

Like(1)

ota42y
ota42y commented 4 months

別の組織が作った別のサービスの更新が把握できずにトラブルになったりしましたか?また、その対策としてサービス横断で連絡するしくみを設けたりしていますか?

APIの破壊的変更や挙動が変わったことによる障害みたいなのは過去はたびたびありました。 ただ、他のチームの変更に追従を必須とすると他のチームの実装完了になるまで新しいAPIをリリースできなくなるため、マイクロサービスの数が増えると現実的ではないです。 FiNCでは基本的には過去のAPIの後方互換性は崩さず、そのような場合は新しいバージョンのAPIを作ってそっちに移行を促すという方針で行っています。 この方針ではチームは新しいAPIを気にせずリリースできますし、古いAPIを利用するチームは自分たちのタイミングで移行ができるようになります。 変更したいチームが使っているチームに対して直接通知したり、基盤に近いものに関してはプレゼンの中にもあった横断的に課題解決をする集まりで通知しています。

ただ、古い仕様をなかなか捨てられなかったり、deprecated連絡をするのが大変だったりと多少の問題が残されているため、何手か更に対応が必要かなと思っています。

Like(0)

katsuma
katsuma commented 4 months

gRPCの利用は検討されたのでしょうか?

Like(0)

bake0937
bake0937 commented 4 months

モックのAPIやAPIドキュメントを作る作業はフロントエンドチームとバックエンドチームが共同で作る体制でしょうか?

Like(0)

nard-tech
nard-tech commented 4 months

controller の数が随分多いと思ったのですが、DHH流の分割をしているのでしょうか?

Like(0)

pokotyamu
pokotyamu commented 4 months

タイムラインはホワイトボードなどにレトロスペクティブの前にみんなで、書いているんでしょうか? チームでどんな感じで管理して、レトロスペクティブに組み込んでいるかが気になりました。

Like(0)

nard-tech
nard-tech commented 4 months

Tシャツのサイズ見積もりについて詳しく聞きたいです

Like(0)

ota42y
ota42y commented 4 months

Railsはサーバとして立ち上げるのはnodeなどに比べると煩雑な気がしますがそのようなRailsとマイクロサービスのかみ合わせの悪さみたいな経験があったりしますでしょうか?

FiNCはほぼ全てのマイクロサービスがRailsでできているので、インフラ面では特に困ったことは無いです。

アプリケーション面では、確かにFiNCにおいて必要な設定やgemを入れるのが大変なのですが、社内用のアプリケーションテンプレートを使ってすばやく作れるようにしています。 https://www.slideshare.net/takafumionaka/applicationtemplate

また、最近はdocker-composeで開発環境が整うようにする動きが起きていて、新しく入った人でもとりあえず作業ができる状態までの時間は短くなるような対策を打っています。

なのでRailsでマイクロサービスの立ち上げが困難というのはあまりないです。

Like(0)

anonymous
anonymous commented 4 months

スプリントに入る入らないをどう判断しているのかが気になりました。 ストーリー毎にポイントで見積っているのか、なにか別の方法でやっているのか教えてください

Like(0)

expajp
expajp commented 4 months

「ユビテック」ではドメイン知識のみの共有会なのでしょうか?最近の技術トピックや読書会は行っていませんか? また、どのような形式で行っているかを教えてください。モブプロ?LT?

Like(0)

katsumata-ryo
katsumata-ryo commented 4 months

スクラムでベロシティの管理はしていますでしょうか?

Like(1)

anonymous
anonymous commented 4 months

Railsはサーバとして立ち上げるのはnodeなどに比べると煩雑な気がしますがそのようなRailsとマイクロサービスのかみ合わせの悪さみたいな経験があったりしますでしょうか?

Like(0)

morimorihoge
morimorihoge commented 4 months

エンジニアとしての技術視点に近いお話が多かったですが、お客様側の業務ドメインに踏み込んでいくといったことはあまりやらなかったりするのでしょうか?
ビジネスロジック設計~コードに落とし込む間の設計部分なんかをやっていくにあたって心がけていることなどがあれば知りたいです

Like(0)

misogi
misogi commented 4 months

別の組織が作った別のサービスの更新が把握できずにトラブルになったりしましたか?また、その対策としてサービス横断で連絡するしくみを設けたりしていますか?

Like(0)

bake0937
bake0937 commented 4 months

3人スタートアップだとどれくらいの数のマイクロサービスだと行けそうでしょうか?(一概には言えないと思いますが、今までの経験からのお答えで大丈夫です)

Like(0)

8398a7
8398a7 commented 4 months

サービスを横断する場合の機能開発時は複数のrails立ち上げ+お互いが疎通できるようなport設定などが発生すると思うのですが、 このあたりの手間をいい感じに省略できる文化とかはありますか?

Like(0)

This software is available as open source under the terms of the MIT License.
Copyright © 2018 Yoshiyuki Hirano