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