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
  • ECRFargateRoute53ELB 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

759 ratings


More shows like Machine Learning Guide

View all
Data Skeptic by Kyle Polich

Data Skeptic

480 Listeners

Talk Python To Me by Michael Kennedy

Talk Python To Me

590 Listeners

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

Super Data Science: ML & AI Podcast with Jon Krohn

296 Listeners

NVIDIA AI Podcast by NVIDIA

NVIDIA AI Podcast

326 Listeners

Data Engineering Podcast by Tobias Macey

Data Engineering Podcast

140 Listeners

DataFramed by DataCamp

DataFramed

267 Listeners

Practical AI by Practical AI LLC

Practical AI

189 Listeners

The Real Python Podcast by Real Python

The Real Python Podcast

139 Listeners

Last Week in AI by Skynet Today

Last Week in AI

281 Listeners

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

Machine Learning Street Talk (MLST)

88 Listeners

AI Chat: ChatGPT & AI News, Artificial Intelligence, OpenAI, Machine Learning by Jaeden Schafer

AI Chat: ChatGPT & AI News, Artificial Intelligence, OpenAI, Machine Learning

145 Listeners

This Day in AI Podcast by Michael Sharkey, Chris Sharkey

This Day in AI Podcast

196 Listeners

Latent Space: The AI Engineer Podcast by swyx + Alessio

Latent Space: The AI Engineer Podcast

75 Listeners

The Morgan Housel Podcast by Morgan Housel

The Morgan Housel Podcast

985 Listeners

The AI Daily Brief (Formerly The AI Breakdown): Artificial Intelligence News and Analysis by Nathaniel Whittemore

The AI Daily Brief (Formerly The AI Breakdown): Artificial Intelligence News and Analysis

444 Listeners