DevOps is a Philosophy
- Agile & Lean applied to the whole software delivery chain, not just developers
- Driven by efficiency and consistencies
Optimizing software Delivery to End to End
- Building applications
- Building Environments
- Configuring Applications and environments
DevOps is ....
- no definition
- It certainly isn't a person
- No strict rules
- No strict tools
- It's not even new
- If you aren't doing it already...
- ... you are doing it wrong
Vision and Directions of DevOps
For More Click Here
- Must have
- Centralized build server across products
- Standard approach for validating builds through automated testing
- Centralized static code analysis setup for all products
- Significant automated test coverage across products
- Nice to have (Standardization)
- Centralized common source management tools such as Git
- Common build script across the organization
- Standard release and deployment process across products
- Centralized monitoring setup for CM infrastructure, builds and notifications
- Centralized server to manage, upgrades and Install SCM, builds and QA machines
DevOps / CI / CD
Continuous Integration (CI)?
Continuous Integration is a software development practice where members of a team integrate their work frequently, usually each person integrates at least daily - leading to multiple integrations per day. Each integration is verified by an automated build (including test) to detect integration errors as quickly as possible.
- Martin Fowler
Continuous Integration (CI)
Continuous Delivery (CD)?
Continuous Delivery is the continual delivery of code to an environment once the developer feels the code is ready to ship.
The idea is to deliver code to a user base - QA (UAT or Staging) or customers (Production environment), for continual review and inspection.
Benefits from CI / CD?
- Fast, reliable, and ready to QA/Deploy/Build operation
- Seamless integration between CM, build, QA, deployment, security, and continuous feedback.
- Reduces risks and defects and Improves the quality of the deliverables
- Improves development team agility and velocity
- Make Every build is for potential release
Benefits from CI / CD?
- Eliminate manual bottlenecks and automate whatever possible
- Have automated tests you can trust and Enforces best practices
- Avoid wait time, handoff conflicts and human errors
- Know results earlier! Fix bugs faster! More stable builds!
- Supports transition to Cloud based deployment
Monitoring is for Feedback of
- Code Quality poor | average | good | best
- Builds pass | fail
- Test Quality
- System Availability
- Performance of Tools and Products
- SCM Infrastructure Availability
- It save time of.
Continuous Delivery Workflow
Delivery Vs Deployment
Challenges for Large Organization
One Problem One tool
Some Board Work ..... Found on Google