技術選定は会社を知ることから始めよ_20200309Techplay登壇資料

27a4f51bd24e5f45cb31c8bf9e06a394?s=47 raksul
March 09, 2020

 技術選定は会社を知ることから始めよ_20200309Techplay登壇資料

2020年3月9日のTechplayイベント「業界を変えた大規模サービスの技術選定」にて、ラクスル事業Head of Engineeringを務める二串がお話した資料です。

https://techplay.jp/event/769073

▼Techブログ
https://tech.raksul.com/
▼Twitter
https://twitter.com/raksuldev
▼採用サイト
https://recruit.raksul.com/

27a4f51bd24e5f45cb31c8bf9e06a394?s=128

raksul

March 09, 2020
Tweet

Transcript

  1. 2.

    自己紹介 ©RakSul,Inc. AllRights Reserved. ラクスル事業本部 Head of Engineering IIJ、DeNAを経て、2017年よりラクスルへ。 エンジニア

    -> TL -> EM -> HoE というキャリアを 歩む。現在は事業全体の開発を牽引。 二串 信弘 Twitter: @nikushi_jp Nobuhiro Nikushi
  2. 16.

    コストパフォーマンス技術選定 現戦力で成果を最大化させる技術選定 • コストと成果量 ◦ コスト = 学習コスト、開発人数、お金、etc.. ◦ 成果量

    = 売上、品質、モチベーション、離職・採用観点、etc • 問題を複雑にしすぎない(KISSの原則) ◦ 賢い人が考えた方法は複雑すぎる問題 ▪ アンチパターン: ぼくが考えた最強のアーキテクチャ ◦ 後からジョインした人が理解できるか?という観点を持つ ◦ ラクスルは長期目線でプロダクト開発に投資する会社 ref: そのRails Engine、 本当に必要ですか? https://www.slideshare.net/nixiesan/rails-engine-125150323
  3. 17.

    コストパフォーマンス技術選定 ©RakSul,Inc. AllRights Reserved. インフラ環境 • 本番環境 AWS EC2 メイン、一部

    AWS ECS、 EKS • 本番環境をコンテナ化しようというmovementは社内で時々盛り上がるも、実利 が少なく本格導入してない ※ 開発のツールとしてDockerは大いに現場で活用されてます • サービスを毎日立ち上げたい、俊敏にリソース管理したい、といった導入動機に 乏しくEC2ベースで今のところは困っていない
  4. 18.

    コストパフォーマンス技術選定 ©RakSul,Inc. AllRights Reserved. サービスアーキテクチャ • 今のところマイクロサービスはオーバーエンジニアリング • 現時点ではメリットよりも新たなconcernにより開発効率低下 ◦

    単体テストのコスト増(スタブ地獄) ◦ 開発環境の整備 ◦ インフラの難易度up • モノリスとマイクロの中間の立ち位置 ◦ 1つ1つのアプリはモノリスでコード凝縮し効率化 ◦ ドメイン単位(≠サービス単位)で分割
  5. 19.

    ドメイン分離型モノリスアプリケーション戦略 共通機能 Payment Ops API DB User/ Auth Ops API

    DB DataCheck/ Prepress Ops API DB 印刷EC Ops DB Printing Ops API DB Web EC機能 Other Apps Web: Publicサイト Ops: 管理画面 API: Internal API Web ExtAPI Users Printing Companies 集客・広告 Ops DB Web
  6. 20.

    ©RakSul,Inc. AllRights Reserved. ラクスルのシステム刷新 目的: システムに柔軟性を持たせ経営戦略の選択肢が増えている状態にすること • 課題の本質は言語やフレームワークではなく既存PHPモノリスそのもの • どう分割するかが最重要

    技術的な大きな飛躍は盛り込まなかった • 未習熟な言語・フレームワークによる不確実性、再負債化リスクの排除 • 新技術を採用したくなるが一歩引いて考える。目的を履き違えない。 ref: 一枚岩なレガシーシステムを ラクスルではどのように Rebuildしているのか? https://www.slideshare.net/nixiesan/rebuild-124366117 コストパフォーマンス技術選定
  7. 25.

    ©RakSul,Inc. AllRights Reserved. 徹底的に現場解像度を上げて、 チーム全員でプロダクトビジョンを描く 現場観察 / ユーザー調査 パートナーやユーザーの現場に趣き、 1次情報

    を拾いに行くことで、何が課題なのか・何が起 こっているのかという課題の解像度を徹底的に 上げる。 プロダクトビジョンの設定 現場から得た課題感を元に、 「誰の何をどのように解決するのか」 というプロダクトビジョンを TECH/BIZで 力を合わせて創りあげる。 アジャイル開発 プランニングと振返り、 調整を繰り返しながら、 1-2週間単位で 開発スプリントを回していく プロダクト中心の技術選定