DevOps Training
Course
Syllabus
LINUX: BASICS & ADMIN
Linux OS Introduction
Importance of Linux in DevOps LINUX: NETWORKING
Fetching OS and Hardware
information
Introduction to network.
Linux Basic Command Utilities
Introduction to network in Cloud.
File and Directory Management.
Firewall
Linux File Editors (VIM)
Load Balancer
Utilities to download software
Port
into Linux from Internet
Protocol
User Administration
IP Address
File permission management
DNS
Package Management
DHCP
Service Management
Static IP
WEB APPLICATION ARCHITECTURE
Enterprise 3-tier Application layout In software engineering, multitier architecture
Haproxy Load balancer. (often referred to as n-tier architecture) or
multilayered architecture is a client–server
Apache Web Server
architecture in which presentation, application
Apache Tomcat Server processing, and data management functions are
MariaDB Server physically separated. The most widespread use of
multitier architecture is the three-tier architecture.
MOD_JK Proxy
Integration of Web Server with Application N-tier application architecture provides a model
by which developers can create flexible and
Server.
reusable applications. By segregating an
Integration of Application Server with DB application into tiers, developers acquire the
Server. option of modifying or adding a specific layer,
instead of reworking the entire application. A
Best practices of architecture. three-tier architecture is typically composed of a
Horizontal scaling vs Vertical scaling. presentation tier, a domain logic tier, and a data
storage tier.
CONFIGURATION MANAGEMENT - ANSIBLE
Introduction
Ansible and Infrastructure
Management
Ansible Inventory
o Ungrouped Hosts Conditions
o Grouped Hosts o When
o Groups of Groups Loops
Ansible Server Installation o with_items
Ansible Server Configuration file How to store output of one task
o Update Username and use it in another task.
o Update Keys Variables From
o Update SSH Parameters o vars
o Update Roles o vars_files
o Update Inventory o vars_prompt
o Update MISC parameters o vars from inventory hosts
How Ansible picks the configuration o vars from inventory groups
Setting up SSH KEYS to and o roles
checking connection to remote Roles
nodes. o Create Role
Ansible Facts. o Define Role
o Default facts from nodes o Write roles
o Create custom facts on nodes. o Role Dependencies
o How to print facts o Variables from Roles
Ansible Playbooks o Variable Precedence.
o 'hosts' parameter MISC
o 'become' parameter o Ansible Vault
o 'gather_facts' parameter o Ansible Pull
o 'tasks' parameter o Ansible Galaxy
o 'vars' parameter
o 'vars_files' parameter
o 'vars_prompt' parameter
o 'handlers' parameter
o 'roles'
List of Modules to be discussed:
• setup, ping, yum, yum_repository, service, copy, get_url, shell, command,
set_fact, authorized_key, user, debug, file, find, fetch, hostname, include,
include_vars, mail, package, stat, unarchive, gce, ec2, wait_for, wait_for_connection
VERSION CONTROL – GIT
Version Control System
Centralized & Distributed Version BUILD TOOLS – MAVEN
Control System
Advantages of Git
GIT Java Compiler
o Anatomy of GIT Maven Life Cycle
o GIT Features Maven Installation
Maven build requirements
o 3-Tree Architecture
o GITHUB Projects Maven POM XML File
o GITHUB Management Maven G A V explained
o GIT Clone / Commit / Push / Add a custom life cycle in Maven
Merge Integrate Artifact manager to
Maven.
o GITLAB Installation &
Configuration Integrate Maven with Code
o GITLAB Management Analysis tools like SonarQube.
o Introduction to GITLAB-CI Integrate Maven with testing code
analysis tools , with Selenium
Integrate Maven with executing
shell command for Ad-Hoc
requests.
REPOSITORY TOOLS – SONATYPE NEXUS
What is Aritifact manager
Artifact manager tools
Understanding Maven Release and Snapshot functionality.
Sonatype Nexus Installation
Nexus with Maven Integration
Using default repositories
Create Roles in Nexus
Create Users to Nexus
Assign Roles to Nexus Users
CONINOUS INTEGRATION - JENKINS
Introduction to Jenkins
Intro to Jenkins-CI
o Continuous Integration with Jenkins Overview
o Installation of Jenkins Master and Jenkins Slave.
o Configure Jenkins
o Jenkins management
o Support for the Git version control systems
o Different types of Jenkins Jobs
o Setting up a Jenkins job
o Scheduling build Jobs
o Maven Build Scripts
o Securing Jenkins
Securing Jenkins
o Authentication
o Authorization
o Confidentiality
o Creating users
Jenkins Plugin
o Installing Jenkins Plugins
o SCM plugin
o Build and test
o Analyzers
Distributed builds with Jenkins
Best Practices for Jenkins
Jenkins Pipeline Projects.
Groovy Scripting Basics.
Jenkins Blue Ocean Projects.
Integration of Jenkins with Ansible
Integration of Jenkins with Chef
Integration of Jenkins with AWS & Google Cloud
CONFIGURATION MANAGEMENT – CHEF
Chef fundamentals
o Chef Syntax and Examples
o Working with Knife
o Writing First Chef Recipe
o Chef and Its Terminology
o Attributes
o Metadata
o Recipes Modeling your infrastructure
o Resources o Roles
o Templates o Implementing a role
o Definitions o Determining which recipes you need
o Recipes o Applying recipes to roles
o Writing recipes o Mapping your roles to nodes
o Cookbook Dependencies o Environments.
o Controlling Impotency o Organizing your configuration data
o Notifications
o Template Variables
o Chef-Solo
o Chef-Server
Cookbooks
o Developing Your First Cookbook
o Writing a Recipe
o Creating the Index File
o Changing the Metadata
o Uploading the Cookbook
o Running the Cookbook
o Add an Attribute
o Add a Resource t the Default Recipe
o Add the Template File
o Uploading and Running the Cookbook
o Using Environments
CONTAINERS - DOCKERS
What are containers? Intro to Kubernetes
Difference between VM’s and Kubernetes Architecture
Containers Kubernetes Master
Hypervisor Vs Docker Engine Kubernetes Node
Docker Introduction kubectl
Docker Installation Pods
Docker Images Replication Controllers
Docker Commands and different Deployment Groups
options Service & Load Balancers
Creating own Docker images using Health checks
commit. Name Spaces
Creating own images using Volumes
Dockerfile nodes
Automating Image creation with
DockerHub and Jenkins.
Limiting Docker Resources.
Exposing Ports and mapping
volume
OVERVIEW TOOLS
JIRA
SonarQube
Nagios
ELK Monitoring
Selenium
Python Scripting
Shell Scripting
AWS Course Content
INTRODUCTION TO CLOUD COMPUTING
o Introduction to cloud computing world
o History
o Cloud business models
o Public, Private and Hybrid cloud models
o Advantages of cloud computing
OVERVIEW
o AWS Regions and Availability zones.
o Tools to access services.
o Overview of the console.
AWS EC2(ELASTIC COMPUTE CLOUD)
o Introduction to EC2.
o Pricing models On-demand vs Reserved vs Spot instances.
o Using Amazon Machine Images (AMIs) to create the instances.
o Public vs Private Images.
o Sharing Images to other accounts.
o Logging into instances using key pairs.
o Converting pem files to ppk.
o Volumes and types.
o Using snapshots for backup.
o Increasing the size of the volumes.
o Backup and restore process of the EC2 instances.
o Adding network interfaces.
o Assigning static IPs using Elastic IPs.
o Control access to instances using Security Groups.
ELASTIC LOAD BALANCER
o Introduction to Elastic Load Balancing.
o Creating ELB from Console.
o Attaching instances to ELB.
o Configuring Ports, Protocols and health checks.
CLOUD WATCH
o Introduction to CloudWatch monitoring service.
o Monitoring CPU, Memory and network utilization of different resources.
o Creating notifications.
RELATIONAL DATABASE SERVICE
o Introduction to Managed database.
o Creating RDS instances using AWS console.
o Choosing an RDS engine and version.
o Public vs Private database instances.
o Multi-AZ setup.
o Backup using snapshots and point in restore.
o Parameter Group.
o Options Group.
o Control access to instances using Security Groups.
AUTO SCALING
o Overview.
o Creating launch configuration.
o Creating auto-scaling group.
o Auto-scaling policies.
AWS S3(SIMPLE STORAGE SERVICE)
o Introduction to Simple Storage Server (S3).
o Storage options (default vs reduced redundancy vs Glacier).
o Creating buckets using Console.
o Uploading and downloading data to S3.
o Building static websites using S3.
o Enable version control on S3.
o S3 access policies.
IDENTITY ACCESS MANAGEMENT (IAM)
o Introduction to IAM.
o Access controls using IAM.
o Creating users, groups and roles.
o Assigning policies.
o Inline vs Managed policies.
VIRTUAL PRIVATE CLOUD (VPC)
o Introduction.
o Choosing a network design and CIDR.
o Design a simple network.
o Creating Subnets and setup routing as per the design.
o Using IGW to enable internet access.
o Access controls using Network ACLs. Network ACLs vs Security Groups.
o Creating Private connections from data center to AWS.
o Enabling VPC peering between VPCs.
AWS CODECOMMIT
o Setting Up
o Getting Started
o Product and Service Integrations
o Working with Repositories
o Working with Commits
o Working with Branches
o Working with User Preferences
o Migrate to AWS CodeCommit
o Troubleshooting
o Authentication and Access Control
AWS CODEBUILD
o Getting Started
o Plan a Build
o Run AWS CodeBuild Directly
o Use AWS CodePipeline with AWS CodeBuild
o Use AWS CodeBuild with Jenkins
o Working with Build Projects and Builds
AWS CODEDEPLOY
o Deployments
o Application Specification Files
o Working with the AWS CodeDeploy Agent
o Working with Instances
o Working with Deployment Configurations
o Working with Applications
o Working with Deployment Groups
o Working with Application Revisions
o Working with Deployments
o Authentication and Access Control
o AppSpec File Reference
WHAT IS AWS CODEPIPELINE?
o Concepts
o Product and Service Integrations
o Working with Pipelines
o Working with Actions
o Working with Stage Transitions
o Monitoring Pipelines
USING CLI
o Installing AWSCLI .
o Installing CLI tools using rpm or pip.
o Configuring credentials.
o AWS CLI syntax.
o Creating and managing resource using CLI.