Devops Syllabus
Devops Syllabus
• Define Devops
• What is Devops
• SDLC models,Lean,Agile
• Why Devops?
• History of Devops
• Devops Stakeholders
• Devops Goals
• Important terminology
• Devops perspective
• Devops and Agile
• Devops Tools
• Configuration management
• Continuous Integration, Continuous Deployment and Continuous Delivery
INTRODUCTION TO VIRTUALIZATION
• What is Virtualization?
• History of Virtualization
• What is Hypervisor?
• Types of Server Virtualization
• Benefits of Virtualization
• Important Virtualization products
• Amazon EC2
• Amazon Elastic Load Balancer
• Amazon Route 53
• Amazon VPC
• Amazon Simple Storage Service (Amazon S3)
• Amazon Elastic Block Store (Amazon EBS)
• Amazon Content Delivery Network (Amazon CloudFront)
• Amazon Relational Database Service (Amazon RDS)
• Amazon DynamoDB
• Amazon ElastiCache
• Amazon Simple Notification Service (SNS)
• Amazon CloudWatch
• Amazon CloudTrail
• Amazon Simple Email Service (Amazon SES)
• AWS Identity and Access Management (IAM)
• Amazon Command Line Interface API
• S3-Browser
Linux Administration
• A Linux Introduction
• Open Source Philosophy
• Distributions
• Embedded Systems
• Command Line Basics
• Basic Shell
• Command Line Syntax - ls
• Command Line Syntax - $PATH, Case Sensitivity
• Command Line Syntax - Basic Commands
• Command Line Syntax - uname
• Command Line Syntax - Command History, Command Completion
• Command Line Syntax - cd and pwd
• Shell Configuration Files
• Variables - Environment / System Variables
• Variables - User Defined
• Globbing
• Quoting
• Formatting Commands
• Working with Options
• Using the Command Line to Get Help
• Man
• Info
• locate, find, whereis, and using /usr/share/doc/
• Exercise: Man Page Walkthrough
• Exercise: Basic Command Line
• Using Directories and Listing Files
• The Linux File System
• Files, Directories
• Hidden Files and Directories
• Home
• Absolute and Relative Paths
• Exercise: Maneuvering the Linux File System
• Creating, Moving and Deleting Files
• Files and Directories
• Case Sensitivity
• Simple Globbing and Quoting
• The Power of the Command Line
• Archiving Files on the Command Line
• Files, Directories
• Archives, Compression
• Searching and Extracting Data from Files
• Commands (Revisited)
• Command Line Pipes
• I/O Redirection
• Regular Expressions
• Exercise: Practicing with Pipes and Grep
• Turning Commands into a Script
• Basic Text Editing
• Basic Shell Scripting
• Basic Shell Scripting, Continued
• Exercise: Using the vi Text Editor
• Available
• Choosing an Operating System
• Windows, Mac, and Linux Differences
• Distribution Life Cycle Management
• Understanding Computer Hardware
• Hardware
• Where Data is Stored
• Kernel
• Processes
• syslog, klog, dmesg
• /lib, /usr/lib, /etc, /var/log
• Your Computer on the Network
• Internet, Network, Routers
• Domain Name Service and the Default Gateway (Network Router)
• Network Configuration
• Security and File Permissions
• Basic Security and Identifying User Types
• Root and Standard Users
• System Users
• Creating Users and Groups
• User IDs
• User Commands
• Group Commands
• Exercise: Managing User Accounts
• Exercise: Creating User Groups
• Managing File Permissions and Ownership
• File/Directory Permissions and Owners
• Special Directories and Files
• Symbolic Links
• System files, Special Files, and Sticky Bits
Installing Git
• Creating repository
• Cloning, check-in and committing
• Fetch pull and remote
• Branching
Jenkins – Continuous Integration
• Introduction to Jenkins
• CI/CD Concepts
• Continuous Integration and Continuous Delivery
• Quiz: CI/CD Concepts
• Installing and Configuring Jenkins
• Prerequisites
• Jenkins Install
• The Dashboard
• User Management and Security
• Adding a Jenkins Slave
• Setting Up GitHub
• Plugin Manager
• Exercise: Install a Jenkins Master and Prerequisites
• Exercise: Configuring Matrix-Based Security
• Exercise: Add a Jenkins Slave
• Exercise: Working with the Plugin Manager
• Quiz: Installing and Configuring Jenkins
• Projects
• Freestyle Project Configuration
• Source Code Management and the Git Plugin
• Git Hooks and Other Build Triggers
• Workspace Environment Variables
• Parameterized Projects
• Upstream/Downstream Projects and the Parameterized Trigger Plugin
• Folders
• Views
• Exercise: Configure a Parameterized Freestyle Project?
• Hands-on Labs: Configure a Jenkins Freestyle Project
• Hands-on Labs: Jenkins Upstream and Downstream Projects with the Parameterized Trigger
Plugin
• Quiz: Projects
• Pipelines
• Our Java Pipeline Project
• Docker Install
• Installing and Configuring Ant
• The Jenkinsfile
• Configuring and Running a Pipeline
• Artifacts and Fingerprints
• Exercise: Build a Simple Pipeline Without SCM
• Hands-on Labs: Configure a Jenkins Pipeline
• Quiz: Pipelines
• Testing With Jenkins
• About Testing
• Unit Testing with JUnit and Ant
• Deploying to Apache
• Functional Testing
• Quiz: Testing With Jenkins
• Pipeline Enhancements
• Multibranch Pipelines and Code Promotion
• Tagging
• Notifications
• Shared Pipeline Libraries
• Exercise: Configure Notifications in a Pipeline
• Hands-on Labs: Configure a Jenkins Multibranch Pipeline
• Quiz: Pipeline Enhancements
• Advanced Jenkins Administration
• The Jenkins CLI
• The Jenkins REST API
• Setting Up a Jenkins Master with Docker
• Exercise: Using the Jenkins CLI
• Exercise: Using the Jenkins REST API
• Quiz: Advanced Jenkins Administration
Ansible Duration:
• Introduction to Ansible
• Ansible Agentless Architecture
• Installation
• Ansible Inventories
• Ansible Modules
• Ansible Playbooks
Docker– Containers
Introduction
• What is a Docker
• Use case of Docker
• Platforms for Docker
• Dockers vs Virtualization
Architecture
• Docker Architecture.
• Important Docker components
• Understanding the Docker components
Installation
Provisioning
• Docker Hub.
• Downloading Docker images.
• Running Docker images
• Running commands in container.
• Running multiple containers.
Custom images
Docker Networking
• Accessing containers
• Linking containers
• Exposing container ports
• Container Routing
• DevOps Consultant
• DevOps Engineer
• DevOps Architect
• Operating System Analyst – Devops
• Application Developer DevOps
• DevOps QA Automation
• Release Engineer – DevOps
• DevOps Tester