Introduction To DevOps Flashcards
(95 cards)
DevOps adoption
- People - Alignment of teams
- Process - Alignment of process, Measurement & optimization
- Technology - Alignment of capabilities, Tool stack & implementation
Technology challenges
- Lack of automation in the software development life cycle, hence loss of quality due to error prone repeatability of steps
- Defects generated due to inconsistent environments for testing and deployment
- Delays in testing due to infrastructure unavailability
- Brittle point-to-point integration between modules
DevOps is…
A set of capabilities, across the IT Value Stream (PLAN – BUILD – RUN) which enhances throughput, quality and business value
Minimum Dev Capabilities
- Version Control
- Static/Dynamic Code Quality Analysis
- Build Automation
- Baseline in Artifact Repository
- Continuous Integration
Minimum Test Capabilities
Functional/Acceptance test
Minimum Infrastructure Capabilities
- Database deployment
- CD Automation
- Release Management
Minimum Ops Capabilities
- Incident Management Tools
- Monitoring and Dashboard
Good to have Business Capabilities
- Acceptance Testing
- Rapid Prototyping
Good to have Dev Capabilities
- Code coverage
- Code review
- Unit testing
Good to have Test Capabilities
- Test and Defect Management
- Test Data Management
- Service Virtualization
- Performance Testing
- Security Testing
Good to have Infrastructure Capabilities
- Infrastructure Layer
- Environment Management
- Containerization
Good to have Ops Capabilities
Support Analytics
Policies/Procedure/Methods Business
- Agile
- Big Room Planning
- Lean
Policies/Procedure/Methods Dev
- Agile
- Feature Toggle
- Incremental Design
- Micro Services
Policies/Procedure/Methods Testing
Progressive Test Automation
Policies/Procedure/Methods Infrastructure
- On demand/cloud based Infra
- Infra-as-code
- Just enough Infra
Policies/Procedure/Methods Ops
- Predictive Monitoring
- Self Healing
Agile
Time boxed, iterative approach to software delivery that builds software incrementally from start of the project, instead of trying to deliver it all at once near the end.
Big room planning
Brings all the stakeholders who are responsible for delivery of software (business, dev, test, program management teams) together in a single room for about two days
Lean
State of a project achieved by collaboration, by ‘shifting left’ operational concerns early in the development lifecycle, by eliminating waste, rework and over-production i.e. using Lean Principles in DevOps
Feature Toggle
Releasing features to a selected cohort to get their responses prior to release to entire user base
Incremental Design
Based on SOLID principles
SOLID
- Single responsibility principle
- Open closed principle
- Liskov substitution principle
- Interface segregation principle
- Dependency inversion principle
Micro services
An architectural style to developing a single application as a suite of small services, each running in its own process and communicating with lightweight mechanisms.