「Rakuten EC Tech Meetup(楽天EC開発の裏側を全部お話いたします) Vol.1」に参加してきました

Opening

  • タリアさん(CTO)
  • 黒住昭仁さん(CIO)

事業

  • 9個の部署以下3つずつ
  • 50ヶ国
  • 開発者2000人
  • 各国に開発拠点

英語

  • 2012年から英語
  • たかが英語(三木谷)
  • とりあえず海外行けば話せるようになる
  • 採用時TOEIC800少なくとも600
    • 2年以内に800クリアできればOK
  • 外国人ばっかだから勝手に身につく

Development lifecycle with "R-JET"(楽天市場での共通JavaScript Toolkitについて)

  • Daniel Berlanga(ECMD Dept)

楽天のフロントエンド

  • Speed Speed Speed
    • Quality
    • Maintainability
    • Standardize
  • How
    • JS(ESNext)
    • TypeScript
    • ESLint
    • TSLint
    • Babel
    • Webpack
    • npm
    • react/redux
    • chai/mocha
      • jestもある
    • arma
    • saucelabs
    • intern
    • selenium
    • jenkins

R-JET

  • Rakuten JavaScript Engineer Toolkit
    • 設定にむだな時間をかけないように標準化したもの
  • 書く技術のTrainingもやってる

How we make sure the capability of Rakuten Ichiba Checkout system against Rakuten Super Sale?(お買い物かごの負荷試験について)

  • Takehara Tomohiro(SREチーム)

お買い物かご

  • ECサイトのお買い物かご
    • 商品追加
    • クレカ情報
    • 配送先情報
    • ポイントの利用
    • クーポンの利用

負荷試験

  • 楽天スーパーセールに向けた負荷試験
    • 一年に数回セールイベント

負荷のターゲットを決める

  • ピーク
  • 継続的な高負荷

負荷試験実行

  • Blazemeter
  • 結果の可視化もできる
  • データもクラウド上に保持できる

問題検知

  • jennifer
    • メモリとかCPUとか
  • Gatling
  • 内製のモニタリングツール多数

問題改善

  • アプリ修正ミドルチューニング等々
  • また最初に戻って繰り返す
    • このフローを4回くらい繰り返す

楽天の社内クラウドについて - RWASP

  • Yossy(ECCT Dept)

RWASP

  • PaaSのようなアプリプラットフォーム
  • Mesos
    • リソース管理
  • Marathon
    • ヘルスチェック
  • Docker
  • Service Doscovery and Nginx

その他

  • Kafka
  • Logstash
  • ElasticSerach
  • zipkin
  • chef

データ

  • 2 data center
  • 4 production clister
  • over 300 Mesos
  • ~2400 CPUCore
  • 10TB memory

今後

  • pods
  • scale up/scale down
  • Prometheus
  • Kubernates?
    • 前は流行ってなくてMesos + Marathonにした
    • 置き換えるかも

Speed-up micro services development with RAPID(APIプラットフォームの開発について)

  • Michell

RAPID Introduction

  • マイクロサービス
  • Java8/python/js

New Microservice with RAPID

  • error handling
  • valdation
  • model
  • logic
  • data access
  • web service client
  • event publisher
  • event consumer
  • cache
  • authentication/authorization
  • configuration
  • metrics
  • logging
  • monitoring

more to keep in mind

  • interface design
  • documentation
  • deployment
  • load testing
  • functional testing
  • failure testing

Framework

  • play
  • spring
  • gradle

whi is using

  • the standard new microservice development

楽天市場でのテスト自動化による開発プロセスの迅速化

  • Mayur

Quality Assurance Automation Team

  • 自動化チーム
  • 5人
  • 手動テストを自動化
  • POC

Test Automation Device Farm Lab

Rakuten Analytics Tracker(RATrace)

  • テストツール
  • 内製ツール

Grafana

  • Availability tracker

楽天市場モバイルアプリ開発について

  • Ryo Kimura

楽天のモバイル

Design & feasibility

  • Requirement
    • Backend Developer
    • Mobile Architect Developer
  • API決める
  • モバイルチームはAPIできるまでの待ち時間がある
  • API出てきてから試すと要件満たせなかったりとか起きる
  • 動くソフトウェアを(agile manifest)

アーキテクチャ(API)

  • GraphQL
  • OpenAPI
  • GRPC
  • BFF
  • API Gateway
  • OpenAPI(Swagger)のモックサーバを用いて速いうちから動作させるようにすうる
    • 初期のフェーズで足りないものに気付ける

アーキテクチャ(モバイル)

楽天ECでのBig Data、Data Science活用事例について

  • Taku Ohkoshi

なぜECにData Science

  • 楽天会員ID数
    • 9000万
  • 多種多様な顧客
  • 多種多様な商品
  • マッチングは人の頭脳の限界を超える

Big Data, Data Scienceの流れ

  • データ収集
    • 行動履歴が最重要
    • 内製化
      • 3rd partyは自由度がない
    • 簡単なBIも内製
  • アルゴリズム開発
    • 需要予測
    • 価格最適化
    • 検索最適化
    • レコメンデーション
  • 付帯機能開発
    • 最適化結果を提供するAPI/UI
  • リリース
  • アルゴリズムチューニング
    • 継続的なチューニングが必須
    • ABテスト100回/年
    • リアルタイムでユーザの行動データを分析しながら進める

職種