DevOps_1698587929.pdf cours ciCd automatique

khezzanehouria8 44 views 72 slides Oct 01, 2024
Slide 1
Slide 1 of 72
Slide 1
1
Slide 2
2
Slide 3
3
Slide 4
4
Slide 5
5
Slide 6
6
Slide 7
7
Slide 8
8
Slide 9
9
Slide 10
10
Slide 11
11
Slide 12
12
Slide 13
13
Slide 14
14
Slide 15
15
Slide 16
16
Slide 17
17
Slide 18
18
Slide 19
19
Slide 20
20
Slide 21
21
Slide 22
22
Slide 23
23
Slide 24
24
Slide 25
25
Slide 26
26
Slide 27
27
Slide 28
28
Slide 29
29
Slide 30
30
Slide 31
31
Slide 32
32
Slide 33
33
Slide 34
34
Slide 35
35
Slide 36
36
Slide 37
37
Slide 38
38
Slide 39
39
Slide 40
40
Slide 41
41
Slide 42
42
Slide 43
43
Slide 44
44
Slide 45
45
Slide 46
46
Slide 47
47
Slide 48
48
Slide 49
49
Slide 50
50
Slide 51
51
Slide 52
52
Slide 53
53
Slide 54
54
Slide 55
55
Slide 56
56
Slide 57
57
Slide 58
58
Slide 59
59
Slide 60
60
Slide 61
61
Slide 62
62
Slide 63
63
Slide 64
64
Slide 65
65
Slide 66
66
Slide 67
67
Slide 68
68
Slide 69
69
Slide 70
70
Slide 71
71
Slide 72
72

About This Presentation

DevOps_1698587929.pdf cours ciCd automatique


Slide Content

DevOps
Tutorial
©Great Learning. All Rights Reserved. Unauthorized use or distribution prohibited

Module 1:
DevOps Overview
©Great Learning. All Rights Reserved. Unauthorized use or distribution prohibited

Why DevOps?
©Great Learning. All Rights Reserved. Unauthorized use or distribution prohibited

Waterfall Model
©Great Learning. All Rights Reserved. Unauthorized use or distribution prohibited
Requirements
Designing
Implementation
Testing
Deployment
Maintenance
In theearly year of software
development when it was just
coming up, waterfall modelwas
used.
Waterfall model isa verystandard
model usedinmany different fields,
not just software development.
Itwasveryuseful whenthe
requirements were concrete andthe
developmentcycleswere long.

New Methodologies
©Great Learning. All Rights Reserved. Unauthorized use or distribution prohibited
Spiral ModelAgile
Extreme Programming
Develop an
overall model
Build a
feature list
Plan by
feature
Design by
feature
Build by
feature
Feature Driven Development Lean Methodology

What is DevOps?
©Great Learning. All Rights Reserved. Unauthorized use or distribution prohibited

What is DevOps?
©Great Learning. All Rights Reserved. Unauthorized use or distribution prohibited
Way of software
development
Values & Principle Methodologies Tools

What is DevOps?
©Great Learning. All Rights Reserved. Unauthorized use or distribution prohibited
Thename DevOps comesfromDeveloper and Operations.DevOps bridges
thecommunication gap betweenthesoftware developers andthe Itoperation
teams.
Developers Operations
DevOps

What is DevOps?
©Great Learning. All Rights Reserved. Unauthorized use or distribution prohibited
“DevOps isa setof practices that combines software development(Dev)
andIToperations(Ops).Itaimstoshortenthesystemsdevelopmentlife
cycleand provide continuous delivery with high software quality.DevOps is
complementary with Agile software development; severalDevOps aspects
camefromAgile methodology.”

Benefits of DevOps
©Great Learning. All Rights Reserved. Unauthorized use or distribution prohibited
Productivity
Excellence
Returns

DevOps Phases
©Great Learning. All Rights Reserved. Unauthorized use or distribution prohibited

Continuous
Monitoring
Continuous
Deployment
Continuous
Integration
DevOps Phases
©Great Learning. All Rights Reserved. Unauthorized use or distribution prohibited
Continuous
Testing
Continuous
Development

Who is a DevOps Engineer?
©Great Learning. All Rights Reserved. Unauthorized use or distribution prohibited

DevOps Engineer
©Great Learning. All Rights Reserved. Unauthorized use or distribution prohibited
-BasicallyaDe vOps engineer is responsiblefordesigning, maintainingthe
software development pipeline. He alsomakes surethatasoftware is
deployed properly without any issues. ADevOps engineer knowshowto
automateprocessesand writing automationscripts.He also knows howto
keepthewholeinfrastructure secureand robust.
-ADev
skillsthat helphimto
convey ideas and exchange information between different teams.
-Ondail
aDevOps engineer is responsibleformakessurescaling
needs of cloud arefulfilled, optimisation, managing permissions,
documentations.

DevOps Engineer
©Great Learning. All Rights Reserved. Unauthorized use or distribution prohibited
ADevOps engineer hasawealth of knowledgesuchas:
•Knowledge of Linux, Windows Operating Systems
•Database Tech
•Server Tech
•Orchestration
•Cloud tech
•Source Control
•Continuous integration & Deployment
•Automation
•Scripting
•Networking
•Excellent Com
munication

Version Control -GIT

What is Version Control?

These days when softwareisdeveloped,Itis not developed withthemind-set
that there will only be one pieceofcode that will be deployed andthat’sit.
These days smaller snippets of codearedeployed in regularsuccessionswith
regular feedbacks.This leadstomany different versions ofthecode.
Andthat createsaneedtoorganisethecode and all ofitsdifferentversionof
it.This is where Version Controlcomesin.Itisa practiceof managing and
storing differentversionofa sourcecode.
This is especiallythecasewith Larger companies that have multiple projects
and multiple teams working within it.
What is Version Control?
©Great Learning. All Rights Reserved. Unauthorized use or distribution prohibited
A1, A2, A3 B1, B2, B3 C1,C2,C3

What is Git

What is Git?
©Great Learning. All Rights Reserved. Unauthorized use or distribution prohibited
Gitis an opensource versioncontrolsystemthat allowstheusertokeeptrack
of allthechanges that have been madeto thesourcecode ofthesoftware.
Developer 1
GitHub
Developer 2

Staging
What is Git?
©Great Learning. All Rights Reserved. Unauthorized use or distribution prohibited
The lifecycle of the code within Git.
GitHub
Working Directory
Local StorageInitialization

Getting started with GitHub

Installing & Configuring Git

Git Installation& Setup
WindowsLinux MAC

Git Common Commands

Branches

Microsystems & Containerization
–Docker

Issues we faced before Containerization

Issues we faced before Containerization
Developer Tester
Standard Delivery Pipeline

Issues we faced before Containerization
Developer’s Environment
Operating
System
Pytest5.4.3
Backend Developer
Backend Code Dependencies
PycharmIDE

Issues we faced before Containerization
Tester’s Environment
Operating
System
Pytest5.3.0
Tester
Backend Code Dependencies
SpyderIDE

Issues we faced before Containerization
Developer Tester
-This Code runs fine on my computer -This Code does not run on my system

Issues we faced before Containerization
Developer Tester
Operating
System
Pytest5.4.3
Backend Code Dependencies
PycharmIDE
Operating
System
Pytest5.3.0
Backend Code Dependencies
SpyderIDE

Issues we faced before Containerization
-Now Let’sseewhathappens
whenweintroduceContainers.

Issues we faced before Containerization
Developer Tester
Similar Delivery Pipeline but with containers
Prod
-This Code runs fine on my computer
-This Code runs fine on my computer

What is a Container?

What is a Container?
Code Libraries
Container Systems & Servers
Containersaresoftwarethatwrap up alltheparts ofacodeandallits
dependencies intoasingle deployable unit thatcanbe usedon
differentsystemsandservers.

What is Docker?

What is Docker ?
Docker is a tool that helps in developing, building, deploying and executing software in
isolation. It does so by creating containers that completely wrap a software.
The Isolation provided by container gives a layer of security to the
containers.

Why Docker?
Fast Easy Collaboration
Built for Developers, by
Developers
Docker Community
Simple

Docker Installation & Setup

Docker Installation& Setup
WindowsLinux MAC

Docker Environment

Docker Objects
Docker Environment
Docker Compose Docker Swarm
Docker Engine Docker Registry

DockerEngine

DockerEngine
Docker engine is asthenamesuggests,itstechnology that allowsfor
thecreationandmanagement of alltheDocker Processes.Ithas three
major partstoit.
Docker APIDocker CLI Docker Daemon

DockerObjects

DockerObjects
Docker Swarm Nodes &
Services
Docker Images Docker Containers Docker Volumes
Docker Networks

DockerObjects -Images
Docker imagesaresetsof instructions thatareusedtocreate
containers and execute code inside it.

Let’spullan image andworkwith
it.
DockerObjects -Images

Docker Common Commands

Continuous Integration -Jenkins
©Great Learning. All Rights Reserved. Unauthorized use or distribution prohibited

1. Why Continuous integration?
2. What is Jenkins?
3. What are Jenkins Features?
4. Jenkins architecture
5. Jenkins installation & setup
6. Setting up a CI/CD pipeline
Agenda
©Great Learning. All Rights Reserved. Unauthorized use or distribution prohibited

Why continuous integration?
©Great Learning. All Rights Reserved. Unauthorized use or distribution prohibited

Why continuous integration?
©Great Learning. All Rights Reserved. Unauthorized use or distribution prohibited
Standard Delivery Pipeline
Deployment
Tester
Code
Source Code
Manager

What is Jenkins?
©Great Learning. All Rights Reserved. Unauthorized use or distribution prohibited

Jenkins is an OpenSourcecontinuous integration tool written in java
that allows ustoautomatethesoftware developmentprocess, making
surethat there is minimum involvementfromus.Italso integrates all
thedifferent parts ofthedevelopment.
©Great Learning. All Rights Reserved. Unauthorized use or distribution prohibited
What is Jenkins?

©Great Learning. All Rights Reserved. Unauthorized use or distribution prohibited
What is Jenkins?
Deployment
Tester
Code
Source Code
Manager Jenkins

-Jenkins isac ommunity tool–Itsopensourceand hasa veryvery
large community that contributestoit regularly.
-It’sf
so youdon’t havetoaccrue anymoresubscriptioncosts.
-Itis hi
andhasasupportfora very
large number of plugins.
-Itca
on any major platform without any compatibility issues.
©Great Learning. All Rights Reserved. Unauthorized use or distribution prohibited
Benefits of Jenkins

©Great Learning. All Rights Reserved. Unauthorized use or distribution prohibited
Jenkins Pipeline
Code
Source Code
Manager
Jenkins
building
Testing
Staging
Production
feedback

Jenkins Installation& Setup
©Great Learning. All Rights Reserved. Unauthorized use or distribution prohibited

Continuous Monitoring – ELK &
Prometheus & grafana
©Great Learning. All Rights Reserved. Unauthorized use or distribution prohibited

Why Continuous Monitoring?
©Great Learning. All Rights Reserved. Unauthorized use or distribution prohibited

Why Continuous Monitoring?
Continuous Monitoring is an important part of Software Development.It
is something wetakeup asmeasuretomaintainthehealth ofa
software andtoimprovethequality ofthesoftware, and this is based
onthefeed back we getfrom theinsights gainedfrommonitoring.
©Great Learning. All Rights Reserved. Unauthorized use or distribution prohibited

Why Continuous Monitoring?
Continuous Monitoring is an important part of Software Development.It
is something wetakeup asmeasuretomaintainthehealth ofa
software andtoimprovethequality ofthesoftware, and this is based
onthefeed back we getfrom theinsights gainedfrommonitoring.
©Great Learning. All Rights Reserved. Unauthorized use or distribution prohibited

Why Continuous Monitoring?
Continuous Monitoring is an important part of Software Development.It
is something wetakeup asmeasuretomaintainthehealth ofa
software andtoimprovethequality ofthesoftware, and this is based
onthefeed back we getfrom theinsights gainedfrommonitoring.
©Great Learning. All Rights Reserved. Unauthorized use or distribution prohibited

Why Continuous Monitoring?
Continuous Monitoring is an important part of Software Development.It
is something wetakeup asmeasuretomaintainthehealth ofa
software andtoimprovethequality ofthesoftware, and this is based
onthefeed back we getfrom theinsights gainedfrommonitoring.
©Great Learning. All Rights Reserved. Unauthorized use or distribution prohibited

What is ELK stack?
©Great Learning. All Rights Reserved. Unauthorized use or distribution prohibited

©Great Learning. All Rights Reserved. Unauthorized use or distribution prohibited
What is ELK stack?
ELK stackisa setof open-source toolsthatallow ustomonitor, collect,process
analyze&visualize data, this datacanbe of different types andformatsand
fromalmostanysource.Itwas developed by Elasticco.iteratively.Theystarted
withElastic searchandkepton addingmoretoolsto thestack.Theprimary
purpose ofELK stackis log management.

©Great Learning. All Rights Reserved. Unauthorized use or distribution prohibited
ELK features
Scalability and
Resiliency
Dashboards &
Visualisations
Stack Security &
Alerting
Logging
System & Application
Performance

©Great Learning. All Rights Reserved. Unauthorized use or distribution prohibited
ELK Stack
Elastic search
Logstash
Kibana
Filebeat
X-Pack
Security
Alerting
Reporting
ML
Elastic Cloud / Infrastructure

©Great Learning. All Rights Reserved. Unauthorized use or distribution prohibited
Tags