A compound of development (Dev) and operations (Ops), DevOps is the union of people, process, and technology to continually provide value to customers.
- DevOps enables the Organization's ability to deliver application and services at high velocity.
- This rapid development enables organisations to better serve the customers and compete more effectively in the market.
- DevOps is a set of practices, tools and a cultural philosophy.
- It emphasizes team empowerment, collaboration and technology automation.
- Developers, developed the code
- Operations Team, deployed the code in Servers. And continously supported and monitored the environment.
- Code works in Developers Environment.
- Code does not work in Operations Environment.
- software development and IT operations communities raised concerns about this traditional software development model.
- DevOps, a combination of the words development and operations, reflects the process of integrating these disciplines into one, continuous process.
- DevOps enables formerly siloed roles—development, IT operations, quality engineering, and security—to coordinate and collaborate to produce better, more reliable products.
-
Under a DevOps model, development and operations teams are no longer “siloed.”
-
Sometimes, these two teams are merged into a single team where the engineers work across the entire application lifecycle.
- from development
- and test
- to deployment
- to operations.
-
Teams use practices to automate processes that historically have been manual and slow.
-
They use a technology stack and tooling which help them operate and evolve applications quickly and reliably.
-
These tools also help engineers independently accomplish tasks (for example, deploying code or provisioning infrastructure) that normally would have required help from other teams, and this further increases a team’s velocity.
- Speed
- Rapid Delivery
- Reliability
- Scale
- Improved Collaboration
- Security.
- Moving from Traditional Infrastructure to Microservices
- Integrating Tools of Different Domains
- Changing Well Defined Processes to More Efficient Ones
- Separate Tools Set for Dev and Ops Team
- Adoption of New Tools
- Resistance to Change
- Continuous Integration
- Continuous Delivery
- Microservices
- Infrastructure as Code
- Monitoring and Logging
- Communication and Collaboration
-
Version Control tools
- git
- github
- gitlab
- bitbucket
-
Container Managemnet tools
- Docker
- Kubenetes
-
Configuration Management tools
- Ansible
- Chef
- Puppet
-
CI / CD deployement tools
- Jenkins
-
Monitoring tools
- Prometheus
- Grafana
- splunk