Machine Learning Guide

MLA 013 Tech Stack for Customer-Facing Machine Learning Products


Listen Later

Primary technology recommendations for building a customer-facing machine learning product include React and React Native for the front end, serverless platforms like AWS Amplify or GCP Firebase for authentication and basic server/database needs, and Postgres as the relational database of choice. Serverless approaches are encouraged for scalability and security, with traditional server frameworks and containerization recommended only for advanced custom backend requirements. When serverless options are inadequate, use Node.js with Express or FastAPI in Docker containers, and consider adding Redis for in-memory sessions and RabbitMQ or SQS for job queues, though many of these functions can be handled by Postgres. The machine learning server itself, including deployment strategies, will be discussed separately.

Links
  • Notes and resources at ocdevel.com/mlg/mla-13
  • Try a walking desk stay healthy & sharp while you learn & code
Client Applications
  • React is recommended as the primary web front-end framework due to its compositional structure, best practice enforcement, and strong community support.
  • React Native is used for mobile applications, enabling code reuse and a unified JavaScript codebase for web, iOS, and Android clients.
  • Using React and React Native simplifies development by allowing most UI logic to be written in a single language.
Server (Backend) Options
  • The episode encourages starting with serverless frameworks, such as AWS Amplify or GCP Firebase, for rapid scaling, built-in authentication, and security.
    • Amplify allows seamless integration with React and handles authentication, user management, and database access directly from the client.
    • When direct client-to-database access is insufficient, custom business logic can be implemented using AWS Lambda or Google Cloud Functions without managing entire servers.
  • Only when serverless frameworks are insufficient should developers consider managing their own server code.
    • Recommended traditional backend options include Node.js with Express for JavaScript environments or FastAPI for Python-centric projects, both offering strong concurrency support.
    • Using Docker to containerize server code and deploying via managed orchestration (e.g., AWS ECS/Fargate) provides flexibility and migration capability beyond serverless.
    • Python's FastAPI is advised for developers heavily invested in the Python ecosystem, especially if machine learning code is also in Python.
Database and Supporting Infrastructure
  • Postgres is recommended as the primary relational database, owing to its advanced features, community momentum, and versatility.
    • Postgres can serve multiple infrastructure functions beyond storage, including job queue management and pub/sub (publish-subscribe) messaging via specific database features.
  • NoSQL options such as MongoDB are only recommended when hierarchical, non-tabular data models or specific performance optimizations are necessary.
  • For situations requiring in-memory session management or real-time messaging, Redis is suggested, but Postgres may suffice for many use cases.
  • Job queuing can be accomplished with external tools like RabbitMQ or AWS SQS, but Postgres also supports job queuing via transactional locks.
Cloud Hosting and Server Management
  • Serverless deployment abstracts away infrastructure operations, improving scalability and reducing ongoing server management and security burdens.
    • Serverless functions scale automatically and only incur charges during execution.
  • Amplify and Firebase offer out-of-the-box user authentication, database, and cloud function support, while custom authentication can be handled with tools like AWS Cognito.
  • Managed database hosting (e.g., AWS RDS for Postgres) simplifies backups, scaling, and failover but is distinct from full serverless paradigms.
Evolution of Web Architectures
  • The episode contrasts older monolithic frameworks (Django, Ruby on Rails) with current microservice and serverless architectures.
  • Developers are encouraged to leverage modern tools where possible, adopting serverless and cloud-managed components until advanced customization requires traditional servers.
Links Client
  • React for web client
  • create-react-app: quick-start React setup
  • React Bootstrap: CSS framework (alternatives: Tailwind, Chakra, MaterialUI)
  • react-router and easy-peasy as useful plugins
  • React Native for mobile apps
Server
  • AWS Amplify for serverless web and mobile backends
  • GCP Firebase
  • AWS Serverless (underlying building blocks)
  • AWS Lambda for serverless functions
  • ECR, Fargate, Route53, ELB for containerized deployment
Database, Job-Queues, Sessions
  • Postgres as the primary relational database
  • Redis for session-management and pub/sub
  • RabbitMQ or SQS for job queuing (with wrapper: Celery)
...more
View all episodesView all episodes
Download on the App Store

Machine Learning GuideBy OCDevel

  • 4.9
  • 4.9
  • 4.9
  • 4.9
  • 4.9

4.9

772 ratings


More shows like Machine Learning Guide

View all
The Changelog: Software Development, Open Source by Changelog Media

The Changelog: Software Development, Open Source

289 Listeners

Data Skeptic by Kyle Polich

Data Skeptic

479 Listeners

Software Engineering Daily by Software Engineering Daily

Software Engineering Daily

626 Listeners

Talk Python To Me by Michael Kennedy

Talk Python To Me

585 Listeners

Super Data Science: ML & AI Podcast with Jon Krohn by Jon Krohn

Super Data Science: ML & AI Podcast with Jon Krohn

302 Listeners

NVIDIA AI Podcast by NVIDIA

NVIDIA AI Podcast

333 Listeners

Syntax - Tasty Web Development Treats by Wes Bos & Scott Tolinski - Full Stack JavaScript Web Developers

Syntax - Tasty Web Development Treats

987 Listeners

AI Today Podcast by AI & Data Today

AI Today Podcast

152 Listeners

DataFramed by DataCamp

DataFramed

269 Listeners

Practical AI by Practical AI LLC

Practical AI

210 Listeners

Google DeepMind: The Podcast by Hannah Fry

Google DeepMind: The Podcast

200 Listeners

The Real Python Podcast by Real Python

The Real Python Podcast

142 Listeners

Machine Learning Street Talk (MLST) by Machine Learning Street Talk (MLST)

Machine Learning Street Talk (MLST)

95 Listeners

This Day in AI Podcast by Michael Sharkey, Chris Sharkey

This Day in AI Podcast

225 Listeners

The AI Daily Brief: Artificial Intelligence News and Analysis by Nathaniel Whittemore

The AI Daily Brief: Artificial Intelligence News and Analysis

607 Listeners