Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
全国タクシーをVB.NetからRuby on Railsに書き換えた話
Search
novless
May 24, 2017
Programming
130
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
全国タクシーをVB.NetからRuby on Railsに書き換えた話
novless
May 24, 2017
Other Decks in Programming
See All in Programming
全ての永続トークンを、生まれる前に消し去りたい!
sylph01
2
980
なぜCTOを降りてFDEを選んだのか?〜なぜプロダクト企業がFDEで顧客の現場に踏み込むのか〜
gonta
1
220
機械に任せるテスト、人が見るテスト ⽣成AIで引き直した、運⽤保守フェーズの線引き
dske104
0
190
Web Framework Benchmark Battle 2026, Any%
a_matsuda
2
2.5k
作って学ぶSpring BootのAuto Configuration / JJUG Night Seminar 2026-10-19
rshindo
0
180
TechTown - Creating Composable Callables in Contemporary C++
rollbear
0
130
複雑なUIコンポーネントとの ⻑い付き合い⽅:波及するバグからテスト戦略を経て、安全な再設計へ
mixplace
0
430
Unity6 URPによる海底をテーマにしたVJシステムの解説 | Unity Shader 完全に理解した 勉強会
gam0022
0
370
ソニーのクラウド共通基盤の変遷とAI時代の開発スタイルに合わせた進化 / The Journey of Sony’s Common Cloud Platform and Its Evolution for AI-Native Development
kenjiyoneyama
0
280
AWS CDKのカスタムリソースでContinuum(旧Security Agent)を実装した話 | Implementing Continuum (formerly Security Agent) via AWS CDK Custom Resource
akihisaikeda
2
150
ジョジョの世界をXRで再現する
mofurune
0
170
自サークルのIdPからログアウトできるようになるまで
taiseiue
1
140
Featured
See All Featured
Designing for Performance
lara
612
70k
A Guide to Academic Writing Using Generative AI - A Workshop
ks91
PRO
1
520
Mobile First: as difficult as doing things right
swwweet
225
10k
コードの90%をAIが書く世界で何が待っているのか / What awaits us in a world where 90% of the code is written by AI
rkaga
63
46k
Six Lessons from altMBA
skipperchong
29
4.5k
Principles of Awesome APIs and How to Build Them.
keavy
128
18k
sira's awesome portfolio website redesign presentation
elsirapls
0
460
Technical Leadership for Architectural Decision Making
baasie
3
600
Building Applications with DynamoDB
mza
96
7.2k
KATA
mclloyd
PRO
35
16k
Utilizing Notion as your number one productivity tool
mfonobong
4
620
Building the Perfect Custom Keyboard
takai
2
910
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では 旧システムとも仲良くなり たいエンジニアを 募集しています。
ご清聴ありがとうございました