tl;dr: Development + Operations == better services
- DevOps is not something you can buy.
- DevOps is not a tool.
- DevOps is not using the cloud.
- DevOps is not ping pong tables and beer.
- DevOps is not Agile.
- DevOps is not Kanban.
- DevOps is not one team.
- DevOps is not one person.
DevOps defines 5 key pillars of success:
- Reduce organizational silos
- Accept failure as normal
- Implement gradual changes
- Leverage tooling and automation
- Measure everything
In a pre-DevOps world the jobs of Devs and Ops were separate:
- There was a clearly defined and relatively standardized interface between the two.
- Workflows were slower, meaning there was more time to troubleshoot and debug.
In a post-DevOps world we have a new hybrid job:
- Software is released faster via agile development.
- Larger scale services means companies need many identical servers, spawning configuration management tools.
- Devs need to know ops skills to better tests their projects and to anticipate issues when it comes to deploying the application.
- Ops need to know development skills to minimize wasted resources and to improve security of the applications and the servers those apps run on.