What is DevOps
- Is a culture of collabaration with Developers and Operations people.
- Is NOT tools but tools are essentail to success in DevOps
- Is NOT a standard
- Is NOT a product
- Is NOT a job title.
Read : Waterfall vs Agile method of software development.
DevOps Culture
Traditional Model : Dev and Ops are seperated. DevOps Culture : Dev and Ops works together and share the same goals.
Goals
- Fast time-to-market (TTM)
- Minimize production Failures
Devops vs Traditional Silos
Traditional Flow
Devlopers -> QA team -> Operations
- No Trust between teams
- Different Priorities
- Different Goals
- Developers focus on features but Operations focus on uptime.
- Lengthy process
- Lacks of automation
DevOps Way
- Dev writes code
- Commit will trigger build and integration tests
- QA can be automate
- Automated monitoring
- Auto-rollback previous version
Build Automation
Automate the process of preparing code for deployment.
Why ?
- fast
- consistent
- repeatable
- portable
- reliable
Continuous Integration
frequent code changes
Using a CI Server
Multiple times a day
feedback on merge and build
Why ?
- Easy to detect issue with smaller changes
- small releases instead of big releases
- continuous testing
Continuous Delivery and Continuous Deployment
code is always ready for deployment
frequently deploying small code changes
Automated deployment
if issue, automatic roll back
Why ?
- faster time-to-market
- fewer problems caused by deployment process
- lower risk
- Reliable rollbacks
Infrastructure As Code
- manage and provision infrastructure via code
- provisioning and managing will be done via automation
Why ?
- consistency
- re-usability
- scalability
- self-documenting
- simplify complex infrastructure
Configuration Management
- automated infrastructure management
- maintainable way
Why ?
- Save time
- Insight
- maintainability
- less configuration drifts
Orchestration
- orchestrate build and automate
Why ?
- Scalability
- Stability
- Save Time
- Self-service
Monitoring
- Collect data like usage of CPU< memory, disk i/o etc
Why ?
- Fast Recovery
- Better root cause analysis
- Visibility across teams
- Automated response - self healing
DevOps Practices
DevOps Tools
Disclaimer: Views expressed in articles are those of the respective authors and do not necessarily reflect the views of their employers or this site. While we aim for accuracy, please verify information before relying on it, and let us know if you spot an error.