Lock in $30 Savings on PRO—Offer Ends Soon! ⏳
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
FinTechスタートアップAnyPayを支える開発 @ Venture Engineer M...
Search
Tomohiro Nakamura
August 03, 2017
Technology
2
1.1k
FinTechスタートアップAnyPayを支える開発 @ Venture Engineer Meetup #01 -Server Side Night-
FinTechスタートアップAnyPayを支える開発 @ Venture Engineer Meetup #01 -Server Side Night-
Tomohiro Nakamura
August 03, 2017
Tweet
Share
More Decks by Tomohiro Nakamura
See All by Tomohiro Nakamura
ICOコンサルティング事業から得たトークンと全体アーキテクチャ設計方針の知見 @ blockchain.tokyo #2
tomohiron
7
25k
Kotlin + Java EE + MongoDBでサーバ組んで本番で動かしてみた
tomohiron
2
2.1k
Other Decks in Technology
See All in Technology
グレートファイアウォールを自宅に建てよう
ctes091x
0
140
re:Invent 2025 ~何をする者であり、どこへいくのか~
tetutetu214
0
210
学習データって増やせばいいんですか?
ftakahashi
2
310
今からでも間に合う!速習Devin入門とその活用方法
ismk
1
660
【AWS re:Invent 2025速報】AIビルダー向けアップデートをまとめて解説!
minorun365
4
510
研究開発×プロダクトマネジメントへの挑戦 / ly_mlpm_meetup
sansan_randd
0
110
Karate+Database RiderによるAPI自動テスト導入工数をCline+GitLab MCPを使って2割削減を目指す! / 20251206 Kazuki Takahashi
shift_evolve
PRO
1
700
Gemini でコードレビュー知見を見える化
zozotech
PRO
1
250
ブロックテーマとこれからの WordPress サイト制作 / Toyama WordPress Meetup Vol.81
torounit
0
550
エンジニアリングをやめたくないので問い続ける
estie
2
1.1k
Kiro Autonomous AgentとKiro Powers の紹介 / kiro-autonomous-agent-and-powers
tomoki10
0
410
生成AI活用の型ハンズオン〜顧客課題起点で設計する7つのステップ
yushin_n
0
130
Featured
See All Featured
Product Roadmaps are Hard
iamctodd
PRO
55
12k
Art, The Web, and Tiny UX
lynnandtonic
303
21k
The Invisible Side of Design
smashingmag
302
51k
Reflections from 52 weeks, 52 projects
jeffersonlam
355
21k
Building Better People: How to give real-time feedback that sticks.
wjessup
370
20k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.5k
4 Signs Your Business is Dying
shpigford
186
22k
The Cult of Friendly URLs
andyhume
79
6.7k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
32
2.7k
It's Worth the Effort
3n
187
29k
The Straight Up "How To Draw Better" Workshop
denniskardys
239
140k
Six Lessons from altMBA
skipperchong
29
4.1k
Transcript
FinTechスタートアップ AnyPayを⽀える開発 AnyPay Inc. Tomohiro Nakamura
⾃⼰紹介 AnyPay株式会社 CTO Tomohiro Nakamura ( @HAIL ) 2010年 早稲田大学大学院情報理工学専攻
2010年 Goldman Sachs 2012年 Electronic Arts (ex. Playfish) 2014年 Wekids Inc. 創業 2016年 AnyPay株式会社 CTOとして入社 好き: GCP, Java(Kotlin), golang, TypeScript, IntelliJ なう: AWS, Ruby On Rails, Kotlin, Swift, golang paymo招待コード: PNKYFNP
AnyPay株式会社とは スマートフォン決済を提供する会社
実現したい世界 友だち間のお⾦のやり取り そして、お店へのお⽀払いを キャッシュレスに
AnyPay/paymoの幅広い守備範囲 WEB販売 リアル店舗 個⼈間 εϚϗͰ lׂΓצz ॊೈʹ ৭ʑͳखஈͰ खܰʹ ίετ
͓ۚͷೖޱ ͓ۚͷग़ޱ Ϣʔβʔؒ ΫϨδοτ ΧʔυͰܾࡁ ۜߦޱ࠲ Ҿ͖ग़͠ ΞΧϯτߴʹΑΔ Ϣʔβʔؒͷࢧ͍ ׂΓצ
paymo/AnyPay֎Ͱ ͓ۚΛ͍͍ͨ ߴͰAnyPayͷ ग़ళऀ͔Βߪೖ ൢɺαʔϏε… ԿͰങ͑Δ͓ళʂ ΫϨδοτΧʔυͰ ߪೖՄೳ װࣄ ࢀՃऀ ビジネスモデル
EC2 RDS(Aurora) Lambda CloudWatch S3/CloudFront ElastiCache CloudFormation OpsWorks SNS まずざっくり技術スタックまとめ
Infra Server Web iOS Android BigQuery App Engine Rails 5.0 (unicorn) Paranoia Draper Delayed Job Slavery Vue.js 2 webpack 3 Swift 3 RxSwift 3 Kotlin 1.1 RxJava 2 Dagger 2 Retrofit 2 OkHttp 3 Picasso 2
開発チーム構成(積極採⽤中!) Infra Server Web iOS Android 2ͭҎ্ͷॴʹؔΘ͍ͬͯΔΤϯδχΞଟ͍
開発で⼤事にしていること • 社員全員GitHubを使う(マーケ、事業企画、CSなど) • みんながみんなサービスつくる会社から来ていない。だ からこそ形から⼊るのが⼤事 • ⼤まかな仕様→GitHub Wiki •
Due, 担当者, デザインもここ • CS→CS専⽤レポジトリ • 本番データ満載のissueが並ぶ正社員専⽤の場所
こういうこと
こういうこと
マーケの⼈もPR出すぞ • LPぐらい、SourceTreeとか使えばなんとかなるなる!
開発で⼤事にしていること • API仕様をapiary準拠のBlueprintで管理、サーバエンジニアだけでは なく、アプリエンジニアやディレクターも(!)書く ‒ PMもRESTfulを 理解する! • 全職種が⼀⼈以上Approveしたら開発 ⾮エンジニアによるPR例
API仕様のブランチ運⽤ • master: 本番サーバでの動作が保証されているAPI仕様 • develop: 開発サーバでの動作が保証されているAPI仕様 • feature/*, issue/*:
API仕様の策定・修正 〜 開発サーバでの動作確認 までやってdevelopに向けてマージされるAPI仕様
開発で⼤事にしていること • SQLぐらい皆書ける • ビジネス側も全員書く • 環境はエンジニアが⽤意したRedash • ⼀回社内勉強会する •
SQLをレビューし合うSlackチャンネルも⽤意 • 管理画⾯にちょっと機能が⽋けてたって、CSの⼈も SQL書ける! • こういう努⼒が「開発を皆でしているチーム」をつくる
QAをなるべく容易にする • リリース前に⼀通り確認をするのを前提に developブランチまでのマージは楽に • 各ブランチにpushがあったらHeroku Review Appsが上がる • 簡単なビューの修正はスクショGIF動画もあり
各PMにスタンプをつくる • リリースの最終GOはスタンプ • 最近神も⼊った
使っているサービスたち
サーバエラー統計: Raygun • サーバのスタックトレースを記録し統計情報として出して くれる。リファクタリング案出してアサイン⼤会と、 Raygun⼤掃除アサイン⼤会を隔週でやってる
外部死活監視: UptimeRobot • 定期的に指定URLにリクエストを投げる。4xx, 5xxが返っ てきたらOpsGenieに知らせる
外部死活監視: OpsGenie 異常を知らせるUpstreamからの連絡を受け、メールをくれた り電話をくれたりする。⼈間、最後は電話で起きることをよく 知っている。当番ローテとかも組める。
メール: SendGrid ⾔わずと知れたメールサービス。やや⾼級品だけど、 • API連携してセグメントを絞ってメールしたり、 • 変数⼊りのテンプレをSendGrid側に登録しておいて、⼩さ いJSONをPOSTするだけでメールできる
ちょっとだけ セキュリティの話
なぜ「ちょっとだけ」 • セキュリティの基本は、リスクをできる限り取らないこと。 よほど技術的に⾰新的なことをやらない限りは、セキュリテ ィも⾰新的になる必要は本来ない。 • Public IPや空いてるポートは最⼩限にする • (ある程度は)枯れてる技術を使う
• 脆弱性情報を追う。Struts2⼤事件は記憶に新しいが、Nginx, Bash, Railsみたいな著名なものでも稀に事件が起こる • 初回リリースや巨⼤アプデでは、外部セキュリティ監査(要はクラッ キングしてもらう)を受ける • Webサービスも、Netflixが使ってますよみたいな、巨⼈が使⽤して いるものを使うようにする
悪⼈退治の話 • 本⼈間取引によるクレジットカードの現⾦化 • ポイントを移動させて引き出し など、やっぱり悪い⼈はいる。 これまではルールベースでラベルをつけていたが、 これからは教師あり学習も合わせて倒していく
これからサーバサイドKotlinもやろう と思っています。JOIN US!