DVS_Multi_Cloud_Next_Gen_DevOps_Course_Content
DVS_Multi_Cloud_Next_Gen_DevOps_Course_Content
Course Details
Overview
This course is for those who are completely new to multi cloud. No prior cloud experience is
required. We will introduce you to azure & aws, walk you through the process of setting up
your own accounts, and teach you the essentials to get you using multi cloud core services.
What is IAM?
IAM Initial Setup and Configuration
IAM Users and Policies
IAM Groups and Policies
S3 Basics
Buckets & Objects
Storage Classes
Object Lifecycles
Permissions
Object Versioning
Address: DVS Technologies, Mobile: 8892499499 Website: www.dvstechnologies.in
MODULE 5: ELASTIC COMPUTE CLOUD (EC2)
EC2 Basics
Amazon Machine Images (AMIs)
Instance Types
Elastic Block Store (EBS)
Security Groups
IP Addressing
Launching and Using an EC2 Instance
MODULE 6: DATABASES
RDS Basics
RDS Resiliency: Multi-AZ
Provisioning an RDS MySQL Database
SNS Basics
Using SNS
MODULE 8: CLOUDWATCH
CloudWatch Basics
CloudWatch Metrics and Alarms
ELB Basics
Creating an ELB
Application Load Balencer
Difference between ELB & ALB
ISO model & layers involved in the load balancer configurations
Route 53 Basics
Using Route 53
Domain Registration
Private vs. Public Hosted Zones
Lambda Basics
Lambda Test
Cloud Keywords
Create Azure Account
Billing Alert
Azure tour
Azure vocabulary
Subscription management
Cost Analysis & Management
Azure AD Introduction
Creating user without permissions
Granting access at the resource level
Granting access at the resource group level
Granting access at the subscription level
Creating custom roles
Granting custom roles to the user
MODULE 6: DNS
Private DNS
Public DNS
INTRODUCTION TO DEVOPS
What is DevOps?
History of DevOps
Different Teams Involved
DevOps definitions
DevOps and Software Development Life Cycle
o Waterfall Model
o Agile Model
DevOps main objectives
Prerequisites for DevOps
Continuous Testing and Integration
Continuous Release and Deployment
Continuous Application Monitoring
Configuration Management
What is Cloud?
History and evolution of cloud
Cloud Computing Concepts
Public, Private, Hybrid Clouds
IAAS, SAAS, PAAS Cloud Models
Public Clouds
o Amazon Web Services, Azure, Oracle Cloud, IBM Cloud
DevOps with Cloud
LINUX ADMINISTRATION
OVERVIEW
This course teaches the advanced concepts of processes, programs and the components of the Linux
operating system. You learn the advanced knowledge of computer hardware, gain an understanding of
open source applications in the workplace, and learn to navigate systems on a Linux desktop
rudimentary commands to navigate the Linux command line.
INTRODUCTION
A Linux Introduction
Open Source Philosophy
Distributions
Basic Kernel & Shell Architecture
ACCESSING SERVER
Usage of putty
Password less login
Booting Process
Basic Shell
Command Line Syntax - Basic Commands
Ls, pwd, history, cat
Cp, mv, tail, head
Touch, cd, find, less
view, rm, man, chmod
chown, chgrp, grep, cd,
cd.., man
TEXT EDITORS
Vi, Vim,nano
User IDs
User Commands
Group Commands
File/Directory Permissions and Owners
NETWORK MANAGEMENT
Network Configuration
ethtool,
ifconfig,
netstat,
nslookup,
ping,
scp,
Standard Partition
Logical Volume Management
SYSTEM MONITORING
SERVICES MANAGEMENT
Course Details
Overview:
Shell scripts can take input from a user or file and output them to the screen. Whenever you find
yourself doing the same task over and over again you should use shell scripting, i.e., repetitive task
automation. Creating your own power tools/utilities.
Course Introduction
Configuring setup for the shell
Shell Scripting:
Special Files
Variables
o Predifined
o User defined
o Null Variables
o unsetting a variable
o Storing File Names
o Storing File contents to a variable
o Storing Commands to a variable
o Exporting Variables
o Permanently assigning the variables
o Reading A variable
Basics
o (shebang) & Importance
o Comments
o Executing a script
TERRAFORM
1. Introduction to Modules
2. Realtime examples including diff azure services
ANSIBLE
OVERVIEW
Ansible continues to gain traction as a powerful, enterprise level configuration and deployment
management tool. With it's standardized Playbook formatting and reliance on Python standards, it is
easy to use, quick to learn and puts the power of automation at everyone's fingertips. In this course,
we will cover Ansible configuration, modules, command line usage and Playbook building. By the
time you are done, you will be able to use Ansible to automate and manage your DevOps
infrastructure.
INTRODUCTION
YAML BASICS
Comments
Variables
booleans
lists
dictionaries
multilines
Dict of Dicts
Short ways to write YAML code
ANSIBLE MODULES
Command
File
Copy
Template
Script
User
Yum
Apt
Service
Debug
Condition
o When
Loops:
o with_items
o with_fileglob
o with_lines
SPECIAL CASES
ignore_errors
local_action
delegate_to
serial
failed_when
ansible vault
Overview
Over the length of this course, we will start at the very beginning of revision and source control the
way that it is intended to be done using Git client and server. Once we have a firm handle on how to
manage our files at the command prompt and in our own repositories, we will take a look at several
of the more commercial or public Git hosting sites - Github and Bitbucket. Finally, we will install the
Github clone called Gitlab and take a deep dive in how source control can be used in an online
environment that supports team collaboration and build automation using Jenkins.
Introduction
Installing Git
Basic Configuration
Git Basics
Empty Repositories
Git Basics
Git Ignore
Cloning
Cloning: Local Repositories
Cloning: Remote Repositories
Tags
Branches
Merging
Git Log
Introduction to Github
Secure Communication
Working with Github
Jenkins
Overview
Students will learn how to use Jenkins 2.x.x at a proficient level. This includes the creation and
configuration of jobs and builds, testing, common plugin usage and building pipelines. They will gain
knowledge of common CI/CD concepts, and “CD as code” best practices. The material in this course
will also help students prepare to pass the Certified Jenkins Engineer 2017 certification.
Introduction
Introduction to Jenkins
CI/CD Concepts
Prerequisites
Jenkins Install
Adding a Jenkins Slave
Managing Credentials
Configuration Tour
Plugin Manager
Managing Jenkins
The Dashboard
User Management and Security
Jenkins Backup - Using Plugins to Manage Your System
Setting Up Git and Github
Projects
Dockers
Course Details
Overview:
This course will explore Docker from the very basics of installation and function to an in depth
review of the use cases and advanced features. We will talk about how Docker is architected in order
to provide a better understanding of how to manage Linux Containers using the Docker Client. Once
we have a good understanding of the basics, we will dive into the advanced use cases and really
uncover the power of the entire system. Now Updated for Docker 1.10+ in 2016! GOALS *
Introduce and Understand Linux Containers and Application Virtualization * Relate the Architecture
of Containers to the Management of Our Applications * Install and Configure Docker for Our
Distribution * Explore the Most Common Use Cases for Docker * Understand the Power and
Flexibility Application Virtualization Offers
Introduction to Docker
Containers vs. Virtual Machines
Docker Architecture
The Docker Hub
Docker Installation
Creating our First Image
Working with Multiple Images
Packaging a Customized Container
Running Container Commands with Docker
Exposing our Container with Port Redirects
Storage Overview
Categories of data storage
o Non-persistent
o Persistent
Persistent Data Using Volumes
Volume Commands
Monitoring
o docker stats
o docker top
Housekeeping docker containers
Introduction to Kubernetes
What is Kubernetes
Design Overview
Components
Building Block of Kubernetes:
Summar
Introduction to YAML
What is YAML
Structure
Cluster Communications
Deploying an Application,
Rolling Updates
Rollbacks
Creating a Configmap
Mounting Configmap as a volume
Creating a secret
Mounting secret as a volume
Storage Management
Persistent Volumes
Volume Reclaim Policies
Volume Access Modes
Create Persistent volume
Create Persistent volume Claim
GROOVY SCRIPTING
Course Details
Overview:
Jenkins Pipeline (or simply "Pipeline" with a capital "P") is a suite of plugins which supports
implementing and integrating continuous delivery pipelines into Jenkins. A continuous delivery
pipeline is an automated expression of your process for getting software from version control right
through to your users and customers. Every change to your software (committed in source control)
goes through a complex process on its way to being released. This process involves building the
software in a reliable and repeatable manner, as well as the progression of the built software (called
a "build") through multiple stages of testing and deployment.
Course Introduction
Configuring Our Jenkins server
Installing required pluigns to start the groovy scripting
Groovy Scripting
Types of scripting
o Declarative Pipeline
o Scripting Pipeline
Explaining Pipeline in Detail
Step
Node & Agent
Stage
Steps
Script
Declaring Variables
o Global Variables
o Defining Variables using environment
o Defining Variables using parameters
o Defining variables using def
Using Operators
o arithmetic operators
o unary operators
o Assignment arithmetic operators
o Relational operators
o Logical operators
Introduction to JIRA
Working with azure boards
Creating a userstory
Azure devops process
Using sprints
Integrate boards with slack
Azure devops AD integration
Azure permissions
Working with queries
Working with charts
AZURE REPOS
Overview
Over the length of this course, we will start at the very beginning of revision and source control the
way that it is intended to be done using Git client and server. Once we have a firm handle on how to
manage our files at the command prompt and in our own repositories, we will take a look at several
of the more commercial or public Git hosting sites - Github and Bitbucket. Finally, we will install the
Github clone called Gitlab and take a deep dive in how source control can be used in an online
environment that supports team collaboration and build automation using Jenkins.
Introduction
AZURE REPOS
Introduction to docker
Build & deploy .net core in docker
Working with azure container registry(ACR)
Working with azure container instance
Working with azure kubernetes service (AKS)
Build image using azure build pipeline
Deploying image to AKS using build pipelines
Build and deploy using release pipelines on app service
Az release pipeline – AKS deployment
Working with helm charts
Project Overview:
In this final project, you will build and deploy a Java-based web application
using Azure DevOps. You will implement Continuous Integration (CI) and
Continuous Deployment (CD) pipelines to automate the build, test, and
deployment processes. Additionally, you will utilize Ansible and Terraform
for infrastructure automation, managing code repositories with Git and Azure
Repositories.
Project Requirements:
Java Web Application Development:
Develop a Java-based web application (e.g., Spring Boot
Ensure the application is vm-ready by consuming ansible role.
Azure DevOps Setup:
Create an Azure DevOps organization and project.
Configure service connections to Azure resources
Set up appropriate permissions and access controls for team members.
CI Pipeline Setup:
CD Pipeline Deployment:
MODULE 16: FINAL PROJECT: JAVA APPLICATION DEPLOYMENT WITH AWS DEVOPS
Project Overview:
In this final project, you will build and deploy a Java-based web application
using opensource devops tools on aws. You will implement Continuous
Integration (CI) and Continuous Deployment (CD) pipelines to automate the
build, test, and deployment processes. Additionally, you will utilize Ansible
and Terraform for infrastructure automation, managing code repositories with
Git and git hub.
Project Requirements:
Java Web Application Development:
CD Pipeline Deployment:
Set up a CD pipeline for automated deployment of the Java application.
Integrate the CD pipeline with ansible to deploy application to infrastructure
Infrastructure Automation with Ansible and Terraform:
Use Terraform to define the infrastructure components required for deploying
the Java application (e.g., EKS cluster, Infrastructure provisioning)
Configure Ansible playbooks for application deployment and configuration
management.
Integrate Ansible and Terraform with the CD pipeline to automate
infrastructure provisioning and application deployment.
Conclusion:
This final project will provide hands-on experience in deploying Java applications
using Jenkins,Docker,EKS and modern DevOps practices. By integrating CI/CD
pipelines and infrastructure automation, you will streamline the development process
and enhance the reliability of deployments.