Upgrade to Pro — share decks privately, control downloads, hide ads and more …

NEWT Architecture Evolution

reiwa-travel
October 30, 2024
100

NEWT Architecture Evolution

reiwa-travel

October 30, 2024
Tweet

Transcript

  1. © 2023 Reiwa Travel, Inc.
 NEWT Architecture Evolution How we

    scaled and improved our architecture over time
  2. © 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
  3. © 2023 Reiwa Travel, Inc.
 NEWT Architecture Evolution How we

    scaled and improved our architecture over time
  4. AGENDA
 © 2023 Reiwa Travel, Inc.
 1. Prototyping (まず動かす )

    2. Pre-Release (リリースに備える ) 3. Post-Release (良くする) 4. Product & Team Scaling (チーム・サービスをスケールする ) 5. Future (進化し続ける ) Architecture Phases
  5. AGENDA
 © 2023 Reiwa Travel, Inc.
 1. Prototyping (まず動かす )

    2. Pre-Release (リリースに備える ) 3. Post-Release (良くする) 4. Product & Team Scaling (チーム・サービスをスケールする ) 5. Future (進化し続ける ) Architecture Phases
  6. 1. Prototyping まず動かす • Phase: 0~1 • Goal: Create NEWT

    MVP • Priority: Initial Development Speed • Decisions: 1. Infrastructure 2. Development 3. Scope
  7. 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 まず動かす
  8. 2 Development • Monolithic API • Full-Stack Developers = Unified

    Programming Language ◦ Backend: TypeScript / GraphQL ◦ Frontend: Next.JS / TypeScript / React / GraphQL 1. Prototyping まず動かす
  9. 3 Scope • Reduce initial features scope • Make things

    that do not scale 1. Prototyping まず動かす
  10. アーキテクチャの概要 Architecture Overview Cloud SQL Instance #1 Native Apps iOS

    Android Third Party Firebase Environments: Dev API ADMIN UI WEBVIEW UI Webflow
  11. AGENDA
 © 2023 Reiwa Travel, Inc.
 1. Prototyping (まず動かす )

    2. Pre-Release (リリースに備える ) 3. Post-Release (良くする) 4. Product & Team Scaling (チーム・サービスをスケールする ) 5. Future (進化し続ける ) Architecture Phases
  12. • Phase: Pre-Release • Timeline: 2022年3月~2023年4月 • Goal: Production Ready

    • Priority: 1. Production Environment 2. Performance 3. Security 2. Pre-Release リリースに備える
  13. 1 Production Environment • Created Production ENV ◦ Vercel→GCP ◦

    Terraform 2. Pre-Release リリースに備える
  14. 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 リリースに備える
  15. 2 Security • Hired a Security Company to audit our

    service • Applied GraphQL Security Best Practices • Services & Application logs 2. Pre-Release リリースに備える
  16. アーキテクチャの概要 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
  17. アーキテクチャの概要 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
  18. AGENDA
 © 2023 Reiwa Travel, Inc.
 1. Prototyping (まず動かす )

    2. Pre-Release (リリースに備える ) 3. Post-Release (良くする) 4. Product & Team Scaling (チーム・サービスをスケールする ) 5. Future (進化し続ける ) Architecture Phases
  19. • 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 良くする
  20. 1 Improve NEWT functionality • Feedback from Customers → Improve

    current features • Develop missing core features (NEWT Point, …) 3.Post-Release 良くする
  21. 2 Expand our services • NEWT Web • NEWT Magazine

    • NEWT Hotel ◦ Mobile App ◦ Web 3.Post-Release 良くする
  22. 3 Process Automation • Connect with external providers (Hotel &

    Flight APIs) ◦ Inventory daily updates ◦ Booking Arrangement Automations 3.Post-Release 良くする
  23. アーキテクチャの概要 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
  24. アーキテクチャの概要 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
  25. 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 )
  26. AGENDA
 © 2023 Reiwa Travel, Inc.
 1. Prototyping (まず動かす )

    2. Pre-Release (リリースに備える ) 3. Post-Release (良くする) 4. Product & Team Scaling (チーム・サービスをスケールする ) 5. Future (進化し続ける ) Architecture Phases
  27. • Phase: Current • Goal: Scale our service and product

    team organization • Actions: 1. Team Structure 2. Traffic Spike Support 4.Product & Team Scaling チーム・サービスをスケールする
  28. 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 チーム・サービスをスケールする
  29. 2 Traffic Spike Support • Database Bottlenecks ◦ Tour Search

    from RDS to Elasticsearch ◦ Web Caching Strategies 4.Product & Team Scaling チーム・サービスをスケールする
  30. アーキテクチャの概要 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 …
  31. AGENDA
 © 2023 Reiwa Travel, Inc.
 1. Prototyping (まず動かす )

    2. Pre-Release (リリースに備える ) 3. Post-Release (良くする) 4. Product & Team Scaling (チーム・サービスをスケールする ) 5. Future (進化し続ける ) Architecture Phases
  32. • 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 進化し続ける
  33. 1 Team/Code Isolation • Reduce Code Conflicts • Reduce Cognitive

    Load • Isolate Data & Deployments 5. Future 進化し続ける
  34. 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 進化し続ける
  35. AGENDA
 © 2023 Reiwa Travel, Inc.
 1. Prototyping (まず動かす )

    2. Pre-Release (リリースに備える ) 3. Post-Release (良くする) 4. Product & Team Scaling (チーム・サービスをスケールする ) 5. Future (進化し続ける ) Architecture Phases