DevOps Syllabus VIIT
DevOps Syllabus VIIT
Prerequisites :
• Operating Systems
• Computer Networks
• Database Management Systems
• Any programing language
Course Objectives:
Course Outcomes:
After completion of the course, student will be able to
1. Explain Linux commands, networking concepts and database concepts
(Understand)
2. Demonstrate how to use public cloud to solve deploy applications (Apply)
3. To develop terraform code to create infrastructure on any cloud provider
(Create)
4. To write Configuration management playbooks to automate the
server configurations (Create)
5. Demonstrate the how the containerization technology is used to
deploy applications (Apply)
6. To differentiate the between different software development life cycles
methods (Analyze)
Unit I : Fundamentals
Network Fundamentals: The OSI Model, TCP vs UDP, IP addressing & Subneting,
Routing & Firewall, Storage Fundamentals: Block Storage, Object Storage, File
storage, SAN, NAS
Linux Introduction and Essential Commands: Introduction, History, Usage,
Flavours, Linux Commands Shell Scripting: Basics, Arithmetic & Logical Operations,
Cron, Loops
Unit II :
Cloud Fundamentals: What is Cloud? Properties of cloud, Benefits of using cloud,
service models, deployment models Course Fundamentals and AWS Accounts:
AWS Accounts - The Basics, Creating an AWS Account, Securing An AWS Account,
Creating a Budget, IAM, Creating Access keys and setting up AWS CLI v2 tools
Simple Storage Service (S3), virtual private cloud (vpc) basics, elastic compute cloud
(ec2) basics, Infrastructure as Code (CloudFormation), Load Balancing, Systems
Manager, AWS Lambda
Unit III : Terraform
Introduction: What You Need to Know About Infrastructure as Code, Infrastructure
as Code Defined, Declarative vs. Imperative, Idempotence and Consistency, Benefits
of Infrastructure as Code. Understand Terraform's purpose (vs other IaC) :
Explain multi-cloud and provider-agnostic benefits
Understand Terraform basics: Handle Terraform and provider installation and
versioning, Describe how Terraform finds and fetches providers, provisioners and
when to use local-exec or remote-exec. Deploying Your First Terraform
Configuration: Installing Terraform, Using the CLI, Terraform Object Types,
General Block Syntax, Terraform Workflow, Deploying the Base Configuration,
Validating the Deployment, Implement and maintain state, Using Input Variables and
Outputs, Module.
Unit IV : Ansible
YAML: YAML Fundamentals. Ansible Introduction: What Is Ansible, Provisioning,
Automation. Architecture: Why Use Ansible, Architecture and Process Flow,
Architecture Introduction, Components Overview, Process of Execution and Flow,
Execution Types. Playbook Concepts: Installing Ansible, Playbooks Introduction,
Packages: apt, become, with items, Services: service, Ansible Inventory and
Configuration: Inventory Fundamentals, Ansible Modules: Ansible Modules
Fundamentals, Roles: Role Basics
Unit V : Docker and Kubernetes
Virtuallization Fundamentals: Virtualization, Hypervisor, Docker containers,
Containers vs VMs.
Docker Introduction : Docker Engine Architecture, Docker Engine Setup on Linux or
windows, Basic Container Operations, Interacting with a Running Container, Stopping
and Removing a Container, Docker Image Management: Docker Image Registry,
Removing a Docker Image, Save and Load Images, Docker Engine - Storage :
Docker Storage, Docker Volume.
Kubernetes
Kubernetes Architecture, Scheduling, Application Lifecycle Management, Security,
Helm Introduction.
Unit VI : DevOps
Explain what is DevOps Culture, Continuous Delivery/Continuous Integration, Various
tool used in Devops phases, Git and Github introduction, Automation Testing
introduction, Monitoring, Maven, Jenkins Introduction
Reference:
1 Computer Networks, 5th Edition, Book by Andrew S. Tanenbaum,
Database Management System, Avi Silberschatz · Henry F. Korth ·
S. Sudarshan, UNIX, concepts and applications by Sumitabha Das
2 AWS Documentation (https://docs.aws.amazon.com/)
3 Terraform documentation (https://www.terraform.io/docs)
4 ansible documentation (https://docs.ansible.com/) (youtube: DevOps |
Introduction to YAML, Ansible Complete Tutorial | Learn Complete
Ansible From Basic To Advanced Level | Nehra Classes)
5 Docker Documentation (https://docs.docker.com/get-started/)
Kubernetes Documentation (https://kubernetes.io/docs/home/)
6 https://online-pmo.com/wp-content/Education/Learning%20DevOps.pdf ,
https://git-scm.com/book/en/v2, https://www.techmagic.co/blog/best-
application-deployment-strategies/ , https://www.jenkins.io/doc/
Cloud Computing and DevOps Laboratory
Teaching Scheme: Credit Examination Scheme:
Practical : 2 Term Work: 25 Marks
Hours/Week Presentation: Marks
Companion Courses: Cloud Computing and DevOps
Course Objectives and Outcomes: Practical hands on is the absolute necessity as far as
employability of the learner is concerned. The presented course is solely intended to
enhance the competency by undertaking the laboratory assignments of the elective courses.
1. Linux commands practice
2. Shell scripting programs
3. Deploy web application on AWS cloud (use VPC, ec2, load balancer, route-53 service)
4. Deploy static website using s3 bucket
5. Write IaC using terraform to create EC2 machine on aws (use modules, input and
output)
6. Write a ansible playbook to deploy Apache Web server. (use roles)
7. Deploy a Node.js application using Docker.
8. Deploy an app on kubernets cluster
9. Create a CI/CD pipeline using Jenkins
Prepared By
V. A. Meshram
Assistant Professor,
Dept. Of Computer Engineering,
VIIT, Pune - 48
Cell No: +91 98609 35993