LINE DEVELOPER DAY 2019 note

[LINE DEVELOPER DAY 2019](https://linedevday.linecorp.com/jp/2019/) に行ってきたのでメモ。
スライド一覧は [ここ](https://speakerdeck.com/line_devday2019) 。

## 施設
カンファレンスの施設はかなり良かった。椅子の間隔が狭かったことくらい。

- wifi
- 全セッション通訳レシーバー jpn/en
- 水 （ペットボトル、紙コップ）
- お菓子 （kitkat, チロル, 生八ツ橋, etc.）
- 弁当 （食べる場所は適当だけど個人的には気にならない）
- トイレが今まできたカンファレンスで一番すごかった

## 個人的な感想
- [keynote day1](https://speakerdeck.com/line_devday2019/line-devday-2019-keynote) はセキュリティ、機械学習、データプラットフォームとかの広くエンジニアリングの話で特にこれという感じに個人的に刺さる key は感じなかった
- [keynote day2](https://speakerdeck.com/line_devday2019/opening-day2) はカルチャーの話があって以下がいくつかのセッション通じて共通して感じた話題
    - [line style](https://linecorp.com/pdf/ja/LINE_STYLE_BOOK.pdf), autonomous team (self organized なチーム), enjoy the challenges 
    - 他のセッションでもカルチャーを背景に感じた話がいくつか （ここら辺を会社として舵取りして (line style みたいな) 浸透させるのが強そう）
      - self organized: 全社横断組織の戦略[^1]や self organized なチームにできた[^2]話とか
      - challenge: 技術的課題に対しての取り組み [^3] [^4]、新しくはじめる [^5]
      - fail: fail → improve [^2] [^5]

[^1]: Project Management & Agile全社横断組織の戦略と事例
[^2]: 自動テストとZipkinを活用したマイクロサービスの障害検知の仕組みの構築
[^3]: LINEの次世代SDNアーキテクチャー
[^4]: LINEの独自LBaaSを支えるソフトウェアエンジニアリング
[^5]: 新規プロジェクト立ち上げ！ウォークスルー決済を実現したトライ＆エラー文化

## 参加したセッションメモ
### [Strong customer authentication & biometrics using FIDO](https://linedevday.linecorp.com/jp/2019/sessions/D1-1)
https://speakerdeck.com/line_devday2019/strong-customer-authentication-and-biometrics-using-fido

fido, web authn, kyc など個人的にあまり馴染みないものが出てきたので要確認。


### [LINEの次世代SDNアーキテクチャー](https://linedevday.linecorp.com/jp/2019/sessions/E1-2)
https://speakerdeck.com/line_devday2019/lines-next-generation-sdn-architecture

common services (dev/prod infra), fintech services (exclusive infra) のようにネットワーク要件が違うので柔軟なものが必要。
枯れてない srv6 を選択して標準化に関わるところまでいけるエンジニアリングの強みを感じたセッション。

### [LINE NEWSの記事配信を支える技術](https://linedevday.linecorp.com/jp/2019/sessions/C1-3)
https://speakerdeck.com/line_devday2019/technologies-that-support-the-distribution-of-line-news-articles


### [Kubernetesの利用・普及、その先は何か?](https://linedevday.linecorp.com/jp/2019/sessions/C1-4)
スライド :question: 

- 世の中の流れ
  - container global 73%, japan 9.2%
  - k8s 40%, -
- zlab
  - 3ヶ月ごとのバージョンアップに追従
  - なぜ k8s を選定した？
      - zlab ミッション：いけてるインフラを作る
      - cn trail map (当時なかった）
      - 創業時から着目、portability & reporducibility, immutable infrastructure
      - 問題: オーケストレーション -> de facto k8s in 2019 -> 2015 はまだわからんかった -> kubernetes の将来性にかけた（スポンサー、コントリビューター、対応体制・速度、コミュニティ成熟度）
  - 2016: sandbox 環境作った -> 運用がハードだとわかった
      - 運用保守コスト：kubernetes 運用 + VM の運用
      - zlab はソフトウェア開発集団なので caas 作ることにした
      - 開発：4人
          - iaas openstack
          - agility : 欲しい時にすぐ
          - self-healing: vm & kubernetes
          - rolling update: 無停止
          - scale out/in
          - availaility: etcd backup, restore
      - どう作るか？
          - reconciliation を使う (今の crd)
          - caas が spof になるのを防ぐために caas 自身も作成させる (よくわからなかった)
      - 開発 1 年後 caas beta を提供開始
  - どうやって普及させた？
      - maybe you don't need kubernetes
      - 流行ってるから使いたい -> （現実）使うのが大変、キャッチアップ大変
      - 本当に必要か？
         - 目的要件、学習コスト・運用コスト
         - alt. vm, saas, paas, faas
         - あとから k8s でいいんじゃない？
      - zlab カスタマーサクセスチームを編成、ヤフー側にも CaaS 専属の CRE チーム
          - 教育啓蒙アドオンサポート
          - オフィスアワー、ベストプラクティス、アドオン提供、プロジェクトの直接サポート
          - 精通するエンジニアを増やして別組織に伝えてもらう、というのを信じてるからやった
  - どうなったか
      - 結果二年で爆増（2017 5, 2018 50, 2019 400 クラスタ)
          - vm 5500
          - pod 37000
          - containers 50000
  - これから
      - マルチクラウド、ハイブリッド（anthos, aws outposts）の実現の手段にコンテナ・k8sがある
      - k8s のユースケースも増えてる (kubeflow, edge, spot, iot, kubevirt)
      - k8s 上のプラットフォームの出現
      - zlab が取り組むこと
          - k8s すら使いたくない -> paas/faas (on k8s) つまり noops - serverless
          - stateful app on k8s （検証・予算、バックアップ・マイグレーション、権限管理）
          - ゼロトラストネットワーク （ワークロードごとに動的な認証認可方式）
 
### [Reliability Engineering Behind The Most Trusted Kafka Platform](https://linedevday.linecorp.com/jp/2019/sessions/A1-4)
https://speakerdeck.com/line_devday2019/reliability-engineering-behind-the-most-trusted-kafka-platform

### [Cloud Native Challenges in Private Cloud with K8s, Knative](https://linedevday.linecorp.com/jp/2019/sessions/C1-6)
https://speakerdeck.com/line_devday2019/cloud-native-challenges-in-private-cloud-with-k8s-knative

### [LINEの独自LBaaSを支えるソフトウェアエンジニアリング](https://linedevday.linecorp.com/jp/2019/sessions/F1-7)
https://speakerdeck.com/line_devday2019/software-engineering-that-supports-line-original-lbaas

### [新規プロジェクト立ち上げ！ウォークスルー決済を実現したトライ＆エラー文化](https://linedevday.linecorp.com/jp/2019/sessions/E2-1)
スライド :question: 

[横田deGO](https://dev.classmethod.jp/rd/yokota-de-go/) の話。

- 海外では it 企業が事業を始めるようなことが始まっている (今回のテーマ amazon go)
- X年で amazon から学んだこと
  - 成功を保証しない、失敗コストの最小化、小さな失敗、利用者に使ってもらいフィードバックを得る、というようなことを高速に繰り返す
- （実践） amazon go の体験がよかった → やってみよう
  - 2018/05 amazon go 体験, 2018/06 メンバーアサイン, 2018/07 展示 というスピード感 （高速なイテレーション）
  - （提示した仕様）妄想動画＆妄想図ポンチ絵, つまり顧客体験のみ
      - パーツに担当割り当てる
      - 失敗してもいいというメッセージが大事
- できた! ので次に進める → シーズン２, 3, ...
  - シーズン2: 新メンバーアサイン -> 展示 1ヶ月
  - シーズン３: 実店舗, ハードは半年かかるが it は二週間で終わる
      - infra $3/day all aws
      - フィードバック → 客・エンジニア・オペレーターが一堂に解するのでよかった
- **まとめ**
  - design
      - experience first
  - principles
      - fast improvement cycle
      - customer feedback
      - think big, fail first
  - with tech (aws)
      - digital twin


### [Project Management & Agile全社横断組織の戦略と事例](https://linedevday.linecorp.com/jp/2019/sessions/A2-1)
https://speakerdeck.com/line_devday2019/project-management-and-agile-strategies-and-examples-of-enterprise-wide-organization

memo. チームで責務境界みたいなのが溶けているのが自律的である → 難しいからサポート

### [Rebuilding Slack Search with Armeria](https://linedevday.linecorp.com/jp/2019/sessions/D2-3)
スライド :question: 

armeria を使って slack search rebuild した話。
requirements. java, multiple protocols (gRPC, thrift, http, etc.), consul, prom, rsyslog, honeycomb, parallelism -> armeria が満たした

### [Journey of Feature Flag development in LINE Android](https://linedevday.linecorp.com/jp/2019/sessions/D2-4)
https://speakerdeck.com/line_devday2019/journey-of-feature-flag-development-in-line-android

### [LINE Pay かんたん本人確認の仕組みとLINEの金融関連サービスとのシナジー効果](https://linedevday.linecorp.com/jp/2019/sessions/C2-5)
https://speakerdeck.com/line_devday2019/mechanism-of-line-easy-identification-and-synergy-with-line-financial-service

### [自動テストとZipkinを活用したマイクロサービスの障害検知の仕組みの構築](https://linedevday.linecorp.com/jp/2019/sessions/B2-5)
https://speakerdeck.com/line_devday2019/failure-detection-of-microservices-with-test-and-zipkin

memo. API を手動でテストしなければならないという勘違いを持っている人は存在する