[go: up one dir, main page]

0% found this document useful (0 votes)
26 views27 pages

Devops

Download as pdf or txt
Download as pdf or txt
Download as pdf or txt
You are on page 1/ 27

-

DevOps
-

6 &
Testers
perations
Software Development Lifecycle
-

PLANNING DEFINING DESIGNING


-
BUILDING TESTING DEPLOYMENT
- - - -
-

Talk to customer Define the Design the Development Make sure that Make your app
and understand requirements solution with following your code is available for rest
the and stick to right approach guidelines working of the world
requirements them

SRS DDS
App/produce well tested and users

product access
Waterfall Model
-

Requirement Specification

System Design

Design Implementation

Verification & Testing

System Deployment

Software Maintenance
Entities involved
-
-

Team

Developer Testers Operations Team

Taking sting
-
-
Responsibilities

SRS >
-
Leeu
• Developers
Feare
Developers and Testers
adding faces
Operations Team
-

• Make all the necessary resources


>
-

I
>
-

>
-
compute
memory
Network


-

-
-

• Develop the application - bundle


ready >
- human

Heaph
-
- -

• Package the application • Deploy the application


-
iPa -

• Fix the bugs • Maintain multiple environments


-
-

creatin
on
-

• Maintain the application


-

• Continuously monitor the I


- -

application
-
>
- uptime
• Testers
-
• Manage the resources
• Thoroughly test the
-

application manually or using


test automation
-

• Report the bugs to the


-

developer
-
Challenges
-

Developers and Testers Operations Team

• The process is slow


-
• Uptime maximize
-
-

• The pressure to work on the newer


-
• Configure the huge infrastructure
-

features and fix the older code


-
• Diagnose and fix the issue
-
• Not flexible
-
Agile Development
-
- Sprint

Feedback Planning
-
-

-
Release
Agile -
Designing

Testing Development
- -
Scrum Process
-
-

O
-

-
-

- -

-
-

-
Waterfall Vs Agile
-
-

The Waterfall Process


-
The Agile Process
-

This project has got so big. It is so much better delivering


I am not sure I will be able to deliver it! this project in bite-sized sections
-
Agile >
-
Design Code Test Deploy
G
- -

Design Code Test Deploy -

Design Deploy
-
-
----
Keeops-- - -- q

automatic
Problems
-

§ Managing and tracking changes in the code is difficult


-

§ Incremental builds are difficult to manage, test and deploy


-

§ Manual testing and deployment of various components/modules takes a lot of time


-

§ Ensuring consistency, adaptability and scalability across environments is very difficult task
- -

§ Environment dependencies makes the project behave differently in different environments


-
Solutions to the problem evcse
son

- - Git
§ Managing and tracking changes in the code is difficult: SCM tools
-
- Ducs

§ Incremental builds are difficult to manage, test and deploy: Jenkins CI/CD Pipeline
--

§ Manual testing and deployment of various components/modules takes a lot of time: Selenium Test Automation
-
-

§ Ensuring consistency, adaptability and scalability across environments is very difficult task: Puppet Continuous Configuration
-
-

§ Environment dependencies makes the project behave differently in different environments: Docker containerization
- -
-
What is DevOps ?
- le Deters
§ DevOps is a combination of two words development and operations
-
je-tools
§ Promotes collaboration between Development and Operations Team to deploy code to production faster in an automated &
-

-
repeatable way (sprints)
§ DevOps helps to increases an organization's speed to deliver applications and services
-
§ It allows organizations to serve their customers better and compete more strongly in the market
-

§ Can be defined as an alignment of development and IT operations with better communication and collaboration
-

§ DevOps is not a goal but a never-ending process of continuous improvement


-

§ It integrates Development and Operations teams


-

§ It improves collaboration and productivity by


-
§ Automating infrastructure
-
>
- continuous config tools
§ Automating workflow - lI/CD pipeline
-

§ Continuously measuring application performance - monitoring


-

⑪- Dev Ops
Dev ↳ Stable -
20 1
.

↳ Docker container >


-
deploy
Why DevOps is Needed?
-
-

§ Before DevOps, the development and operation team worked in complete isolation
-

§ Testing and Deployment were isolated activities done after design-build. Hence they consumed more time than actual build
cycles.
-

§ Without using DevOps, team members are spending a large amount of their time in testing, deploying, and designing
-

instead of building the project.


-

§ Manual code deployment leads to human errors in production


-

§ Coding & operation teams have their separate timelines and are not in synch causing further delays
-
Common misunderstanding
-

§ DevOps is not a role, person or organization


-
>
- evops Engineer
§ DevOps is not a separate team
-

§ DevOps is not a product or a tool >


- collection
of fools
many

mindser/continuous
-

§ DevOps is not just writing scripts or implementing tools - process


-
Reasons to use DevOps
§ Predictability
§ DevOps offers significantly lower failure rate of new releases
§ Reproducibility
§ Version everything so that earlier version can be restored anytime
§ Maintainability
§ Effortless process of recovery in the event of a new release crashing or disabling the current system
§ Time to market
§ DevOps reduces the time to market up to 50% through streamlined software delivery
§ This is particularly the case for digital and mobile applications
§ Greater Quality
§ DevOps helps the team to provide improved quality of application development as it incorporates infrastructure issues
§ Reduced Risk
§ DevOps incorporates security aspects in the software delivery lifecycle. It helps in reduction of defects across the lifecycle
§ Resiliency
§ The Operational state of the software system is more stable, secure, and changes are auditable
DevOps Lifecycle
continuous
-

-
-

Neuer- Ending

S -

&

( I I
-
-
sprint
-
-
DevOps Lifecycle - T
Plan ra-
>
-

sprint

Fin
-

§ First stage of DevOps lifecycle where you plan, track, visualize and summarize your project before you start working on it
general tools

-
Srem Tools

Tools
DevOps Lifecycle - Code -
-

§ Second stage where developer writes the code using favorite programming language
-

Languages
na 1name
Go Swift

go
C ,
,
+
+,

index
-
interpreted -ruby javascript,
,

Atom mixed-Java Python


-

-
IDEA/Eclipse -
,

- ios-cocoa-pods

Tools

-crotoolssources are

- cucs-sun/cus
bitkeeper
- Dues-git bazaar
,
,

-
-
DevOps Lifecycle -Build I compile the code + add dependenciesa create
-

§ Integrating the required libraries Deployable


package
tools
web-bundle
-

§ Compiling the source code


[deprecated]
- -

-
aab
§ Create deployable packages -
ant - android--apk , .

ios--ipa
-

maven
-

msi
-

windows--exe
-gradle [groory] - ,

deb
--

Linux--rpm ,

Tools -

macos--ding
DevOps Lifecycle - Test testing
Unit
-
-

JavaScript-Jest Jasmin,

Process of executing automated tests


§- -

python -
PyUnit
§ The goal here is to get the feedback about the changes as quickly as possible - CH -
NUnit
-
Java-JUnit
-

erformance testing
Demon
&

-
Load Runner

Trefeter
testing- a
#

Tools
Fescalability testing
-

-
cypressTestNG
DevOps Lifecycle - Release CI/CD pipeline tools
>
-

§ This phase helps to integrate code into a shared repository using which you can detect and locate errors quickly and easily

#Fitind

Git

Tools #tools
-
Travis (I ,
Circle (I
,
Gitlab (I

Jenkins
O CD fools
-

ArgoCD
O
Travis
Bambur CF/ (D tools
-

Bamboo
-

Jenkins ,
DevOps Lifecycle - Deploy
-

§ Manage and maintain development and deployment of software systems and server in any computational environment
-

#
Itraditional
X
deployment
machines
-

using physical
-

Rackspace Digital Ocean


.
.

deployment [ur]
tualized IBM Cloud ,
Alibaba Cloud
-

VirtualBox ,
Urewave , parallels ,

Bosch Genu
agment
Tools
-
docker ,podman ,
LMCTFY ,

containerd
-
-

orchestration
Container
- docke swarm ,
kubernetes ,

Mesos marathon
,
DevOps Lifecycle - Operate
-
-

§ This stage where the updated system gets operated


-

tools
Configuration

I
Environment Creation fools Environment
-
-

chef assible saltstack


Local environment -

vagrant -

puppet ,
,
,

Cloud environment -
> terraform ,

Als-cloud formation

Tools
DevOps Lifecycle - Monitor
-

§ It ensures that the application is performing as expected and the environment is stable
- -

§ It quickly determines when a service is unavailable and understand the underlying causes
-

New Relik
tools -

Nagios ,
Splunk , DataDog ,

Tools
DevOps Terminologies continuous Learning
-
-
-

a
continuou 3 deployment
PLAN continuous
Deploy

CODE
continuous
OPERATTE 3 configuration

continuous
BUILD -

testing Release continuous


TEST
-

Continuous
MONITOR 3 monitoring
Integration I
continuous
Delivery
Responsibilities of DevOps Engineer
-

Linux

j
Be an excellent sysadmin Soft skills
-
-

Cloud

Deploy Virtualization
-
8 Automation tools
-

CCNA

Hands-on experience in
-
Software Testing
network and storage knowledge
-

-
-

** I

Introduction to coding IT security


- -
Skills of a DevOps Engineer

Skills Description

• Version Control – Git/SVN


• Continuous Integration – Jenkins
Tools • Virtualization / Containerization – Docker/Kubernetes
• Configuration Management – Puppet/Chef/Ansible
• Monitoring – Nagios/Splunk

• General Networking Skills


Network Skills
• Maintaining connections/Port Forwarding

• Cloud: AWS/Azure/GCP
• Soft Skills
Other Skills
• People management skill

You might also like