Teaching
2023 Fall 3 credits · Year 2-3

DevOps

데브옵스

DevOps principles and tools — cloud computing, containerization, CI/CD, and agile methodologies.

DevOps Cloud Docker CI/CD

Course Description

This DevOps course offers a comprehensive view into the world of Development and Operations, focusing on the principles, tools, and practices that are essential in modern software development. Students will explore cloud computing, containerization, continuous integration, continuous delivery, agile methodologies, and more. Hands-on assignments and team projects will allow students to gain practical experience in implementing DevOps concepts.

Learning Goals

By the end of this course, students will be able to:

  1. Understand the principles and practices of DevOps.
  2. Utilize cloud computing technologies and containers like Docker, Kubernetes, and OpenShift.
  3. Implement agile development methods and Scrum practices.
  4. Develop AI applications using Python and Flask.
  5. Apply Linux commands and Shell Scripting.
  6. Use Git and GitHub for version control.
  7. Implement Continuous Integration and Continuous Delivery (CI/CD) pipelines.
  8. Understand application security and monitoring.
  9. Successfully complete a DevOps capstone project.

Lecture Notes

All lecture notes will be provided online. You can find the lecture notes of the course by clicking on the provided link.

Grading

  • Participation: 10%
  • Midterm: 30%
  • Term Project: 60%

Course Outline

Week 1: Introduction to DevOps

  • Overview of DevOps
  • Importance of DevOps in Modern Software Development
  • Collaboration Between Development and Operations

Week 2: Introduction to Cloud Computing

  • Basics of Cloud Computing
  • Types of Cloud Services
  • Implementing Cloud Solutions

Week 3: Introduction to Agile Development and Scrum

  • Agile Methodologies
  • Introduction to Scrum
  • Sprint Planning and Execution

Week 4: Hands-on Introduction to Linux Commands and Shell Scripting

  • Basic Linux Commands
  • Shell Scripting
  • Automation with Scripts

Week 5: Getting Started with Git and GitHub

  • Git Basics
  • GitHub Workflows
  • Collaborative Development with Git

Week 6: Developing AI Applications with Python and Flask

  • Basics of AI Development
  • Implementing AI with Python
  • Building Web Applications with Flask

Week 7: Introduction to Containers w/ Docker, Kubernetes & OpenShift

  • Containerization Concepts
  • Working with Docker
  • Kubernetes and OpenShift Overview

Week 8: Application Development using Microservices and Serverless

  • Understanding Microservices
  • Serverless Architecture
  • Developing with Microservices and Serverless

Week 9: Introduction to Test Driven Development (TDD)

  • Test Driven Development Concepts
  • Writing and Running Tests
  • Refactoring and Continuous Testing

Week 10: Continuous Integration and Continuous Delivery (CI/CD)

  • CI/CD Pipelines
  • Automation and Testing in CI/CD
  • Deploying with CI/CD

Week 11: Application Security and Monitoring

  • Security Best Practices
  • Monitoring Applications
  • Incident Response

Week 12: DevOps Capstone Project - Part 1

  • Project Planning and Design
  • Team Collaboration
  • Initial Implementation

Week 13: DevOps Capstone Project - Part 2

  • Continued Development
  • Integration and Testing
  • Preparing for Delivery

Week 14: Review & Additional Topics

  • Comprehensive Review of All Topics
  • Additional Tools and Practices in DevOps
  • Discussion on Career Opportunities

Week 15: Final Project Presentation & Course Conclusion

  • Final Project Presentation
  • Feedback and Evaluation
  • Course Conclusion and Future Learning Paths

Additional Resources

Additional resources, tutorials, and readings may be provided throughout the course to supplement learning. Students are encouraged to explore these materials to deepen their understanding of DevOps concepts.

Please note that this syllabus is subject to change, and any modifications will be communicated to students in a timely manner.