Master Designing, Integrating & Deploying Enterprise AI Apps

Become an expert in modern tech stack (asyncio, flatbuffers, NATS, and Docker) to design, integrate and deploy AI apps

Ratings: 4.36 / 5.00




Description

Target Audience

Machine Learning Engineers & Data Scientists


What is unique about this course & What will you learn?

  • Why What & How of designing, integrating & deploying Enterprise Level Data Science/AI/ML applications

  • How to translate requirements into scalable architectural components?

  • How to break a big complex problem into simple & manageable parts using microservices style architecture?

  • An End-to-End real-world enterprise-level machine learning solution

  • Asynchronous IO - Foundations & Writing I/O bound applications in python 3

  • NATS - A Cloud Native Computing Foundation open source project to connect distributed applications

  • FlatBuffers - A language-independent, compact and fast binary structured data representation language

  • Docker & Docker-compose - The gold standard in deploying and orchestrating applications


Why should you learn all this?

A statistical or deep learning model is not an application rather it is an important component of a solution to real-world problems. A sophisticated solution to a complex problem generally consists of multiple applications written using different languages and running on a cluster of machines.

Your role as a Data Scientist and Machine Learning engineer is not just limited to a model building or tuning its performance rather it is expected that at the very minimum you will design your applications so that they can easily integrate with other applications of a big solution as well as are easily deployable using modern DevOps methodologies.

Mastering how to make AI applications integrate with other applications while ensuring scalability and upgradability will offer you a competitive advantage over others.

The good news is that mastering them is not difficult at all!


How is this course taught?

My teaching style covers 3 key aspects of mastering any technology:

  1. Intuition

  2. Theory

  3. Code

For any solution first I describe the overall goal, its associated challenges, and how to break down a big complex problem into manageable components. This process of simplifying the problems into components will guide you in identifying & selecting the best technology to use. I then explain the why, what & how of the selected technologies (AsyncIO, NATS, Flatbuffers, Docker) with code examples. These code examples start simple and I then iteratively add features to bring them to the level of real-world applications.

I have taken immense care in preparing the material that has great animations to help you develop intuition behind the solutions.

I have made sure that coding sessions follow an iterative development style and more importantly are clear & delightful.

All the source code from the iterative cycles as well as full end to end solution has been provided in the resources.

What You Will Learn!

  • A complete end-to-end solution consisting of 3 distributed applications using asyncio, flatbuffers, NATS and Docker
  • Translate the requirements of a big and complex machine learning project into a scalable solution
  • How to divide complex problem into simple & manageable parts using microservices style architecture ?
  • Foundations, insights and practical usage of Asynchronous IO in Python
  • How to design high performance, low resource and future-proof data formats & protocols using Flatbuffers
  • Loosely coupled distributed app development using Message Bus (NATS)
  • Packaging, Deploying & Upgrading applications using Docker & Docker Compose
  • Practical code examples to support the concepts taught in this course and the fully developed final solution

Who Should Attend!

  • Machine Learning engineers
  • Data Scientists
  • Software Engineers