Course Title: DevOps / Applied DevOps
Course Code: CS4067- SE4007
Credit Hours: 3
Instructor: Murtaza Munawar Fazal
Course Objectives:
The objective of the course is introduction to Continuous Integration and Continuous Delivery with
usage of source control, project management tools like GitHub Projects and Azure Boards, study
different deployment strategies, Virtualization, Containerization and incorporate different approval
process for continuous delivery.
Tentative Weekly Plan
Week Topic
→ Course Introduction
1. → DevOps Basics
→ GitHub Project
→ Azure Boards
2. → GitHub Basics and branch control
→ GitHub Branching options
→ GitHub Hooks
3. → Integrating GitHub and Azure
→ Continuous Integration with Pipeline
→ Continuous Integration with Pipeline continued
4. → Creating Pipeline with YAML file
→ Azure Resource Manager
→ Integrating Azure Pipelines with External Source Control
→ Infrastructure as Code
5.
→ ARM Templates
→ Azure Bicep Templates
6. → Midterm I
→ Continuous Delivery
→ Creating Release Pipeline
7.
→ Release Approvals using manual approvals and Automated Approvals
(Release Gates)
→ Implementing Release Gates
8. → Monolithic v/s Microservices Architecture
→ Virtualization, Containerization with Docker and Kubernetes
9. → Release Process and Different DevOps Tools
→ Continuous Deployment and Blue-Green Deployment
→ Deployment Slots
→ Feature Toggle
10. → Canary Release
→ Dark Launching
11. → Midterm II
→ A/B Testing
→ Deployment Rings
12.
→ Implementing Unit Test and Functional Test using Selenium in Release
Pipeline
→ Package Dependency Management
13.
→ Versioning Artifacts
→ Intro to Continuous Monitoring and Feedback
14.
→ Feedback integration with Azure Boards and Telemetry services
→ Intro to Secure DevOps
15. → Implement Static Analyzer (SonarCloud)
→ Implement Dynamic Analyzer (OWASP)
16. → Project Presentations and Demonstration
17. → Final Exam