DevOps Module1
DevOps Module1
Dr.Mohana S D,
Assistant Professor,
(Course Instructor Incharge - CSA1007)
School of Information Science,
Presidency University Bengaluru.
Main Topic
Modules
1 Basic Linux Commands
Permissions:
chmod: Change file permissions.
chown: Change file ownership.
Phases of SDLC:
1 Requirement Analysis: Identify user needs.
2 Design: Create system and software architecture.
3 Implementation: Write and assemble code.
4 Testing: Validate functionality and fix bugs.
5 Deployment: Deliver the product to users.
6 Maintenance: Update and improve the system.
SDLC
SDLC
Roles of SDLC:
1 Project Manager: Oversees the project, manages schedules, budgets,
and resources.
2 Business Analyst: Gathers and analyzes requirements from
stakeholders.
3 Software Architect: Designs the system’s overall structure and defines
technical standards.
4 Developers: Write and implement code based on design specifications
5 Testers (Quality Assurance): Ensure the software meets quality and
functional requirements.
Roles of SDLC:
1 UI/UX Designers: Design user interfaces for a seamless user
experience
2 DevOps Engineers: Automate deployment, monitoring, and scaling
processes.
3 Database Administrator (DBA): Manage database design,
implementation, and optimization.
4 System Administrators: Maintain infrastructure and ensure system
availability.
5 Support Engineers: Handle post-deployment issues and user feedback.
Waterfall Model
Waterfall Model
Waterfall Model
Waterfall Model
Waterfall Model
Implementation Phase
1 Purpose: Development of the software based on the design.
2 Server Requirements: Application Servers: Host and run the
application code during development.
3 Examples: Tomcat, Nginx, Apache.
4 Version Control Servers: Manage source code repositories.
5 Examples: GitHub, GitLab, Bitbucket.
6 Build Servers: Compile and build the application.
7 Examples: Jenkins, TeamCity.
8 Development Environment Servers: Provide environments for coding
and testing.
9 Examples: Docker containers, Vagrant VMs.
Waterfall Model
Testing Phase
1 Purpose: Test the application for bugs, performance, and quality.
2 Server Requirements: Testing Servers: Run automated and manual
tests.
3 Examples: Selenium Grid, JUnit, TestNG.
4 Staging Servers: Mimic the production environment for testing.
5 Examples: AWS EC2 instances, Azure VM.
6 Bug Tracking Servers: Track and manage issues.
7 Examples: Jira, Bugzilla.
8 Performance Testing Servers: Test scalability and response times.
9 Examples: Apache JMeter, LoadRunner.
Waterfall Model
Deployment Phase
1 Purpose: Deploy the application to production.
2 Server Requirements: Production Servers: Host the final application.
3 Examples: AWS EC2, Azure, on-premises servers.
4 Database Servers: Manage application data.
5 Examples: MySQL, PostgreSQL, MongoDB.
6 Load Balancing Servers: Distribute traffic to ensure high availability.
7 Examples: HAProxy, Nginx, AWS Elastic Load Balancer.
8 Backup Servers: Backup deployed applications and databases.
9 Examples: Veeam, AWS S3.
Waterfall Model
Maintenance Phase
1 Purpose: Ensure the system runs smoothly and is updated as needed.
2 Server Requirements: Monitoring Servers: Track system health and
performance.
3 Examples: Nagios, Prometheus, Grafana.
4 Logging Servers: Collect and store logs for debugging and auditing.
5 Examples: ELK Stack (Elasticsearch, Logstash, Kibana).
6 Patch Management Servers: Host and deploy updates and patches.
7 Examples: WSUS (Windows Server Update Services), Ansible.
8 Help Desk Servers: Manage support tickets and user feedback.
9 Examples: Zendesk, ServiceNow.
Agile Model
CSA2020
Figure: Agile model
Introduction to DevOps 18 / 44
Lean Methodology
Lean Methodology
DevOps Model
Agile SDLC Models: plan, code, build, test, release, deploy, operate,
monitor, feeedback and iterate.
DevOps: Plan
DevOps: Code
DevOps: Build
DevOps: Test
DevOps: Release
DevOps: Deploy
DevOps: Operate
DevOps: Monitor
Introduction to Git
What is Git?
Distributed Version Control System.
Tracks changes in files.
Benefits of Git:
Collaboration.
History tracking.
Branching and merging.
Git Workflow
Git vs GitHub
Git:
Version control tool.
Works locally.
GitHub:
Hosting service for Git repositories.
Enables team collaboration.
Installation of Git
On Windows:
1 Download the installer from git-scm.com.
2 Run the installer and follow the setup wizard.
3 Configure username and email:
Installation of Git
On Linux:
1 Install via package manager:
2 sudo apt-get install git
Working Locally:
1 Initialize Repo: git init
2 Check Status: git status
3 Stage Files: git add file
4 Unstage Files: git restore –staged ¡file¿
5 Commit Changes: git commit -m ”message”
Working Locally:
1 Initialize Repo: git init
2 Check Status: git status
3 Stage Files: git add file
4 Unstage Files: git restore –staged ¡file¿
5 Commit Changes: git commit -m ”message”
File Lifecycle:
1 Untracked: Newly added files.
2 Tracked: Files under version control.
3 Modified: Edited files.
4 Staged: Changes marked for commit.
5 Committed: Saved to the repository.