The final project is meant to be an opportunity for you to go as deep as you want on any DevOps project. Create anything that you want to build! You will be allowed to work in groups up to 4, but the expected amount of work will scale with the size of the group. No late days may be taken for the final project.
Guidelines
Given the open-ended nature of the project, these guidelines are not solid, but more for you to get a grasp of what effort we’re looking for. As a rule of thumb, we’re looking for something of at least the scale of the homeworks per group member. That is, if there are 3 people in a group, the project should be around the effort of 3 homeworks.
Overall, your project should aim to:
- Incorporate at least one technology we learned (Docker/Terraform/Kubernetes/etc)
- Apply at least one topic/philosophy we learned (reproducibility, portability, testability, etc)
- Have well documented code, i.e. in-line comments
Given the nature of devops, many project ideas might require an existing codebase or application. An older class project or side project might be good starting points. If you do not have existing code to build off of, you may build on top of the Jarvis monorepo. You will not be graded on the application code, just the devops portion you build.
Milestones
Project Proposal
Due Date: Wednesday 4/8 11:59PM
The first deadline will be the project proposal. Write no longer than a page and cover the following:
- General overview of your idea, what’s the end goal of the project?
- What are the pieces to implement? Identify what you think will be the hardest portion of the project
- Rough implementation plan with timeline
- If you plan to use AWS, what services will you need? How will you first test locally?
Keep in mind that the earlier you submit your proposal the earlier I can give feedback!
Project Presentation
Due Date: In Class 4/29
Create a short presentation about your project. The length of your presentation should be roughly 5-8 minutes depending on your group size. Your presentation should cover:
- What your idea is/motivation
- A roadmap of your implementation plan
- Any challenges you ran into
- A demo if applicable (can be incomplete)
Code Submission
Due Date: 4/29 11:59PM
The final code will be due on the last day of classes. Alongside your code, please include a README.md that at least covers the following:
- A description of your project and what you have accomplished
- An explanation of relevant code (or in-line documentation)
- How to test/view what you have built
Submission will be on Canvas, either provide a public GitHub repository or zip your code and attach it.
Potential Project Ideas
- Fully deploy something to production with Terraform/Kubernetes
- Build a CI/CD pipline for a project
- Create a robust local development environment for a project
- Use a managed service on AWS to build something, e.g. Lambdas