Professional Documents
Culture Documents
Class Notes
Class Notes
Class Notes
2023
https://github.com/SA-DCP-Nov16/DevOps_Training_Docs
https://github.com/SA-DCP-Nov16/DevOps_Training_Docs
########################
16th Nov. 2023
########################
DevOps Fundamentals :::
Module 1
AWS Fundamentals
DevOps on Cloud (AWS)
Linux Fundamentals
DevOps :::
DevOps ::::
- Software -->
- Application Software
--> Desktops Applications --> Billing system
--> Web Applications --> ECommerce, Online
Banking
--> Mobile Applications --> Mobile Apps
- System Software
- Requirement Analysis
- Design
- Coding / Development
- Testing
- Implementation
- Maintainence/Monitoring
Project 1:
- Requirement Analysis ==> 9 months to complete
this project.
- Design
- Coding / Development mid of 4th Month
- Testing
- Implementation
- Maintainence/Monitoring
Project 2:
- Requirement Analysis ==>
- Design
- Coding / Development
- Testing
- Implementation
- Maintainence/Monitoring
Tele-comm Domain ::
SP1 --> Introduce a new offer to their customers
-> IT Team to implement this ASAP
SP2 -->
Billing Application :
Functions/Modules/Iterations
- Inventory Mgmt
- Price Mgmt
- User-Interface - CLI
- Order placement
- Cash-Payment
- Online-payment
Iterations n: - Online-payment
- Requirement Analysis
- Design
- Coding / Development
- Testing
- Implementation***
- Maintainence/Monitoring***
3. DevOps :::
Teams ::
DevOps Team
1. Infra-Structure Management Team
2. Application Development Team
3. Testing Team
4. Release Management Team
5. Production Support Team
6. Production Monitoring Team
7. Security Team
Stages of DevOps ::
Infra-Structure Management ::
IAC - Ansible & Terraform
Continous Development ::
- It is capability of Application Development
to continously develop the code.
- Increase the productivity of Developers.
Developer --> Role of developer ???
Coding the Business Application.
- Create source code
- Manually build the code
- Create Artifacts
- Manually perform unit testing
- Promote the code to Testing
Environments
- Notify the testing team to do further
testing
Tools :
Eclipse based IDEs(Integrated Development
Environment) - Eclipse, Pycharm, Intellij
DevOps Tools ::
GIT, Jenkins, Build Tools(Maven,JUnit)
Continous Integration ::
- It is capability of Application Development
to continously integrate their code change for further testing without waiting for
any dependencies.
Tools ::
- Jenkins, Ansible, Docker, Kubernetes
Continous Testing ::
- To enable Automated Testing ::
- QA Testing
- UAT Testing
Tools ::
- Jenkins, Junit/TestNG/Selenium
Continous Delivery :
Continous Delivery to Production
- This Expect Manual approval for
Production Release.
Banking Application :
Online Banking :::
release new feature to
Production Environment:::
Open a Production
Deployment Window :: (4 - 6 Hrs) - Non-Business Hours
Take manual
approval from all stake holders for this release
Thorough Testing
in Production Environment.
If anything
goes wrong :
Fix
the Issue.
Revert
Continous Deployment :
- Can be achieved with the matured
DevOps Strategies/Process.
- This Doesnt expect any manual
approval for Production Release. We can automate Production Release without any
manual intervension.
- No Downtime.
Facebook
Netflix
amazon
google
Continous Monitoring :
- Infra-Structure Monitoring
Monitor the Production
Servers -- Memory/CPU utilization & Traffic
Tools ::
Jenkins,Prometheus,Grafana,
- Application Monitoring
AppDynamics
DevOps Tools ::
AWS
AZURE
GCP
########################
17th Nov. 2023
########################
DevOps Fundamentals
AWS Fundamentals
Teams ::
DevOps Team
1. Infra-Structure Management Team ==> Server
Provisioning & Configuration
2. Application Development Team
3. Testing Team
4. Release Management Team
5. Production Support Team
6. Production Monitoring Team
7. Security Team
Application Architecture
SDLC Perspective :
Billing Application :
Functions/Modules/Iterations
- Inventory Mgmt
- Price Mgmt
- User-Interface - CLI
- Order placement
- Cash-Payment
- Online-payment
www.amazon.com
DevOps Tools ::
AWS
AZURE
GCP
People ==>
Process ==>
Tools ==>
Teams ::
DevOps Team
1. Infra-Structure Management Team ==> Server
Provisioning & Configuration
2. Application Development Team
3. Testing Team
4. Release Management Team
5. Production Support Team
6. Production Monitoring Team
7. Security Team
Assessment :::
Identify the scope for automation.
DevOps Associate
Sr. DevOps Associate
DevOps Engineer
Sr. DevOps Engineer
DevOps Lead
Sr. DevOps Lead
DevOps Architect
Sr. DevOps Architect
DevOps Consultant
Public Cloud
Private Cloud
Hybrid Cloud
Community Cloud
AWS
Azure
GCP
Digital Ocean
########################
20th Nov. 2023
########################
- root id
- IAM User ID
AWS CLI
API Calls.
User1
User2
User3
- Usage
Billing Dashboard
AWS Cloud
Regions
Availability Zones (Data Centers)
Server1,2,3,4,5
Virtual Machines
Runs Operating System
(Amazon Machine Image)
Runs Applications
Application ::
To run an application :
Computing Device
- SSH Client
- Is a agent installed in the local machine.
- MobaXterm
https://mobaxterm.mobatek.net/download.html
- Putty
- Using Terminal
Authentication ::
Passwordless Authentication
Operating System
Windows OS
Linux OS (Open-Source Operating System)
Distribution -
- Ubuntu
- Centos / rhel / fedora
Mac OS
########################
21st Nov. 2023
########################
AWS Fundamentals :::
Create VMs
Connect with VMs
Work with VMs
--> Login
--> Linux Command to work with VMs.
Linux - OS
VM -
13.232.50.178
52.66.204.121
172.31.45.173
In Linux;
- root user ==> Considered as admin
user with full access to Linux Machine.
Using this,
we can install/Uninstall/Upgrade the packages
- general user ==> ubuntu ==>
clear
sudo -i
apt update -y
apt install maven -y
# Install maven build tool
mvn --version
apt remove maven -y
git
apt install git -y
git/maven/ansible ==
tool
jenkins/docker/tomcat == service
==> It should be enable with default port
https://www.jenkins.io/doc/book/installing/linux/
# Install Jdk:
sudo -i
sudo apt update -y
sudo apt install openjdk-11-jre -y # previous version
java -version
#Install Jenkins:
jenkins --version
http://<Public_IP_Address>:8080/
E.g.: http://43.205.118.56:8080/
cat /var/lib/jenkins/secrets/initialAdminPassword
Summary :::
########################
23rd Nov. 2023
########################
- Overview of AWS Services
- Linux Fundamentals.
- IAM
User_Group
User_IDs
Dev Team :
Dev_Group ==> need access to
SQL_Database.
5 members = +50 users
https://310817730195.signin.aws.amazon.com/console
Managed Services
GCP
Hybrid Cloud ::
On-Premises
Cloud(AWS)
CI/CD Pipeline ::
Lifecycle of DevOps
Code
DevOps -->
- Assessment Phase ::
- Recommendations!
Open Source (or)
Managed Service
On-Premises Environments
DevOps -->
Next ::