5. What is DevOps?
DevOps = Dev (Development) + Ops (Operations).
Different people define DevOps in a variety of ways.
6. DevOps is a loose set of practices, guidelines, and culture designed to break down silos in IT
development, operations, networking, and security.
Google
7. DevOps is an approach to culture, automation and platform design intended to deliver increased
business value and responsiveness through rapid, high-quality service delivery. DevOps means linking
legacy apps with newer cloud-native apps and infrastructure.
RedHat
8. DevOps is the combination of cultural philosophies, practices, and tools that increases an
organization’s ability to deliver applications and services at high velocity: evolving and improving
products at a faster pace than organizations using traditional software development and infrastructure
management processes.
AWS
9. • It is a culture of collaboration between developers and operations people
• This culture has given rise to a set of practices
DevOps is
10. • DevOps is NOT tools, but tools are essential to success in DevOps
• DevOps is NOT a product
• DevOps is NOT a job title
DevOps is NOT
12. • Devs write code
• "throw it over the wall" to QA
• Code bounces back and forth between Dev and QA as QA discovers problems and Devs fix them
• Finally, it is ready for production
The Story of Some Code:
Traditional Approach
13. • QA/Dev "throws the code over the wall" to Operations
• Oh no! There's a problem. Ops throws it back over the wall to Dev
• Each group's domain is a "black box" to the other groups
• "Our systems are fine; it's your code!"
• "But the code works on my machine!"
The Story of Some Code:
Traditional Approach
14. Dev and Ops are black boxes to each other, which leads to finger pointing:
• Because Ops is a black box, Devs don't really trust them
• And Ops doesn't really trust Dev
Dev and Ops have different priorities, which pits them against each other:
• Ops views Devs as breaking stability
• Devs see ops as an obstacle to delivering their code
Even if they WANT to work together:
• Dev is measured by delivering features, which means deploying changes
• Ops is measured by uptime, but changes are bad for stability
Traditional Approach - What Went Wrong?
15. • "Black boxes" lead to finger pointing
• Lengthy process means slow time-to-market
• Lack of automation means things like builds and deployments are inconsistent
• It takes a long time to identify and fix problems
Downsides of Traditional Approach
16. • DevOps culture is about collaboration between Dev and Ops.
• Under the traditional separation between Dev and Ops, Dev and Ops have different and
opposing goals.
DevOps Culture
17. • DevOps culture is about collaboration between Dev and Ops.
• With DevOps, Dev and Ops work together and share the same goals.
DevOps Culture
18. With DevOps:
• Dev and Ops are playing on the same team
• Dev and Ops share the same goals
These goals include things like:
• Fast time-to-market (TTM)
• Few production failures
• Immediate recovery from failures
The Goals of DevOps Culture
19. • Devs write code
• Code commit triggers automated build, integration, and tests
• QA can get their hands on it almost immediately
• Once it is ready, kick off an automated deployment to production
The Story of Some Code: DevOps
20. The Story of Some Code: DevOps (continued..)
• Since everything is automated, it is much easier to deploy while keeping things stable
• Deployments can occur much more frequently, getting features into the hands of customers faster
21. The Story of Some Code: DevOps (continued..)
• Oh no! The latest deployment broke something in production!
• Fortunately, automated monitoring notified the team immediately
• The team does a rollback by deploying the previous version, fixing the problem quickly
• An hour later, the dev team was able to deploy a fixed version of the new code
22. What does DevOps aim to?
• Quality
• Speed and velocity
• Automation
• Collaboration
25. • DevOps is NOT a set of tools
• But how can we achieve high speed of delivery while maintaining stability? TOOLS!
• The DevOps community has created a wide range of powerful tools
• Part of doing DevOps is identifying the tools you need and learning how to use them
The Role of Tools in DevOps
26.
27. • Bash (Shell Programming)
• Python
• GO
Programming Languages
28. • Understand the Concept of OS
- Process Management - I/0 Management
- Virtualization - File Systems
- Memory – Storage
- Service Management
• Live in Terminal
Bash Scripting - Vim
OS and Managing servers
29. • HTTP - HTTPS - FTP
• SSL / TLS - SSH
• Port Forwarding
• Proxy and reveres proxy
• Load Balancing
• OSI
• Web Server
- Apache – Tomcat
- Nginx
Networking, Security and Protocols