Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
全国タクシーをVB.NetからRuby on Railsに書き換えた話
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
novless
May 24, 2017
Programming
0
130
全国タクシーをVB.NetからRuby on Railsに書き換えた話
novless
May 24, 2017
Tweet
Share
Other Decks in Programming
See All in Programming
CSC307 Lecture 01
javiergs
PRO
0
690
Lambda のコードストレージ容量に気をつけましょう
tattwan718
0
150
生成AIを活用したソフトウェア開発ライフサイクル変革の現在値
hiroyukimori
PRO
0
110
AgentCoreとHuman in the Loop
har1101
5
250
2026年 エンジニアリング自己学習法
yumechi
0
140
IFSによる形状設計/デモシーンの魅力 @ 慶應大学SFC
gam0022
1
310
日本だけで解禁されているアプリ起動の方法
ryunakayama
0
280
humanlayerのブログから学ぶ、良いCLAUDE.mdの書き方
tsukamoto1783
0
200
AIと一緒にレガシーに向き合ってみた
nyafunta9858
0
260
CSC307 Lecture 10
javiergs
PRO
1
660
CSC307 Lecture 05
javiergs
PRO
0
500
インターン生でもAuth0で認証基盤刷新が出来るのか
taku271
0
190
Featured
See All Featured
Making the Leap to Tech Lead
cromwellryan
135
9.7k
Prompt Engineering for Job Search
mfonobong
0
160
Claude Code どこまでも/ Claude Code Everywhere
nwiizo
61
52k
Faster Mobile Websites
deanohume
310
31k
Between Models and Reality
mayunak
1
200
The Spectacular Lies of Maps
axbom
PRO
1
530
The Mindset for Success: Future Career Progression
greggifford
PRO
0
240
16th Malabo Montpellier Forum Presentation
akademiya2063
PRO
0
53
How Fast Is Fast Enough? [PerfNow 2025]
tammyeverts
3
460
Ecommerce SEO: The Keys for Success Now & Beyond - #SERPConf2024
aleyda
1
1.8k
Testing 201, or: Great Expectations
jmmastey
46
8.1k
Digital Projects Gone Horribly Wrong (And the UX Pros Who Still Save the Day) - Dean Schuster
uxyall
0
400
Transcript
全国タクシーを VB.NetからRuby on Railsに 書き換えた話 2017/05/23 JapanTaxi株式会社 川原 達也
自己紹介 名前:川原 達也(@Novless) 所属:JapanTaxi株式会社 肩書:プログラマー 在籍期間:1年5ヶ月 特技:擬音語で伝えること(伝わってはいない
JapanTaxi株式会社とは 旧社名:株式会社日交データサービス(2015年8月に社名変更) 設立:1977年8月 事業内容:情報処理サービス業 • 全国タクシーなどのアプリ開発事業 • タクシー会社向け無線システム開発事業 • ドライブレコーダーやタクシーメーターなどのハードウェア開発事業
• コンセプトタクシーなどのメディア事業
全国タクシーとは リリース:2011年12月 ダウンロード:300万DL突破 提携しているタクシー会社:322社 アプリから呼べるタクシー:33,552台 2017年5月時点
抱えていた悩み
• Uberなどのライドシェア勢の台頭 • サーバーのログが数十分後に消える • アラートを検知する仕組みがない • とあるPCからしかデプロイが出来ない • 秘伝のストアド
• 雨が降るとシステムが不安定になる 外部の脅威と内部の弱さ
そうだ! Railsで書き直そう!!
2015年10月にCTOの岩田がJapanTaxiに入社 当時、社内にRails経験者は岩田のみ • エンジニアの採用 ◦ ある程度の技術を担保したい ◦ WEB系のマインドのあるエンジニアを集めたい Railsにした理由
当時の構成 インフラ:Microsoft Azure サーバーOS:Windows Server データベース:Azure SQLServer サーバーサイド言語:VisualBasic WEBフレームワーク:Asp.Net
理想 インフラ:Microsoft Azure → AWS サーバーOS:Windows Server → Amazon Linux
データベース:Azure SQLServer → MySQL(Aurora) サーバーサイド言語:VisualBasic → Ruby WEBフレームワーク:Asp.Net → Ruby on Rails
現実 インフラ:Microsoft Azure サーバーOS:Windows Server → Ubuntu データベース:Azure SQLServer サーバーサイド言語:VisualBasic
→ Ruby と 一部 C# WEBフレームワーク:Asp.Net → Ruby on Rails
出来なかった理由
Auzreからの脱却 Azure独自の機能を利用している • Service Bus ◦ キューイングシステム ◦ タクシー会社のシステムと連携している ◦
Rubyから接続すると工数が足りない ◦ AWSからアクセスできるけどそこまでやる?
Azure SQL Serverから脱却できなかった理由 MS独自の機能を利用している • Membership / Profile クラスの利用 ◦
ユーザー関連のテーブルが別のDBに存在している ◦ パスワードの暗号化方式が不明 ◦ ユーザー情報がバイナリっぽく保存されてる
やったこと
• MacにWindows8.1の仮想環境を構築 ◦ ローカルでの開発は仮想環境のSQLServerに接続する ◦ 今でも新機能の開発時にたまにVBを書く ローカルでの開発環境を構築する
• プロジェクトのメイン業務 ◦ 2,300行を越えるVBと1,400行のストアドと戦う ◦ APIの数は50本ぐらい ◦ Rspecでテストコードも書く VBのコードとストアドの写経
• ログをS3に配置 ◦ NginxのログとRailsのログをS3に置く ▪ 今はAthenaで検索できるようになった ◦ NewRelicとDatadogによる監視 サーバーの監視
やろうとして 出来なかった事
• Azure TrafficManagerやNginxでアクセスを流す ◦ アプリからアクセスされるREST APIは動く ◦ タクシー会社からアクセスされるSOAP APIがセキュリティ 周りで動作せず
◦ 新しいアプリからのみRailsへアクセスさせる 既存のアクセスをRailsに向ける
紆余曲折して、 2016年9月にリリース
正直、まだ終わってません • バッチ処理 • 外部向けAPIの作り直し • 旧システムで動く集計 • Silverlightで作成されたWEBサイト •
アップデートできないアプリ • 新規サービスの開発 • etc...
JapanTaxiでは 旧システムとも仲良くなり たいエンジニアを 募集しています。
ご清聴ありがとうございました