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/
Rebuild the Industry技術選定は会社を知ることから始めよ©RakSul,Inc. AllRights Reserved.2020.03.09 TECH PLAY
View Slide
自己紹介©RakSul,Inc. AllRights Reserved.ラクスル事業本部 Head of EngineeringIIJ、DeNAを経て、2017年よりラクスルへ。エンジニア -> TL -> EM -> HoE というキャリアを歩む。現在は事業全体の開発を牽引。二串 信弘Twitter: @nikushi_jpNobuhiro Nikushi
今日のテーマ技術選定は会社を知ることから始めよ©RakSul,Inc. AllRights Reserved.
目次©RakSul,Inc. AllRights Reserved.ラクスルにおける技術の位置づけコストパフォーマンス技術選定プロダクト中心の技術選定123
Vision仕組みを変えれば、世界はもっと良くなるBETTER SYSTEMS, BETTER WORLD©RakSul,Inc. AllRights Reserved.
ラクスルのミッション©RakSul,Inc. AllRights Reserved.伝統的な産業にテクノロジーを持ち込み産業構造を変え、21世紀型へアップデート既存産業20世紀型ラクスルによるプラットフォーム創造21世紀型製販一体 製販分離
©RakSul,Inc. AllRights Reserved.印刷・広告のシェアリングプラットフォーム物流のシェアリングプラットフォームラクスルのサービス
TestingServer SideOthersFrontendDataBase/StorageInfraStructure主要技術スタック
ラクスルにおける技術選定の位置づけ©RakSul,Inc. AllRights Reserved.
ラクスルにおける技術の位置づけ©RakSul,Inc. AllRights Reserved.会社の特徴認知までの過程の私の経験ラクスルは技術力の高いエンジニア組織を抱えて内製でプロダクトを作っている会社だが、安易に他のテックカンパニーと一緒くたにしていいものか?
ラクスルにおける技術の位置づけ©RakSul,Inc. AllRights Reserved.ラクスル = ビジネス開発が非常に得意な会社● 伝統的な産業の課題に着目しITの力で仕組みを変えていく● 徹底的な高い解像度で勝ち筋を見つける
印刷や物流向けに事業を展開している会社技術の会社ではない©RakSul,Inc. AllRights Reserved.
ラクスルにおける技術の位置づけ©RakSul,Inc. AllRights Reserved.技術は究極的には手段● プロダクト価値を最大化させ事業を成功させることこそ目的● 目的を忘れない、目的を忘れない、目的を忘れない(大事)○ 過去の反省に対する自戒を込めて...● 「隣の芝は青い」けど。他社の真似だけではうまくいかない
コストパフォーマンス技術選定現戦力で成果を最大化させる技術選定● コストと成果量○ コスト = 学習コスト、開発人数、お金、etc..○ 成果量 = 売上、品質、モチベーション、離職・採用観点、etc● 問題を複雑にしすぎない(KISSの原則)○ 賢い人が考えた方法は複雑すぎる問題■ アンチパターン: ぼくが考えた最強のアーキテクチャ○ 後からジョインした人が理解できるか?という観点を持つ○ ラクスルは長期目線でプロダクト開発に投資する会社ref: そのRails Engine、 本当に必要ですか?https://www.slideshare.net/nixiesan/rails-engine-125150323
コストパフォーマンス技術選定©RakSul,Inc. AllRights Reserved.インフラ環境● 本番環境 AWS EC2 メイン、一部 AWS ECS、 EKS● 本番環境をコンテナ化しようというmovementは社内で時々盛り上がるも、実利が少なく本格導入してない※ 開発のツールとしてDockerは大いに現場で活用されてます● サービスを毎日立ち上げたい、俊敏にリソース管理したい、といった導入動機に乏しくEC2ベースで今のところは困っていない
コストパフォーマンス技術選定©RakSul,Inc. AllRights Reserved.サービスアーキテクチャ● 今のところマイクロサービスはオーバーエンジニアリング● 現時点ではメリットよりも新たなconcernにより開発効率低下○ 単体テストのコスト増(スタブ地獄)○ 開発環境の整備○ インフラの難易度up● モノリスとマイクロの中間の立ち位置○ 1つ1つのアプリはモノリスでコード凝縮し効率化○ ドメイン単位(≠サービス単位)で分割
ドメイン分離型モノリスアプリケーション戦略共通機能PaymentOpsAPI DBUser/AuthOpsAPI DBDataCheck/PrepressOpsAPI DB印刷ECOpsDBPrintingOpsAPI DBWebEC機能Other AppsWeb: PublicサイトOps: 管理画面API: Internal APIWebExtAPIUsersPrintingCompanies集客・広告OpsDBWeb
©RakSul,Inc. AllRights Reserved.ラクスルのシステム刷新目的: システムに柔軟性を持たせ経営戦略の選択肢が増えている状態にすること● 課題の本質は言語やフレームワークではなく既存PHPモノリスそのもの● どう分割するかが最重要技術的な大きな飛躍は盛り込まなかった● 未習熟な言語・フレームワークによる不確実性、再負債化リスクの排除● 新技術を採用したくなるが一歩引いて考える。目的を履き違えない。ref: 一枚岩なレガシーシステムを ラクスルではどのように Rebuildしているのか?https://www.slideshare.net/nixiesan/rebuild-124366117コストパフォーマンス技術選定
プロダクト中心の技術選定©RakSul,Inc. AllRights Reserved.Q: エンジニアとして楽しいですか?
プロダクト中心の技術選定©RakSul,Inc. AllRights Reserved.Q: エンジニアとして楽しいですか?A: 楽しいよ!
プロダクト中心の技術選定©RakSul,Inc. AllRights Reserved.実際、社内のエンジニアと話すと、結構新しい技術に対してシビアというか、それやると何が嬉しいんですか?、工数下がります?、難しすぎませ? 学習コスト高くない?、そこまでやってなにかメリットあるんですか?って。実はみんなスタートアップで働くことを心得ているんだなと。時間もお金も限られている、リリースまでの時間も短い、そして何よりみんな残業したくない! 代わりにプロダクトをどうやったらもっと使ってもらえるか、お客様に定着してもらえるか、リリース期日という制約の中でどういう戦略を取れるかちゃんと考える人達が多かった。技術の会社から来た私としては刺激になっているところでもあるんですが。
©RakSul,Inc. AllRights Reserved.徹底的に現場解像度を上げて、チーム全員でプロダクトビジョンを描く現場観察 / ユーザー調査パートナーやユーザーの現場に趣き、1次情報を拾いに行くことで、何が課題なのか・何が起こっているのかという課題の解像度を徹底的に上げる。プロダクトビジョンの設定現場から得た課題感を元に、「誰の何をどのように解決するのか」というプロダクトビジョンをTECH/BIZで力を合わせて創りあげる。アジャイル開発プランニングと振返り、調整を繰り返しながら、1-2週間単位で開発スプリントを回していくプロダクト中心の技術選定
ラクスルは技術の会社ではなく『産業の課題をプロダクトで解決する会社である』と言い切ることで自分の中で腑に落ちたエンジニアとしての役割に納得感が出てより自信をもって働けるように©RakSul,Inc. AllRights Reserved.
まとめラクスルは産業の課題をプロダクトで解決する会社事業特性を知ることはエンジニアとしてバリューを発揮するための近道©RakSul,Inc. AllRights Reserved.123エンジニアはパワーのかけ方を常に意識し事業成長を支えよ
©RakSul,Inc. AllRights Reserved.メッセージRebuild the Industry.自分を超える、社会が変わる産業変革を一緒に起こす仲間を探しています