Skip to content

Posts

Yahoo! JAPAN Tech Conference 2019 in Shibuya

Yahoo! JAPAN Tech Conference 2019 in Shibuya

https://techconference.yahoo.co.jp/2019_shibuya/?cpt_n=2019_shibuya_promo&cpt_m=web&cpt_s=passmarket

3年連続3回目の参加。 毎年会場が変わって、今年は渋谷です。表参道駅から歩きましたが。。

基調講演 13:00 - 13:45

藤門 千明 取締役 常務執行役員、CTO(チーフテクノロジーオフィサー)

  • https://www.slideshare.net/techblogyahoo/yjtc19-in-shibuya-yjtc
  • 「未来を、共に創ろう」
    • ユーザーアクションの最大化
    • オフラインにも進出(PayPay)
    • MUU5049万、MUB9302万, DR1132億
  • 未来をす作るためになければならないもの
    • AI,データ
    • 価値を届けるスピードを大事にしている
      • 5年前は鈍化していた
      • モダナイゼーション
  • 過去のモダナイゼーション
    • 失敗例
      • 2013年、アプリケーションライフサイクルマネジメントの実現
        • 常に最新のOS.HW・SWへ追従するための土台づくりが未完了
      • うまく行かない3つのレガシー
        • マインド、テクノロジー、習慣のモダナイゼーションを同時並行してすすめる
  • マインドのモダナイゼーション
    • 2015年12月、決起集会を開催を2000人集めて実施
    • 会場はここ(ベルサール渋谷ファースト)だった
    • トップからメッセージング
    • 自分ごと、オープン化、チャレンジ
    • 仮想化、CIのチャレンジが成功したのは、潜在的にエンジニアがいたから
  • テクノロジーのモダナイゼーション
Baseball Play Study2019冬 シーズン振返りスペシャル(BPStudy#148)

Baseball Play Study2019冬 シーズン振返りスペシャル(BPStudy#148)

https://bpstudy.connpass.com/event/152350/

野球系IT勉強会です。

LT18本+始球式という、先日のgolang.tokyo LT大会を上回る本数。。 の予定でしたが、緊急登板回避が3名発生したため、始球式合わせて16本になりました。

感想:次回も参加したい。

始球式(18:44〜18:49) 2020年に向けて 中日ドラゴンズ与田剛監督へ1つの提言

佐藤治夫(Twitter: @haru860)

昨年12月の開催で中日ドラゴンズ与田新監督就任にあたり、2つの提言をさせていただきました。

Read more

golang.tokyo #28

golang.tokyo #28

https://golangtokyo.connpass.com/event/156678/

LT大会(16本!)です。

19:00 ~ 開場・受付

19:30 ~ 19:40 オープニング・乾杯

  • yappli

19:40 ~ 19:45 LT1: [仮]wire.goをプロダクトで使ってみた

bieshanさん

  • DIツール
    • 依存関係のコードを生成してくれる
  • wire使い方イマイチ理解していないので助かる
  • 型を見て生成しているので、同じ定義だとどちらを使っていいか判断できない
    • 型の名前を変えれば良い
    • 内部まで書き換えに行く?
      • 構造体でラップしてあげれば良い

19:45 ~ 19:50 LT2: 作業効率アップ!便利なTUIツール5選

ゴリラさん

19:50 ~ 19:55 LT3: Twitter を自由自在にフィルタリングする Twilter を作った

kawasin73さん

  • tweetbotおすすめ
  • フィルタした結果をRTするBOT
  • 鍵垢(BOT)でRTしてそれをフォローしておく運用
    • 鍵垢じゃないとRTするたびに相手に通知が飛ぶ

20:00 ~ 20:05 LT5: go toolを使ってインライン展開をのぞいてみる(仮)

tutuzさん

  • objdump(標準ツール)で逆アセンブリできる
  • インライン展開しない場合の実行コスト
    • 5倍くらいになる場合もある
  • 複雑なものは展開されない

20:05 ~ 20:10 LT6: Markdown内のコードだって美しくしたいんだ!!

po3rinさん

20:10 ~ 20:15 LT7: gRPC周りで困ったこととその解決方法

Go Sagawaさん

20:15 ~ 20:20 LT8: (仮)初めてGoで開発してみて思ったこと

rkmathiさん

  • 言語使用や書き方はわかった、実際のアプリケーションはどう書くのか
  • Gopher道場
  • C++やRubyと比べて長短

20:30 ~ 20:35 LT9: [仮]keepAliveのすゝめ

Shogo_Tomiokaさん

20:16 ~ 20:26 休憩

20:35 ~ 20:40 LT10: マイクロサービスで共用するprivateなエラー&ロギングパッケージを作った

Shohei O.さん

20:40 ~ 20:45 LT11: gRPCのクライアントが絡むテスト

dice_zuさん

  • https://daisuzu.github.io/golang-tokyo-28/#1
  • DI
    • 3rbパーティ性のライブラリが辛い
  • ダミーサーバー
    • コード量が増えて辛い
  • リクエストレスポンスを記録再生する
    • cloud.google.com/go/rpcreplay
    • gRPCクライアントのシグネチャに縛りあり

20:45 ~ 20:50 LT12: Repositoryによる抽象化の理想と現実

sonatardさん

20:50 ~ 20:55 LT13: インフラエンジニアもGolangが書きたい

nwiizoさん

  • Python(Fabric)のSSHクライアントをGoにした話
  • 運用が複雑化するとスクリプトも肥大化していく

20:55 ~ 21:00 LT14: 年末なのでgoを使ったプロダクトを初めてリリース・運用した1年を振り返ってみる

keitaro_1020さん

21:00 ~ 21:05 LT15: Transform Go error handling using AST inspector

Hidetake Iwataさん

21:05 ~ 21:10 LT16: Go基礎力に効く標準ライブラリContext徹底理解。あなたはContextの挙動を説明できますか?

shibu_jpさん

19:55 ~ 20:00 LT4: Write Kubernetes Custom Controller in Go

morito_ikedaさん

  • kubernetes-sigs/controller-runtime
  • 割とかんたんにカスタムコントローラーが作成できる

21:10 ~ 21:35 懇親会

21:35 ~ 21:45 結果発表

21:45 ~ 21:55 終了・撤収

Kubernetes Meetup Tokyo #26

Kubernetes Meetup Tokyo #26

今回は 2019/11/18-21 で開催された KubeCon + CloudNativeCon North America 2019 の Recap 会だそうです。 どちらも参加していないのでどんな話が聞けるのか楽しみです。

https://k8sjp.connpass.com/event/155240/

18:15-19:15 受付開始

19:00-19:05 Opening (5min)

19:05-19:20 KubeCon + CloudNativeCon North America 2019 Overview

Ian Lewis (@IanMLewis), Google

  • 2つのイベントが同時開催だった
  • 次回登壇したいヒトは明日までCFP受付中
  • 12000人くらい。去年は8000人くらいだった。
  • 女性11%はDev系カンファレンスでは多い方
  • 関連イベントたくさん(スライドに入り切らない)
  • CNCF End User Community
    • 日本の企業もいくつかある(もっとある?
  • Kubernetes Project Update
    • 1.16
    • Ephemeral Containers
    • 毎月3000人以上がコントリビュートしている

19:20-19:40 Your Path to Production Ready Kubernetes hosted by Weaveworks

土田 智大 (dullest), 楽天株式会社

19:40-20:00 Keynote: Seamless Customer Experience at Walmart Stores Powered by Kubernetes@Edge

Junichi Yoshise (@jyoshise), Hewlett Packard Enterprise

  • Walmartの決済の話
  • POSシステムをクラウド化した(4年前)
  • 通信コスト削減のためにエッジに処理を一部移動させる
  • クラウドネイティブ化の動機
    • Dynamic deployment
    • Scalability
    • Resiliency
    • Observability
  • エッジコンピューティングの動機
    • Low latency
    • Massive data
    • Privacy security
    • Local autonomy
    • Devices
  • MEC(Mobile Edge Computing)
  • データの同期
    • Edgeとクラウドで整合性が取れていないといけない
      • 商品の金額とか
  • 物理的な制約
    • 各店舗にラックマウントサーバーを設置している
    • 基本的にEdge環境では、過酷な環境でメンテナンスフリーに近い形で稼働し続けなければならない
  • K8sクラスタの更新
    • 遠隔地のクラスタ自体のデプロイを集中管理する仕組みが必要
  • MECでは、端末は移動する前提
  • スマートじゃないデバイスへの対応
    • KubeEdge
      • Device Twin
  • アプリケーションのデプロイ
    • GitOpsが最適
    • WalmartはCDエンジンを自作
      • 今ならArgo flexやTectonが使える?
  • Security
    • Secret管理
      • Vaultから撮ってきたsecretをetcdに一時的に保存するoperationを自作
      • クラウド側のみだとネットワーク切れたら使えなくなってしまうので

20:00-20:20 Running Apache Samza on Kubernetes - Weiqing Yang, LinkedIn Corporation

吉村翔太 (@yosshi_), NTT Communications

  • samza
    • もともとはLinkedinが作ったストリーミング処理OSS
    • 似たものにSparkやFlinkがある
  • 最近のHadoopの動向
    • オンプレで使う場合はディストリビューションを使う。主なものは3つ
    • ClouderaとHortonworksが統合。2021年くらい?
    • ClouderaDataPlatform
      • AWSをサポート。AzureとGCPも近々
  • KafkaがHDFSなら、SamzaはMapReduceに当たる存在
    • KafkaもLinkedinが開発したOSS
    • Message queue, Message hub

20:25-20:55 懇親タイム sponsored by Yahoo! JAPAN

20:55-21:15 How Yelp Moved Security From the App to the Mesh with Envoy and OPA

鳥居隆史 (@ttorii0609), Dell EMC

  • Security
    • K8s is NOT secure by default
      • 基本フルオープンなので、ザル。
      • 9個のプラクティス全部やれ
    • K8sのセキュリティは今アツい
  • Open Policy Agent(OPA)
  • mTLS
  • OPAを使うにあたっての課題
    • OPA Policy Managerを作った
  • セキュリティを考えるとサービスメッシュは必要
  • Scope Creep
    • 要件がどんどん広がっていく様

21:15-21:35 The Release Team Shadow Program - Mentoring For the Future - Guinevere Saenger, GitHub & Lachlan Evenson, Microsoft

Yang Li (@idealhack), Kubernetes community

OCHaCafe Premium#1:Oracle Cloudで考える高可用性アーキテクチャ

OCHaCafe Premium#1:Oracle Cloudで考える高可用性アーキテクチャ

https://ochacafe.connpass.com/event/152768/

番外編の第1回。高可用性の話です。

18:30 受付開始 

19:00 オープニング

19:10 セッション開始

  • https://speakerdeck.com/mmarukaw/oracleclouddekao-erugao-ke-yong-xing-akitekutiya
  • データセンター電源障害の話から
  • OCIはまだ日本に来てから日が浅いこともあり、大規模障害はまだない。
    • 海外ではあった
  • Design For Failure
    • サーバーは落ちる前提で考える
    • クラウドベンダーの保証はSLAの範囲内まで
    • アプリケーションの最終責任はユーザーが負う
    • 高可用性のためのコストと複雑性を、軽減できるリスクに対してバランスを取る
  • 高可用性とは
    • システムが継続して可動できる能力が高いこと
    • クラウドでもオンプレのときと考え方は同じ
    • クラウドの特性として高可用性を比較的低コストで実現できる
  • 障害のレベル
    • 機器障害
      • プロセスだったりハードウェアだったり
    • サイト障害
      • DCレベル
    • 広域災害
      • 地域まるごと
  • クラウドのリソースが備える特性を活かす
    • 本質的に堅牢なOCIリソース
      • オブジェクトストレージ
        • 耐障害性、安価、各種サービスとの連携
      • ロードバランサー
        • トラフィックの高可用性
        • サイトレベルの耐障害性
      • OKE(K8s)
        • クラスタとノードプールの自己回復
      • Exadata Cloud ServiceとAutonomous Database
        • Oracle Databaseの高可用性プラクティスが詰め込まれている
        • RACでスケール
      • OCI DNS
        • グローバルレベルの耐障害性
    • ユーザーに寄る高可用性実装を支援する
      • リソース配置
        • リージョン
        • 可用性ドメイン(AD)
          • データセンター
          • 東京はまだ1つなので、AZ障害イコールリージョン障害
          • データセンター間の通信は低レーテンシー
        • フォルト・ドメイン
          • DC内のサーバラック群をグループ化したもの
          • 仮想サーバーを別々の物理サーバーに配置したいときに有効
      • リソースの有効範囲
        • グローバル>リージョン>可用性ドメイン>フォルト・ドメイン
        • リージョンレベルのリソース(VCN)でリージョンまたぎをしたいときはピアリングをする必要がある
        • リージョナルサブネットというのがある

19:43 10分休憩

ビール投入

Read more

Bonfire Backend #4

Bonfire Backend #4

https://yj-meetup.connpass.com/event/153658/

初参加です。

19:00 開場・受付開始

19:30 イントロ・乾杯

19:35 ヤフーのナビゲーション系のバックエンドサービスの課題をk8sで解決した話

高木 克彰(@tkgtransit) ◆ ヤフー株式会社

  • ナビゲーション
    • マップの徒歩ナビ
    • 乗り換えナビ
  • 従来のアーキテクチャ
    • エンジンデータはそれぞれ1台の仮想サーバーが担当
    • C++, Apacke Module
    • 課題
      • IFが異なるだけで基本ロジックはほぼ同じ
      • データ更新に半日
      • 脆弱性対応が多い、手作業
  • 改善後
    • API層を統合
      • 社内PaaSに移行
    • エンジン層
      • 社内CaaSに移行
      • バイナリデータはinit comtainerで取得してオンメモリに展開
    • データの更新はk8sのcronで実行
  • パイプラインはscrewdriver使っている

19:50 プライベートクラウドをk8sで刷新して良かった話

鶴田貴大 ◆ サイボウズ株式会社

  • 自社製プライベートクラウド
    • OpenStackは使っていない
    • Ubuntu
      • 14.04から16.04へのアップグレードに2年くらいかかった
    • コンテナもほぼ使っていない
  • インフラ刷新
    • necoプロジェクト
    • CKE(Cybozu Kubernetes Engine)
    • Certifiedになった
  • 目的
    • 運用コスト低減
    • スケーラビリティ向上
  • K8sを選んだ理由
    • 圧倒的に流行っていたから
  • CoreOS採用
    • コンテナ用軽量OS
  • GitOps
    • Argo CDを使用
  • テナント
    • チームごとに権限を分離
    • ほかテナントに影響しないように
    • 単一のk8sクラスターですべてのテナントを賄っている
  • 開発環境
    • クラスタを共同利用
      • うっかり壊すと大変
    • Kindに変更
      • ローカルPCでも動かせる
  • Teleport
    • 多機能踏み台サーバー
    • ターミナルの入出力を録画できるので、監査に使える

20:10 PFNにおける二種類のKubernetesクラスタ

太田佳敬(@ota42y) ◆ Preferred Networks

  • https://speakerdeck.com/ota42y/pfnniaru2tufalsekubernetes
  • 自社GPUクラスタ
    • 機械学習のためにマシンリソースが必要
    • 2500以上
    • これの制御をk8sで行っている
  • WebApplication用
    • aws EKSに構築
    • EKSを使うほどではないが、K8sを使い慣れているのでECSではなくEKS
  • K8sのNetwork Isolation
    • 1つのクラスタに関係ないアプリが複数同居している
    • 相互通信しないようにネットワーク分離が重要
    • Network Policies
      • PodやNamespace単位で通信を制御できる標準機能
      • アプリケーションごとにNamespaceを分けて相互アクセスを禁止した
      • デフォルトでは通信許可設定なので設定忘れを抑制したい
        • Calicoを利用してデフォルトで通信禁止に設定
          • https://github.com/projectcalico/calico
          • Namespace内部の通信も禁止になるので、そこは許可する
          • kube-systemも許可する。禁止したままだとkube-dnsも使えなくなってしまう
          • orderで優先順位を決める
      • Network PolicyでALBを指定(許可)できない
        • Subnet構成で回避

20:30 小休憩

20:35 K8Sで画像PFを1年半運用してみた振り返り

山田 拓也 ◆ ヤフー株式会社

  • 結論
    • 移行してよかった
  • 旧システム
    • 社内VM
    • リカバリ手動
    • 障害で深夜対応・・
  • 新システム

  • 移行前のシステムを意識しすぎてしまった
    • サーバー構成など
      • Podとコンテナの配置どうする?
        • 一つにまとめてみた
          • 起動遅い
          • 管理も大変
        • 1コンテナ1Podにした
          • 迷ったらこれでOK
    • 監視設定
      • Grafanaの監視項目全部Prometheusに持っていった
        • Grafanaで良くない?
      • 監視の目的から見直す
        • 設定したしきい値も説明できないなら見直す
        • 物理やVMなら必須だった項目もK8sならいらない場合もある
  • Prometheus
    • 予測で設定できる
    • 変化量でも見れる
    • Alertmanager便利

20:50 k8s初心者がgRPC × envoyを導入したら色々苦労した話

信原 有志 ◆ ヤフー株式会社

  • サービスの課題
    • ドメインごとにチームが別れていて、それぞれ別の言語で開発していた
    • モノリス
    • 共通コンポーネントをチームごとに実装すると非効率
      • 共通コンポーネント配信システムを構築した
  • 不具合
    • ローリングアップデート時のコネクションエラー
      • glaceful shutdownが正しく動いていない?
        • 負荷を下げて検証
          • 解決できず
      • IPテーブルの更新に遅延?
        • 検証しても解決できず
      • envoyのIPが更新されない?
        • ZipkinでTraceIDから照合して検証
          • これ
      • 対策
        • envoyでのgRPC health_checkの設定をちゃんとやる
        • nodejsアプリにも削除用のエントリポイントを追加
  • 内部の動きをきちんと理解できていなかったのが原因

21:00 懇親会

22:00 終了

IIJ Technical DAY 2019

IIJ Technical DAY 2019

https://iij.connpass.com/event/151720/

https://eng-blog.iij.ad.jp/archives/4102

IIJmioでお世話になってます

2003年から毎年開催しているそうですが、初参加です。

インフラ周りはあまり直接触れることがないので、どこまで話についていけるか。

13:30 ~ 13:40 開会のご挨拶

IIJ 取締役 CTO 島上 純一

  • 技術を通じてIIJを知ってもらいたい

13:40 ~ 14:20 講演1「安全なデジタル通貨流通を支えるアーキテクチャとエンジニアリング」

ディーカレット テクノロジーグループ マネージャ 河津 拓哉

  • ブロックチェーンの話
  • 価値の
    • 保管
    • 交換
    • 送受
  • サービスアーキテクチャ
    • APIゲートウェイを挟んだマイクロサービス
    • 取引の部分が一番大きく、重要
    • 決済の部分はこのサービス独特なもの
  • 認証まわり
    • OpenID Connect の実装
    • Two-way/TLS
    • Restrict(IP Based)
    • Traffic Policy
  • 高信頼性(バックエンド)
    • サーバーの調達から自前で行う
    • 堅牢な設計、完全なコントロール
  • 俊敏性(フロントエンド〜ゲートウェイ)
    • アジャイルな組織・手法で
    • 小さく・速く作ってフィードバックを回す
    • GCPを利用
  • コンテナの話
    • ドメインの分割が一番難しい
    • latestタグやバージョン未指定でのパッケージアップデートはNG
    • rootユーザーでプロセスを起動させるのもNG
  • k8s自前で管理するか
    • とても大変なのでマネージドサービスを使う
    • そうするとIaCが捗る

14:20 ~ 14:30 休憩

14:30 ~ 15:10 講演2「IIJのサーバインフラはここまでやっています」

IIJ 基盤エンジニアリング本部 システム技術部 基盤運営1課長 高畑 雅弘

  • サービス基盤インフラNHN
  • データセンターが抱える課題
    • コスト
      • 土地代が高い、狭い
    • ラックあたりの電力許容量が少ない
      • 建物自体の配電設計や空調も限界
      • 他のテナントと電気の取り合い
    • ラックの収容台数を最大化できない
      • ネットワークスイッチのポート数
    • 供給電力と空調能力のバランス
      • 詰めすぎると空調が追いつかない
        • サーバーファインが回って電力消費が増える
      • 空調に合わせると台数を増やせない
  • コスト低減策
    • 設備投資
    • 運用コスト
  • 土地・電気の問題を解決したデータセンターを作る
    • 土地・建物、電気、空調
  • 事業者向けに最適化されたデータセンターを作る
    • データセンター開発部門とサーバインフラ開発部門が共同で検討
    • ラックの高さを増やせないか?
      • 日本国内では製造されていないが、海外ではある
    • サーバーをより多く搭載できないか?
    • 一度にたくさんのサーバーを納品できないか?
    • 奥行きの長いサーバーを搭載できないか?
      • 最近800mm超えるものがある
      • 配線など考えると1000mmでは足りない
    • ラック前のスペースが狭い
      • ラック設置後の取り出し作業などができなくなる
    • フリーアクセスフロア
      • 年月が進むとケーブルの地層ができてしまう
  • 新しいサーバーインフラを作ろう
    • Open Compute Project(OCP)
      • ハードウェアのオープンソース化を推進している団体
      • 利点
        • 本当に必要なパーツのみで構成することができるので、調達コスト減、電力コスト減
        • 個別に機能を実装してもらえる可能性がある
        • 交換可能なパーツ交換に工具が不要
      • 欠点
        • 為替の影響を受ける
        • 専用ラックと電源が必要
        • テストは利用者側が実施する
        • 保守は自前でパーツ交換のみ
        • メーカーとのやり取りは英語や中国語
      • 調達コスト・消費電力ともに減

15:15 ~ 15:35 コーヒーブレイク

  • 神楽坂「亀井堂」のパン

15:35 ~ 16:10 講演3「Untangling the world-wide mesh of undersea cables:世界に張り巡らされた海底ケーブルネットワークをひもとく」

IIJイノベーションインスティテュート(IIJ-II) 主任研究員 Zachary Bischof (ビショフ ザカリー)

  • 海底ケーブルを使った通信は99%
  • 障害が起きて孤立化することも
  • なぜ今海底ケーブルの研究をしているか
    • ケーブルのEOL
    • 自然災害
  • ケーブルが長くなれば事故のリスクも増える
  • tracertではどの海底ケーブルを通っているかまではわからない
    • わかるようにしたい
      • ルーターの物理的な位置を特定する
      • RTTをもとに海底ケーブルを使っている可能性がある場所を推測する
      • 地上の距離を測る(Google map)
      • 過去のケーブルアクティビティデータをもとに推測する
    • こうすることで、どのケーブルが重要なのかが見えてくる

16:10 ~ 16:20 休憩

16:20 ~ 17:00 講演4「セキュリティ動向2019」

IIJ セキュリティ本部長 齋藤 衛

  • 標的型攻撃
    • 2003〜2008年頃は政府機関が対象、2011年以降に中小企業も狙われてきている
    • 暗号資産関連組織が狙われる
  • ランサムウェア
    • 最近は検出数が減少傾向
    • ターゲットが絞り込まれている
      • 公共サービスや医療機関など身代金を払いそう(払わざるを得ない)なところ
  • DDoS攻撃
    • SYN/ACK攻撃
      • 正常な通信との判別が難しい
    • 恐喝DDoS攻撃
      • 20〜30Gbps程度の攻撃でもネットワークによっては影響ある
  • フェイクニュース
    • 正月のカニ
    • 本物の情報でも、順番を並べたりすることで受け取りての印象操作をすることができる
      • Facebookが実験した
    • マイクロターゲティング広告
      • ネット上の行動履歴など個人情報を詳細に分析できるようになってきている
    • ブレグジット問題
    • なにかの判断は原典にあたってから実施しよう

ここまでで家の用事のため撤収。データセンターの話面白かった。

Read more

2019年11月定例会「5G最前線とローカル5G」

https://japan-android-group.connpass.com/event/152293/

5Gのことを知りたい。

日本アンドロイドの会

5G最新情報及びローカル5G

5GMFアプリケーション委員会利用シーンWG主査 高野 雅晴 様

  • 5GMF: 第5世代モバイル推進フォーラム
  • 会社紹介
  • InterBEE2019の登壇資料をもとに
    • 移動通信しっステム、10年ごとに進化している
    • 6Gも研究開発がはじまっている
      • 2030年に向けて
    • トランプ大統領のおかげで認知度が上がった
    • 利用イメージの絵は国際的に評価が高い
  • 5Gとは
    • 低遅延
    • 超高速
    • 多数同時接続
  • キーコンセプト
    • Satisfaction f End-to-End Quality
    • 究極の超柔軟性
  • 周波数を上げる
  • ビームフォーミング
    • 端末狙い撃ちして無駄を省く
  • 低遅延のために
    • モバイル・エッジ・コンピューティング(MEC:めっく)
    • 最初はゲームで実用化される?
  • ネットワークのソフトウェア化
    • オーケストレーションを誰がやるか
      • Parallel Wireless
  • 5G時代に向けたアプリケーションの検討
  • 週刊ダイヤモンドの特集が興味深い
    • 日本においては普及はゲーム、動画から
  • ローカル5Gで大学が特区的になる?
  • speedtest.net
    • 5GMAPでどこでサービスしてるか見れる
    • youtubeにテストしてるユーザーの動画も上がっている
  • ローカル5G(プライベート5G)
    • 制度化は日本が進んでいる
    • 設備投資はあるが、通信課金はない
    • 28GHz帯の電波は使い勝手が悪い
      • 雨が降っただけでダメとか
    • 普及はまだ先の印象

LTE Cat-M1の最新情報

日本Androidの会 運営委員 鈴木 直康 様

  • キャリアごとに呼び方が違っている
  • IoT
    • 2011年頃から
    • Bluetoothでの通信がメジャー
    • BLEを使った弱点 -送信距離が数十メートル
      • 電力供給のために線を引かないといけない
    • サブギガ(910~920Mhz)が注目されている
  • LTE-M(eMTC)
    • キャリアのインフラを使用する
    • デバイスだけ開発すれば良い
    • モジュールを機器に組み込めば良い、が実際はノイズ対策など必要
    • 屋外の場合は防水対策も必要
    • 低消費電力にする技術
      • eDRX(基地局確認時間拡張技術)
        • 基地局の確認する間隔を伸ばす(最大43分)
      • PSM(Power Saving Mode)
        • 受信はできないが、送信しない間電源OFFに近い状態にする
      • Repetition(繰り返し送信技術)
        • データロストを防ぐため、同じデータを複数回送って基地局側で合成する
    • 弱点
      • ハンドオーバーできない
        • 置きっぱなしを想定しているため
        • 基地局境界に端末があった場合に問題
          • モデム再起動して接続し直す必要がある
      • 現在出ているQualcommのチップは、低消費電力設計されていない
        • 低消費な製品は2020年秋以降になるらしい
  • Androidと5G
    • GoogleはNR(New Radio)と呼んでいる
  • ローカル5G
    • 鉄道、路線が並走しているところは早いものがち

LINE DEVELOPER DAY 2019

https://linedevday.linecorp.com/jp/2019/

  • 5回目の開催とのことですが、初参加です。

10:40- Keynote

Euivin Park / LINE CTO

  • LIFE with LINE
    • 今年だけで20以上のサービスをリリース
    • 金融系のサービスも多い
  • LINE MINI App
    • 飲食店での例
  • Natural Experience with AI
    • 2 Principles for Handling Data
      • To keep “Privacy Fitst”
      • To Avoid Data Silos
    • Unified Self-Service Data PlatformO
  • AI
    • 二千万次元
    • 受付の顔認証はiPadの機能を使っていた
    • 自分専用フォント
      • 500文字?くらいで作れる
      • 鳥海さんの話ででていた基本文字みたいなの書くのかな?
      • APIを来場者に先行提供
  • Natural Language Processiong, STT/TSS
    • レストランの予約ができる音声合成AI
    • 今日から実店舗で稼働開始
  • Video Analysis
    • 動画を解析して字幕つける
    • まだ誤認識がある
  • Data Platform
    • Self-Service Data Platform
    • 圧縮して390TB以上毎日蓄積される
    • データサイエンティストの本来の業務ができていないという課題
  • Infra
    • Fast lifecycle infla
    • ピーク時1Tbpsのトラフィック
    • 4万台の物理サーバー
    • Private Cloud : Verda(OpenStack)
      • プライベートクラウドを持つ理由
        • 課題解決に対するイニシアチブ
        • オープンテクノロジーを選択できる
      • インフラのソフトウェア化
        • 不具合に対する対応が早い
        • CI/CDがまわせる
  • セキュリティとプライバシー
    • Privacy First
    • Data GoVernance
      • Responsibility as a Platform
      • 専門チームによるチェック
    • LINE Account Hijack
      • 2段秋人相
      • 行動パターンを分析
      • 約2年で乗っ取り被害が0になった
    • Spam
      • MLを利用
      • Spammerの傾向を学習してフィルタパターンを自動更新
    • Fake News
    • Password Issue
      • fidoを利用
      • パスワードレスを進めていきたい
    • Tracsparency
      • 年2階透明性レポートを公開している
      • 今月15日からBug Bounty ProgramをHackeroneで開始
  • Leading AI Technology

12:00- gRPC service development in private Kubernetes cluster

Keiichiro Ui / LINE Development Team H Server Side Engineer

  • LINE LIVEで利用
  • なぜk8sか
    • トラフィックに対応するために手動でスケールする必要があった
    • オープンなエコシステムに乗ることができる
  • どう使っているか
    • 内部ではgRPCで通信
    • 外部とはEnvoyで変換して通信
  • gRPC-Web
  • 社内の既存サービスとの連携
    • REST APIをgRPCで再定義
      • JSONをgRPCに変換する
  • Istioを使わない理由
    • いくつかのコンポーネントはSpringで間に合う
    • パフォーマンスの問題
      • 1.89msが13.7msとか
  • Databaseとの通信
    • MySQL with ACL
    • 事前にACLへの登録が必要
      • オートスケールとの相性が悪い
      • ACL Managerを作って回避
        • ノード追加をフックしてACLに登録(構想段階)
  • Prometheus
    • 社内の時系列DBにメトリクスを蓄積して使う
    • メトリクス多い問題
      • 既存のプロジェクトからベストプラクティスを模索
  • ログ収集
    • EFK(Elasticsearch+Fluentd+Kibana)
      • Fluentdを使った理由
        • Knativeの要件
        • K8sのaddonが参考になった
    • IMON(LINE社内開発)
      • 通知担当

13:40- Inside of Blog; Light and shadow of the service matured for 15 years and challenge chaos and legacy

Takahiro Omori / LINE Development Team B

  • livedoor blogとline blog
    • 15年の歴史があるのはlivedoorのほう
    • 70+開発者
    • 750+サーバー台数。うち200がdb。
    • 550+テーブル数
    • 43500+ファイル数
    • 3800+プログラムファイル(perl)
    • 410000+プログラム行数
    • サーバー移転
    • HTTPS化
      • サーバー移転終わらないと完了できない(闇)
  • Document Not Found
    • デプロイ方法とか謎になっている
  • Development Server Not Found
    • フローチャートで説明
  • Too Many DBS Records
    • 300+??
    • 230が未使用
  • Too Many Functions
  • Perl
    • v5.8を使い続けている
    • mod_perlのせい
    • v5.16も使っている・・・混在
  • MySQL
    • v4.0を使い続けている
    • いろいろ使えない機能が多い
  • blogの特殊な事情
    • 文字コードセットの混在
    • これのせいで正規手順でMySQLのバージョンアップができない
  • line blog
    • 2015年11月リリース
    • 当初はlivedoor blogのASPとして稼働
    • 2016年11月の一般公開で独立
    • livedoor blogからforkしたので、libedoorの闇も引き継いでいた
  • Next 15 Years
    • 今担当しているサーブ素を10年、15年後に担当するメンバーが苦労しないよう心がける
    • 小さなことから

14:30- Technologies that support the distribution of LINE NEWS articles

Daiki Inaba / LINE Development Team I Software engineer

  • 68M MAU / 12B MPV
  • PerlとJavaで動いている
  • レコメンド配信はSpring(Java)で動いている
  • MLと手動でのレコメンドを行っている
  • MLのレコメンドは社内のDataLabで生成されたものを使っている
  • 当初はMLのみでレコメンドしていた
  • レコメンドデータのインポートの課題
    • 1億人のデータを1時間ごとに
    • 並列処理(20スレッド*3台)で実施
  • 初期実装の問題
    • スケーラビリティ
      • マッピングデータの形式変更
      • 記事IDではなく、ユーザーIDをキーにした
    • 運用コストが高い
      • ユーザーIDの抽出をCMSでできるようにした
      • 分析チームに依頼せず、属性フィルタで抽出する
  • 今後
    • レコメンドクオリティ
    • リアルタイムフィードバック
      • 現在A/Bテスト中

15:30- Data Science drives improvement of LINE messenger

Taro Takaguchi / LINE Data Science Team2 Senior Data Scientist / Manager

  • Usrs First
  • Data Driven
  • Diverse Team
  • In-house Development
  • User Research
    • 対面インタビュー、インター別途アンケートなど
    • 数値モニタリング
  • Plan & Development
    • 取得するログの定義など
  • Test & Feedback
    • A/Bテスト
    • 結果の分析
  • アプリの使われ方が多彩
  • 単独のKPIが設定できない
  • Core Value of LINE App
    • Closing the Distance
      • グループ機能
  • グループ作成のフローでABSCESSテスト
    • 先にグループ名とアイコンを決める
    • 先にメンバーを決める
    • どちらも大差なかった
    • 招待メンバーの選択IFに問題があった
    • 最近話した相手を上位に表示
      • グループ作成完了までに時間が優位に短縮
    • グループ名設定とメンバー選択を同じ画面に
      • ネガティブ
  • Data Science Tools
    • OASIS

    • LIBRA
      • データ抽出
    • LIBRA REPORT
      • テスト実施中のダッシュボード
    • R Shiny
      • ダッシュボードその2
    • Conflr
      • コンフルに共有するOSS

16:20- Introduction to XXE, SSRF, Insecure Deserialization

Hiroshi Tokumaru / EG Secure Solutions Inc. President

  • XML外部実体参照(XXE)
    • アップロードされたXMLを表示するパターン
      • ファイルパスを指定したらそれが表示されてしまう
      • URLを指定したらその内容が表示されてしまう
    • 対策
      • XMLの代わりにJSONを使う
      • 信頼できないXMLを解析しないことが大事
      • DTDを禁止する
      • PHPならlibxml2 2.9以降を使うとデフォルトで対策されている
      • RubyのREXMLは標準で対策済み
      • テストしてみるのが確実
  • SSRF
    • 直接アクセスできない内部のサーバーに何らかの方法でアクセスする
  • SSRF脆弱性とSSRF攻撃
    • 一般的に、脆弱性と攻撃手法は1対1の関係になっている
    • SSRFはそうではなく、脆弱性が多の関係になっている
  • WAFに付与していたAIMロールの権限が強かった例
    • 本来不要なものまでついていた
  • DNSリバインディング
    • DNS問い合わせの1回目と2回目で違う値を返す攻撃
    • gethostbynameしてからcurlするときなど
  • 昨日、EC2でSSRF多層防御が実装されたアナウンスが出た
  • 安全でないデシリアライゼーション
  • 対策
    • JSON形式にする
    • セッション変数を使う
    • 改ざんチェックを入れる

17:20- Cloud Native Challenges in Private Cloud with K8s, Knative

Yuki Nishiwaki / LINE Verda Platform Development Team Manager

Oracle Linux再セットアップ

mattermostが動かないのは、素のyumでインストールしたdockerのバージョンが古いことが原因の可能性があるので、最新版に入れ直す。

素で入れた方のバージョン

$ docker --version
Docker version 18.09.8-ol, build 76804b7

既存の環境でやるのはまた何が起こるかわからないので、インスタンスを再作成してやり直す。

手順 https://docs.docker.com/install/linux/docker-ce/centos/

$ sudo yum update -y
$ docker --version
-bash: docker: command not found
$ sudo yum install -y yum-utils \
  device-mapper-persistent-data \
  lvm2
$ sudo yum-config-manager \
    --add-repo \
    https://download.docker.com/linux/centos/docker-ce.repo
$ sudo yum install docker-ce docker-ce-cli containerd.io
$ docker --version
Docker version 19.03.4, build 9013bf583a
$ sudo systemctl start docker
$ sudo usermod -aG docker opc
# 再ログイン
$ docker run hello-world
docker: Error response from daemon: OCI runtime create failed: container_linux.go:346: starting container process caused "process_linux.go:449: container init caused \"write /proc/self/attr/keycreate: permission denied\"": unknown.
ERRO[0000] error waiting for container: context canceled 
# https://stackoverflow.com/questions/56870478/cannot-start-docker-container-in-docker-ce-on-oracle-linux
$ sudo yum install http://mirror.centos.org/centos/7/extras/x86_64/Packages/container-selinux-2.107-1.el7_6.noarch.rpm
$ docker run hello-world

Hello from Docker!

OK。 続いてmattermostのセットアップ

Read more