DevOps
TL;DR;
DevOps is a cultural shift and a set of practices in software development that focuses on collaboration, automation, and continuous improvement to deliver high-quality software quickly. It involves various stages such as planning, coding, building, testing, releasing, deploying, operating, and monitoring.
Definition
DevOps is a set of practices that combines software development (Dev) and IT operations (Ops) with the aim to shorten the system development life cycle and provide continuous delivery with high software quality.
Goals
- Improve collaboration between development and operations teams.
- Automate and streamline software development and infrastructure management processes.
- Increase the speed and frequency of software releases.
- Improve problem-solving and reduce downtime.
- Enhance software quality and security.
Practices
- Continuous Integration: Regularly merging code changes into a shared repository where builds and tests are run.
- Continuous Delivery: Automatically preparing software for release to production.
- Continuous Deployment: Automatically deploying the software to production.
- Infrastructure as Code: Managing and provisioning computing infrastructure through machine-readable script files.
- Automated Testing: validating the functionality match the expectation.
- Observability: Tracking application performance and user activities to identify and resolve issues quickly.