radioc@?

レディオキャットハテナ

【勉強会メモ】Rakuten EC Tech Meetup(ECを支えるテクノロジー in大阪)Vol.4

rakuten.connpass.com

  • 日時:2019/01/24(木) 19:30 〜 21:30
  • 場所:楽天株式会社ー大阪オフィス

前回 に続いて楽天さんのMeetupに参加してきました。英語の発表があったり、席が最後尾(遅刻したので)だったりで少し聞きとれなかったところがあり、雑な部分がありますがご容赦ください。

3つのセッションはそれぞれ違った技術領域の特徴ある内容でしたが、共通しているのはそれぞれのチームにフィットするより良いやり方を選んで取り組んでいるという事です。PHPからJavaへの転換とjQueryの採用というのは随分思い切った選択だなと思いますが、チームでしっかり議論してその選択ができるのはすごいチームだと思います。SREチームは逆に新しい技術にチャレンジしていくことで周囲のチームと連携していくスタイルなのだと感じました。それぞれのチームが自己組織化して自分たちに合った技術を選び、それにコミットしていることがよくわかりました。

楽天市場のデータビジュアライゼーションとそのテクノロジー

たくさんのデータのフローを管理

  • 4万7千の店舗管理
  • 10PBのデータ

問題

  • データの流れが複雑
  • 無駄が多い
  • メンテナンスコスト高い

データの流れを統一

  • 市場のデータをDWHに集める
  • 月次や年次の共通のレンジでデータマートに入れる
    • データ設計が重要

Data Provision

  • DWHからデータ流れてくるHadoop上のシステム
  • CockroachDB
    • 高速化
    • 不完全なデータを見せない

www.cockroachlabs.com

Data Visualization

コードのフォーマット統一

prettier.io

効果

  • ほぼ毎日使うようになった

まとめ

  • データ間の問題解消
  • 冗長性と無駄解消
  • メンテナンスコスト減
  • 管理コスト減
  • 面白い技術使った
  • 効率良くなった

中間テーブルでデータを集計 - real-timeデータ高速化 - コードフォーマット

楽天デリバリーフロントシステムマイグレーションのお話

経緯

  • 2002年からのシステム
  • もともとはPC向けサイト
  • ビジネスサイドからの要望で大幅リニューアル

どうせなら→UI変更プロジェクトに要望

新しいフレームワークについて検討

  • PHP7.x
  • Laravel
  • Vue.js

PHPフレームワーク選定

評価ポイント

  • バージョンアップしやすいか
  • 分離性
  • 生産性
  • ドキュメントが整備されているか

問題

  • 導入コストを考えているか?
  • 今までPHPを使用→本当に最適な選択なのか?

現実的な選択

  • Javaのエンジニアも増えている
    • 他チームからJavaのサポートある
  • 自分たちのスキルセットを考えてプロジェクトの期限とコストのバランスを考える

選定技術

  • Java8
  • SpringBoot
  • Thymeleaf
  • jQuery

↑他チームで実績あり、サーポートを受けられる

  • PHPJavaへの移行→特に問題なかった
  • Spring Boot+Thymeleaf→分離性の確保、生産性も上がった

まとめ

  • 今新しいものを導入したいだけではなくシステムを安定させる事を考える
  • 今のシステムが本当にリスクを持っていないか
  • 新しい技術を入れるだけでなくバージョンアップを考えないといけない
  • 今回のようなケースのために新しい技術の知識は仕入れておく

SREチームとは?

楽天カーサービスグループのSREチーム

SRE

ソフトウェアエンジニアに運用チームの設計を依頼した時にできあがる

運用チームを立ち上げる理由は様々

  • 開発チームと運用チームの矛盾を解決する
    • 開発…納期に間に合うように新機能を開発
    • 運用…エラーが起きないようにシステムの信頼性を保証
  • 開発チームは開発のことに集中できるように

立ち上げ前

  • 開発チームは開発と運用両方やる
  • チームメンバーの要望
    • 開発に集中したい
    • 運用に関することをもっと知りたい
    • 運用はもっと自動化したい

新技術導入

  • Pons
    • 今後の開発と運用がもっと便利
  • Cons
    • 気のせいである可能性
    • 研修と開発のコスト高い
    • 失敗とディレイのリスク

今のまま スケジュール管理のコスト

新技術の導入

  • k8s
  • Splunk
  • Kafka
  • Redis
  • Gatling

開発チームのサポート

運用自動化の改善

  • 自動化ツールの開発

面白さ

  • 様々なチームと連携する機会がある
  • 技術の成長
    • 新技術の調査、勉強は面白い
    • 個人成長の速さを実感できる
    • 達成感を得られる
  • フルスタックエンジニアになれる
    • 運用&開発
    • 技術&業務