Matt Barlow, DevOps Engineer, Rackspace
DevOps a Shared Responsibility
Ideally, developers will begin sharing responsibilities with your operations teams. Activities such as performance troubleshooting, which used to be rooted in the domain of operations, are now a shared responsibility. Based on my experience, it is becoming more common for developers to interact directly with customers.
Integrate DevOps to Improve Collaboration
Cloud infrastructure is often the default choice for new projects. For legacy applications, a switch to Cloud is often going to require a significant redesign. But, the cost savings both in infrastructure and ongoing maintenance can make the investment worthwhile. Regardless of your chosen infrastructure, you should consider integrating DevOps principles in order to improve collaboration.
More the Projects More the Time on Infrastructure
On a typical development team, it is common to require 2-3 people who manage infrastructure, including the automation of the application deployment pipeline. A lot depends upon how many projects are being maintained. The more projects, the more time will be spent managing infrastructure. What I find fascinating is that many practices that apply to application code, now apply to infrastructure code as well. For example, you can run tests on infrastructure code, and version it just like an application code base. This leads to more reliability in your infrastructure and less firefighting.
“The heart of DevOps is a partnership between developers and operations to best meet the objectives of both”
DevOps Benefits your Bottom Line
DevOps benefits your customers, your employees, and your bottom line. Your customers benefit because your development teams are more closely aligned with their needs. Employees benefit by the elimination of silos and improved ability to get things done. As for your bottom line, DevOps collaboration may help your teams to release more often, which allows you to remain competitive and focused on your business objectives. The heart of DevOps is a partnership between developers and operations to best meet the objectives of both.
DevOps for Faster Iterations
Not necessarily. It is possible to make great software without DevOps. It is also possible for teams to follow the DevOps model but still produce poor quality software. However, DevOps can lead to healthy conflict and faster iterations, which can reduce the amount of time it takes to improve software.