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
NEWT Architecture Evolution
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
reiwa-travel
October 30, 2024
590
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
NEWT Architecture Evolution
reiwa-travel
October 30, 2024
More Decks by reiwa-travel
See All by reiwa-travel
skill-creator-guide
reiwatravel_0405
0
91
GopherCon-Tour-2025_minami-okada.pdf
reiwatravel_0405
0
370
創業期の急成長を実現した技術戦略を振り返る
reiwatravel_0405
0
200
QA Career Talk vol.5 〜QAエンジニアの生存戦略~
reiwatravel_0405
0
380
20250527_NEWT‐Tech-Talk_semba
reiwatravel_0405
0
510
20250527_NEWT‐Tech-Talk_hosoi
reiwatravel_0405
0
450
20250527_NEWT‐Tech-Talk_fukuda
reiwatravel_0405
0
500
20250527_NEWT‐Tech-Talk_magara
reiwatravel_0405
0
580
reiwatravel_20250416_vpoe-magara_lt
reiwatravel_0405
2
1.6k
Featured
See All Featured
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
49
10k
30 Presentation Tips
portentint
PRO
1
330
How to Align SEO within the Product Triangle To Get Buy-In & Support - #RIMC
aleyda
2
1.5k
We Analyzed 250 Million AI Search Results: Here's What I Found
joshbly
1
1.4k
Leadership Guide Workshop - DevTernity 2021
reverentgeek
1
310
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
31
10k
WENDY [Excerpt]
tessaabrams
11
38k
First, design no harm
axbom
PRO
2
1.2k
Testing 201, or: Great Expectations
jmmastey
46
8.2k
How To Speak Unicorn (iThemes Webinar)
marktimemedia
1
490
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
55k
Transcript
© 2023 Reiwa Travel, Inc. NEWT Architecture Evolution How we
scaled and improved our architecture over time
© 2023 Reiwa Travel, Inc. Profile • Nationality: Argentinian •
Language: Spanish, English, Japanese • Full Stack Developer (+10y) Career • 2006~: Freelance • 2008~: PowerSite ( CTO/CEO ) ◦ Email Marketing SaaS • 2015~: Travelience ( CTO ) ◦ Tour Guide Marketplace • 2021~: ReiwaTravel ( Senior Engineer ) Senior Engineer / Product-Dev Rodrigo Ramirez
© 2023 Reiwa Travel, Inc. NEWT Architecture Evolution How we
scaled and improved our architecture over time
AGENDA © 2023 Reiwa Travel, Inc. 1. Prototyping (まず動かす )
2. Pre-Release (リリースに備える ) 3. Post-Release (良くする) 4. Product & Team Scaling (チーム・サービスをスケールする ) 5. Future (進化し続ける ) Architecture Phases
AGENDA © 2023 Reiwa Travel, Inc. 1. Prototyping (まず動かす )
2. Pre-Release (リリースに備える ) 3. Post-Release (良くする) 4. Product & Team Scaling (チーム・サービスをスケールする ) 5. Future (進化し続ける ) Architecture Phases
1. Prototyping まず動かす • Phase: 0~1 • Goal: Create NEWT
MVP • Priority: Initial Development Speed • Decisions: 1. Infrastructure 2. Development 3. Scope
1 Infrastructure • Self Managed • Vercel to Host our
API and Admin UI • We didn’t have a production env • DB hosted on GCP (Vercel didn’t offer that solution) 1. Prototyping まず動かす
2 Development • Monolithic API • Full-Stack Developers = Unified
Programming Language ◦ Backend: TypeScript / GraphQL ◦ Frontend: Next.JS / TypeScript / React / GraphQL 1. Prototyping まず動かす
3 Scope • Reduce initial features scope • Make things
that do not scale 1. Prototyping まず動かす
アーキテクチャの概要 Architecture Overview Cloud SQL Instance #1 Native Apps iOS
Android Third Party Firebase Environments: Dev API ADMIN UI WEBVIEW UI Webflow
AGENDA © 2023 Reiwa Travel, Inc. 1. Prototyping (まず動かす )
2. Pre-Release (リリースに備える ) 3. Post-Release (良くする) 4. Product & Team Scaling (チーム・サービスをスケールする ) 5. Future (進化し続ける ) Architecture Phases
• Phase: Pre-Release • Timeline: 2022年3月~2023年4月 • Goal: Production Ready
• Priority: 1. Production Environment 2. Performance 3. Security 2. Pre-Release リリースに備える
1 Production Environment • Created Production ENV ◦ Vercel→GCP ◦
Terraform 2. Pre-Release リリースに備える
2 Performance • Runned Load tests and optimized API and
DB Queries • Added DB read-replicas to distribute load • Setup Monitoring and Alerts 2. Pre-Release リリースに備える
2 Security • Hired a Security Company to audit our
service • Applied GraphQL Security Best Practices • Services & Application logs 2. Pre-Release リリースに備える
アーキテクチャの概要 Architecture Overview Cloud Run Cloud SQL Instance #1 reader
1 reader 2 reader N Cloud Trace Cloud Monitoring … Native Apps iOS Android API ADMIN UI Third Party Firebase Webflow Environments: Production, Staging … Webview UI
アーキテクチャの概要 Architecture Overview Cloud Run Cloud SQL Instance #1 reader
1 reader 2 reader N Cloud Trace Cloud Monitoring … Native Apps iOS Android API ADMIN UI Third Party Firebase Webflow Environments: Production, Staging … Webview UI
AGENDA © 2023 Reiwa Travel, Inc. 1. Prototyping (まず動かす )
2. Pre-Release (リリースに備える ) 3. Post-Release (良くする) 4. Product & Team Scaling (チーム・サービスをスケールする ) 5. Future (進化し続ける ) Architecture Phases
• Phase: Post-Release (First Year) • Goal: Improve our Service/Operations
• Actions: 1. Improve NEWT functionality 2. Expand our services 3. Process Automation 3.Post-Release 良くする
1 Improve NEWT functionality • Feedback from Customers → Improve
current features • Develop missing core features (NEWT Point, …) 3.Post-Release 良くする
2 Expand our services • NEWT Web • NEWT Magazine
• NEWT Hotel ◦ Mobile App ◦ Web 3.Post-Release 良くする
3 Process Automation • Connect with external providers (Hotel &
Flight APIs) ◦ Inventory daily updates ◦ Booking Arrangement Automations 3.Post-Release 良くする
アーキテクチャの概要 Architecture Overview Cloud Run Cloud SQL Instance #1 …
reader 1 reader 2 reader N … Cloud Trace Cloud Monitoring Cloud Task Big Query … Native Apps iOS Android NEWT NEWT-HOTEL MAGAZINE … API ADMIN UI Third Party Firebase Flight APIs Hotel APIs … Environments: Production, Staging Webflow
アーキテクチャの概要 Architecture Overview Cloud Run Cloud SQL Instance #1 …
reader 1 reader 2 reader N … Cloud Trace Cloud Monitoring Cloud Task Big Query … Native Apps iOS Android NEWT NEWT-HOTEL MAGAZINE … API ADMIN UI Third Party Firebase Flight APIs Hotel APIs … Environments: Production, Staging Webflow
Micro-Frontend Web: Micro-Frontend /(*.) newt.net /hotel/(*.) /mag/(*.) /lp(*.) /tour/(*.) newt-web
newt-hotel newt-magazine webflow Domain Path Apps Repository NEWT Web ( Monorepo )
AGENDA © 2023 Reiwa Travel, Inc. 1. Prototyping (まず動かす )
2. Pre-Release (リリースに備える ) 3. Post-Release (良くする) 4. Product & Team Scaling (チーム・サービスをスケールする ) 5. Future (進化し続ける ) Architecture Phases
• Phase: Current • Goal: Scale our service and product
team organization • Actions: 1. Team Structure 2. Traffic Spike Support 4.Product & Team Scaling チーム・サービスをスケールする
1 Team Structure • From 1 team to multiple teams
◦ Parallel Development → Multiple Dev Environments ◦ Increase Releases → Git Branch Strategy Backend Frontend Mobile PM … Backend Frontend Mobile PM … Team 1 Team 2 Team 3 Team 4 4.Product & Team Scaling チーム・サービスをスケールする
2 Traffic Spike Support • Database Bottlenecks ◦ Tour Search
from RDS to Elasticsearch ◦ Web Caching Strategies 4.Product & Team Scaling チーム・サービスをスケールする
アーキテクチャの概要 Architecture Overview Cloud Run Cloud SQL Instance #1 …
reader 1 reader 2 reader N … Cloud Trace Cloud Monitoring Cloud Task Big Query … Native Apps iOS Android NEWT NEWT-HOTEL MAGAZINE … API ADMIN UI Third Party Firebase Flight APIs Hotel APIs Elastic Cloud Webflow Environments: Production, Staging, Dev 1…N …
技術スタック Technology Stack
AGENDA © 2023 Reiwa Travel, Inc. 1. Prototyping (まず動かす )
2. Pre-Release (リリースに備える ) 3. Post-Release (良くする) 4. Product & Team Scaling (チーム・サービスをスケールする ) 5. Future (進化し続ける ) Architecture Phases
• Phase: ( Next ) Future Challenges • Goal: Prepare
System to support NEWT evolution • Challenges: 1. Team/Code Isolation 2. Smarter Solutions using AI/LMM 3. Global Expansion 4. … 5. Future 進化し続ける
1 Team/Code Isolation • Reduce Code Conflicts • Reduce Cognitive
Load • Isolate Data & Deployments 5. Future 進化し続ける
5. Future 進化し続ける
5. Future 進化し続ける
5. Future 進化し続ける
2 Smarted Solutions using AI/LLM • Incorporate more AI/LLM into
NEWT service ◦ Deliver Better and Smarter Features to Customers ◦ Optimize Internal processes 5. Future 進化し続ける
3 Global Expansion • Multi-Language • Multi-Currency • Timezone Support
• … 5. Future 進化し続ける
AGENDA © 2023 Reiwa Travel, Inc. 1. Prototyping (まず動かす )
2. Pre-Release (リリースに備える ) 3. Post-Release (良くする) 4. Product & Team Scaling (チーム・サービスをスケールする ) 5. Future (進化し続ける ) Architecture Phases
© 2023 Reiwa Travel, Inc. We are hiring!!!! reiwatravel.co.jp/engineers
Thank you! © 2023 Reiwa Travel, Inc. @xpromx