DevOps LessonPlan Detailed Ver
DevOps LessonPlan Detailed Ver
FMTH0301/Rev.5.3
Course Plan
Lesson Plan Author: Dr. Dattaprasad A. Torse, Dr. Rajashri Khanai Date: 22/02/2024
Prerequisites: Basic understanding of software development, familiarity with Operating Systems and networking, basic knowledge of security and compliance and basic programming skills are
essential.
Course Articulation Matrix: Mapping of Course Outcomes (COs) with Program Outcomes (POs)
1.7 Demonstrate competence in specialized engineering knowledge to the 1.7.1 Apply theory and principles of computer science
4.5 Demonstrate an ability to design experiments to solve open-ended problems 4.5.1 Design and develop appropriate procedures/methodologies based on the study objectives
Eg: 1.2.3: Represents Program Outcome ‘1’, Competency ‘2’ and Performance Indicators ‘3’.
Course Content
Unit –I
Introducing DevOps, The Agile wheel of wheels, DevOps and ITIL, Infrastructure As A Code, Continuous Integration and Development.
1
4 hrs
Linux and Automation
User Management, Package Management, Networking, Shell Variable, Decision making, Shell test conditions, Shell loops, Redirectors, Exit status.
AWS Cloud
2
Introduction to cloud computing & AWS, Regions & AZ’s, EC2, Elastic Block store (EBS), EFS, Auto scaling, Load balancing & Route 53, VPC, Object 2 hrs
Unit –II
Source Code Management (SCM), Git branching and merging, Git Overview, Creating pull request, Code Review, Merging changes, Create a repo and push code
3
on GibHub / Bitbucket. 4 hrs
Introduction, Setup & Launch Jenkins, Creating first job, Notifications, CICD pipeline, Build Pipeline plugin in Jenkins.
Unit –III
5 Containers 2 hrs
Containers Concepts, Container Vs Virtual Machine, Docker installation, Managing Container with Docker Commands, Building your own docker images.
What is continues monitoring, Goals, Types of Continues monitoring, Prometheus installation, Grafana installation, Integration of Prometheus and Grafana.
Text Books:
1. Joakim Verona, “Practical DevOps.” Packt Publishing Ltd, Feb. 2016, ISBN: 9781785882876
2. Jeff Geerling, “Ansible for DevOps: Server and configuration management for humans.” Leanpub, 2015.
3. John Ferguson, “Jenkins: The Definitive Guide” Smart Publisher: O'Reilly Media, Release Date: June 2016.
Reference Books:
1. Jennifer Davis, Ryn Daniels, “Effective DevOps, Building a Culture of Collaboration, Affinity, and Tooling at Scale”, Publisher: O'Reilly Media, Release Date: June 2016.
2. Gene Kim, Patrick Debois, John Willis, Jez Humble, “The DevOps Handbook: How to Create World-Class Speed, Reliability, and Security in Technology Organizations”, IT Re-
Evaluation Scheme
Review 30
Day-to-Day Evaluation 10
ISA Scheme
Quiz (Interview Questions) 20
(80 Marks)
Certification Courses from Infosys Springboard 20
ISA Total 80
ESA Scheme
Lab Exam 20
(20 Marks)
Total 100
Unit I
Unit II
1 Experiments /
Continues Integration using Jenkins 10 1
Exercises
1
Configuration Management using Ansible 10 1
Unit III
Containers 10 1 1
Quiz
1
Continues Monitoring using Prometheus and Grafana 10 1
Assessment Methods
Weightage in
Course outcomes (COs) Day-to day
assessment Review Quiz Certification courses ESA
evaluation
Create the GitHub A/C to demonstrate CI/CD pipeline using Cloud Platform.
Focus Marks BL PI
Chapter Number and Title: Introduction to DevOps and Continuous Delivery Planned Hours: 4 hrs
Learning Outcomes: -
5. Understand Linux commands for user management, package management, and networking 2 L2 1.6
4. Explain how DevOps and Information Technology Infrastructure Library can coexist to deliver effective results. 1 L2 1.6.1
5. Explain the agile wheel of wheels and mention some examples of when DevOps can benefit Agile cycles 1 L2 1.6.1
8. List the operators of each type, with short description for each, and the syntax of usage with example for Linus shell test conditions.
2 L2 2.1.4
9. Explain the steps to loop in Bash | Linux /Shell Script | Automation. 2 L3 1.4.1
10. How to manipulate files with shell redirection and pipelines in Linux. 2 L3 1.4.1
Laboratory Experiment
1 L2 2.1.4
1. Familiarize students with essential Git concepts and commands, enabling them to effectively use Git for version control and collaboration.
2. Introduction of Linux Operation System and installing pre-requisite Software’s (SSH Tools and FTP Tools) in Desktop/Laptop.
2 L2 2.1.4
3. Experiment on Linux File/Directory structure and Linux Commands.
At Learning Outcomes: -
2. Understand EC2, EBS, EFS, Auto scaling, Load balancing & Route 53, VPC, 2 L2 1.6
3. Create Linus server on AWS cloud and store objects in S3, 2 L3 1.6
4. Monitor IAM & cloudwatch, and database services, on AWS Lambda & CLI 2 L3 1.6
2 L2 2.1.4
1. What is Amazon route 53 and How does Amazon Route 53 provide high availability and low latency?
2. What is the difference between using the local instance store and Amazon Elastic Block Store (Amazon EBS) for the root device? 2 L2 2.1.4
3. What is Amazon EC2 Auto Scaling? When should one use Amazon EC2 Auto Scaling vs. AWS Auto Scaling? 2 L2 2.1.4
4. What is AWS Identity and Access Management (IAM)? How to get started with IAM in Linux server system? 2 L3 1.4.1
5. What is CLI and What are the use cases of a CLI? 2 L3 1.4.1
Laboratory Experiment
Learning Outcomes:-
1. Introduce to Source Code Management (SCM), and understand Git branching and merging, 2 L2 2.1
2. Create Git pull request, review code, and merge changes 2 L3 2.1
5. Schedule a job using Poll SCM and distributed architecture in Jenkins, 3 L3 2.1
6. Adding Linux slave to Jenkins, master build pipeline plugin in Jenkins 3 L3 2.1
2. Explain the difference between Git and GitHub. How does Git handle version control? 2 L2 2.1.4
3. How to create a new Git repository and clone it to your local machine? What is the difference between a Git branch and a tag? 2 L2 2.1.4
4. Discuss the Git workflow for a team of developers. How to resolve a Git conflict when merging branches? 2 L3 1.4.1
7. Explain the significance of CI/CD in the context of web development. How does it benefit the development process and end-users? 1 L2 2.1.4
8. Discuss the role of version control in CI/CD. How does Git facilitate
1 L2 2.1.4
collaborative web development and CI/CD automation?
9. Explain how a Jenkins file is typically used in a Jenkins-based CI/CD pipeline. What are the benefits of defining pipeline stages in code? 2 L3 1.4.1
Laboratory Experiment
4. Applying CI/CD Principles to Web Development Using Jenkins, Git, and Local HTTP Server 1 L2 2.1.4
Learning Outcomes: -
3. Why use ansible ad hoc commands? Demonstrate use of ad-hoc commands for use cases of rebooting servers and managing files and
4 L2 2.1.4
packages.
5. Illustrate steps in running Ansible playbooks using EC2 systems manager run command and state manager 4 L3 5.4.2
Laboratory Experiment
Learning Outcomes:-
1. Discuss the key components of a container. What are images and containers in the context of containerization?
4 L2 2.1.4
2. What is Docker, and how does it contribute to containerization? Explain the role of Docker in building, running, and managing con -
4 L2 2.1.4
tainers.
3. Compare and contrast containerization platforms like Docker, container. What are their respective strengths and weaknesses?
4 L3 1.4.1
4. Explain the process of creating a Docker image. What is a Dockerfile, and how does it help in image creation? 4 L3 1.4.1
5. What is Prometheus? With a neat block diagram explain the architecture of Prometheus. 5 L2 2.1.4
6. What is Prometheus Node Exporter? Explain the steps to deploy the Node Exporter on Kubernetes. 5 L2 2.1.4
7. How to monitor Linux host metrics with the node exporter? 5 L2 2.1.4
Laboratory Experiment
2. Develop a simple containerized application using Docker and automate the process of running containerized application using Prometheus and
5 L3 5.4.2
Graphana.