Devops Syllabus
Devops Syllabus
DevOps Introduction:
• Why DevOps and roles and responsibilities
• How DevOps and Cloud exists in today’s world
• What is Continuous Integration and Delivery how it’s related to DevOps
Linux:
• Linux Introduction, Principles and Linux Distro
• Command line utilities and basic commands
• Linux File system introduction
• Text Editors
• Filters and Redirections
• Users & Groups and Permissions
• Sudo
• Software Distribution / Installation / Management: Redhat & Ubuntu
• Tools: telnet, scp, ssh, rsync, disk utils
Networking Fundamentals:
• Computer networks basics like LAN, WAN, P2P etc
• Switches, Routers
• Network Protocols
• Sockets and Ports
• IP address/ DNS/ DHCP
Learning Application Technologies and Architectures:
• Database
• Java language Fundamentals like compiler, JVM and packaging
• Basic concepts of Web Application development in Java
• Application Servers and Deployments
Git:
• What is version control system?
• Compare Git with others and why is it called Distributed Version
• Control System?
• Git Architecture.
• Create an Local Git Repository
• Operations like commit, pull, push, clone, merge, cherry pick and rebase
• Git Branches and how t use
• GitHub a remote repository
• Setting up GitHub account and publishing our code and managing
• Integration with Eclipse IDE
Maven:
• What are build tools?
• Compare Ant and Maven
• GAV Coordinates in Maven
• Build a Java Application using Maven
• Dependency Management
• Plugins as a building block in maven build
• Building and deploying java web application using maven
Jenkins:
• Introduction to Continuous Integration.
• Build & Release and relation with DevOps
• Why continuous integration
• Jenkins introduction and setup
• Jenkins projects/jobs
• Jenkins plugins
• Jenkins administration:
o Users
o Nodes/Salves
o Managing plugins
o Managing Software Versions
Virtualization:
• Introduction and Purpose of Virtualization technology
• What is Hypervisor software?
• Virtual box/Vagrant
Vagrant:
• What is Vagrant, why is it used for?
• Install Vagrant and Virtual Box
• Run Your first box
• Box Status
• Connect t a box
• Halting and destroying box
• Vagrant Cloud
• Look at Vagrantfiles
• Vagrant Sync Folders
• Vagrant Networking
• Vagrant Providers
• Vagrant Provisioners
• Develop and deploy an application on Vagrantbox
• Vagrant multi-machine Vagrantfile
• Create a base box
• Upload a box to Vagrant Cloud
JFrog Repository:
• Introduction and Setup
• Configuring Remote / Virtual Repositories in JFrog
• Building Maven Applications using JFrog Repository
Docker:
• Introduction to Docker
• Virtualization and Containerization differences
• Docker Installation
• Docker CLI
• Run your first Docker Container
• Copy Files in the Docker Image
• Docker, Maven and Jenkins
• Tag and share docker images
• Database Installation with Docker Image
• Learning DockerFile
• Creating our own Docker Image
• Docker Networking
Kubernetes:
• Kubernetes intro and Architecture
• Kubernetes Setup
• Running Docker containers on Kubernetes
• Kubectl
• What is Pod, Service, Controller and Deployment in Kubernetes
Ansible:
• Introduction to Ansible
• Compare Ansible, Chef and Puppet
• YAML Basics
• Adhoc Commands
• Playbooks
• Roles
• Variables
AWS Cloud:
• Creating AWS account
o Free tier Eligible services
o Understanding AWS Regions and availability zones
• EC2 (Elastic Cloud Compute)
o About EC2 and types,
o Pricing
o EIP (Elastic IP address),
o Allocating, associating, releasing
o Launch windows and Linux Instances in AWS
• S3 (Simple Storage Service)
o About AWS Storage services,
o EBS and S3
o Creating S3 Buckets and putting objects in bucket and
o discussion about Bucket Properties
o S3 Pricing
o About S3 glacier
• EBS (Elastic Block Storage)
o Types of EBS Volumes
o Creation, attaching and Detaching volumes
• RDS (Relational Database server)
o About RDS and available RDS Engines in AWS
o Configuring MYSQL RDS service
o Connecting EC2Instance tRDS Instance