Skip to content

Image classification application deployed on AWS Serverless for Neptun.ai technical guide on how to deploy image classification models on serverless.

Notifications You must be signed in to change notification settings

NonMundaneDev/image-classification-app

Repository files navigation

Image Classication Application on Serverless

A demo application for a technical guide showing how to deploy image classification applications on serverless environments following best practices using serverless computing.

Architectural Pattern

Continuous Integration/Continuous Delivery Workflow

Here’s what the CI/CD architecture looks like:

Continuous Integration/Delivery workflow

Here, an IAM user will use AWS CLI and git client to push our application code and some configuration files to a private CodeCommit repository. This new commit will trigger CodePipeline to create a new build for the Docker image from our Dockerfile and a specified build configuration using CodeBuild. Once the build is done and has succeeded, the Docker image will be pushed to a private registry in AWS ECR. You can now use the Docker image to create the Lambda function that’ll serve as the inference endpoint in production.


Deployment workflow

Here’s what the deployment architecture looks like:

Serverless backend deployment workflow

The flow is stated on the image. You create a Lambda function inference endpoint with the Docker image you built from your ECR repository. At this point, you will test the function before deploying it. Once it’s deployed, you can now perform an end-to-end test by uploading a new image to the S3 bucket you created, this triggers the Lambda function that spins up your containerized application, runs a prediction, and returns the results to the DynamoDB table.


Note

You can customize the code files to your needs. Ensure you replace the necessary tags and understand the structure of the functions. You can also instruct the Dockerfile to download your own model instead.


Pre-requisites to implement this architecture

To successfully along with this guide, here are some things you should know and have:


  • iam_policy contains the policy for the IAM user I created for this guide. Modify with your own account ID.

  • s3_bucket contains the sample public read policy for the bucket that will hold the inference images.

  • test_images contains images for testing the application once it is live.

About

Image classification application deployed on AWS Serverless for Neptun.ai technical guide on how to deploy image classification models on serverless.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published