Abdullah Fathi

What is "DevOps" ?

Currently the most heard buzz word in IT industry

  • Relatively new concept
  • Has been gaining popularity

"DevOps"

Development

Operations

DevOps

"DevOps"

Intersection of Dev & Ops?

Where do boundaries start and end?

Which part of Dev is not DevOps?

Which part of Ops is not DevOps?

Why was there a need between those?

Application Release Process

Development

Operations

Release to Market

Same Process of: Deliver application to the end user

This is always the main goal!

Deliver application to end users

Typical Software Release Process

Idea

Requirements

Code it

Test it

Build & Package

Deploy it

  • Installing tools
  • Deploy application
  • Configure firewall

Configure the server

Typical Software Release Process

Idea

Requirements

Code it

Test it

Build & Package

Deploy it

  • Any problems with the application?
  • Are users experiencing any issues?
  • Can the application handle high user load?

Operate & Monitor

Typical Software Release Process

  • Add new features!
  • Fix bugs
  • Optimize performance

Initial Launch

Improvements

Idea

Requirements

Code it

Test it

Build & Package

Deploy it

Operate & Monitor

Software versioning

Code it

Test it

Build & Package

Version 1

Code it

Test it

Build & Package

Version 2

Code it

Test it

Build & Package

Version 3

Code it

Test it

Build & Package

Version 4

Replaced Framework

New Feature

1.0.0

1.1.0

1.1.1

1.1.2

1  .  5  .  2

Major

Minor

Patch

Bug fix

Bug fix

DevOps: Continuous Delivery

Implement

Idea

Test

Build

Deploy

Observe

  • Making the process fast
  • Minimal Bugs

Quickly Delivering with High Quality Code

Challenges DevOps tries to solve

1. Miscommunications & Lack of Collaboration

Code the application

Deploy & Operate the application

Developers

Operations

  • Can't deploy & run the app
  • Don't consider, where app gets deployed
  • Don't know how the app works

Challenges DevOps tries to solve

2. Conflict of Interest

Responsible for Operations

Developers

Operations

  • New features fast
  • Maintain Stability
  • Resist the speed of release
  • Check that it's 100% safe

Responsible for Development

Challenges DevOps tries to solve

3. Security

  • Will it affect system security?
  • Manual process

Security Team

Challenges DevOps tries to solve

4. Application Testing

  • Test specific features
  • End to End tests
  • Testing on different environments
  • Performance tests

Testers

Challenges DevOps tries to solve

5. Manual Work

  • Slow & more error-prone
  • Knowledge sharing is difficult
  • Intransparent, hard to trace, who executed and when
  • More difficult to recover and replicate exact infrastructure state

Manually preparing the deployment environment

Manually deploying app

Manual Testing

Manual Security Checks

DevOps Concept

Main part was that Developers and Operations should work together more often

Anything that creates the process of releasing the software fast with high quality

DevOps

Fully Automated, Streamlined Process

CI/CD Pipeline

DEMO

Q & A

THANK YOU

DevOps Introduction

By Abdullah Fathi

DevOps Introduction

  • 243