Milestone 5: Final Project Delivery

Due Date: May 10


Overview

The final milestone focuses on three key areas:

  1. Production-ready deployment with Kubernetes and Ansible.
  2. Project demonstration and documentation.

Required Deliverables

1. Technical Implementation

  • Kubernetes Deployment:
    • Deploy the application to a Kubernetes cluster.
    • Demonstrate basic scaling by manually increasing and decreasing the load.
  • Ansible Playbooks for Automated Deployment:
    • Write Ansible playbooks to automate the provisioning and deployment of your infrastructure and application, including the kubernetes cluster.
  • CI/CD Pipeline Implementation:
    • Set up a CI/CD pipeline using GitHub Actions. The pipeline should:
      • Run unit test across every container.
      • Run integration tests cross the exposed API on every pull request.
      • Deploy updates to the Kubernetes cluster upon merging changes into the main branch.
      • The test coverage must be at least 70% of the lines. Document what functions and modules lack testing.
  • Machine Learning Workflow:
    • Demonstrate a production-ready ML workflow, including:
      • Data preprocessing, model training, and evaluation steps integrated into the pipeline.
      • Automated retraining and deployment triggered by new data or updates to the codebase.
      • Validation checks to ensure only models meeting performance thresholds are deployed.

2. Documentation

  • GitHub Repository:
    • Include a well-structured and modular codebase.
    • Provide a comprehensive README file with the following sections:
      • Prerequisites and setup instructions.
      • Deployment instructions.
      • Usage details and examples.
      • Known issues and limitations.
    • Submit main branch for this deliverable.

3. Presentation Materials

  • Video Presentation:
    • Record a 6-minute video covering the following:
      • Problem statement and the proposed solution.
      • Technical architecture and key components.
      • Live demo of the application in action.
      • Challenges faced and solutions implemented.
    • Submit the video in MP4 format with a minimum resolution of 720p.
  • Blog Post
    • Write a 600–800 word Medium blog post summarizing your project for a general audience. The post should highlight the problem, solution, technical approach, and impact.
    • Include visuals or diagrams where appropriate.
  • Self and Peer Review Forms:
    • Complete self-assessment and peer evaluation forms to provide feedback on team contributions.

Submission Instructions

  • Submit all deliverables (GitHub repository link, video file, blog post link, and self/peer review forms) via the course submission portal by 11:59 PM, December 11th.
  • No late submissions

Evaluation Criteria

  1. GitHub (35%): Technical Depth, Content, Clarity, Coding Style
  2. Documentation (25%): README and technical report are clear, complete, and easy to follow.
  3. Presentation (40%):
    • Video and blog post effectively communicate the project’s value and technical details.