Security in a DevOps Environment
Integrating Development and Operation teams as well as other functions that have previously been silo’d is key to any development project for all service providers today. We hear a lot about this in DevOps training and certification classes. What about security? You may have heard the term DevSecOps. This idea and term was coined to ensure that architects and developers include into our requirements and code those things necessary for security. Design architects will also want to ensure that security is integrated throughout the value stream of development, deployment and operations and it is done in such a way so that the complexity is as transparent as possible to the functional teams involved. How can we do this without impeding our flow of work? How can we still be able to meet compliance for legislative, legal or regulatory requirements relating to security?
This is where Automation comes in. Collaboration and measurement are key values but automation is also needed to ensure success here. We hear a lot about Continuous Delivery and Continuous Deployment. Those knowledgeable about this know that these practices include integrated/ automated testing at the same time as we commit code and complete the build. We cannot simply disregard security. Developers, security architects and testers will be integrating the security requirements in addition to those required for the functionality of the application/code. Simply put, in DevSecOps we are designing for security and doing that while we design and integrate the code for the functionality of a product or service. To do this you will need to have clearly defined roles and responsibilities for integrated requirements, integrated development and integrated teams.
Developers, auditors and other members of this integrated system will need to be trained or retrained on how to develop secure code. They will need to understand those elements required in the code to ensure it is resilient. If the developers of an application know the security requirements prior to development, the code will look very different. We no longer want to put security on as a wrapper after the code is developed. Even though a single team may be responsible, different people in the team will assume different roles. The scope of their capabilities can be managed. To do this organizations will need support for common DevOps toolchain environments and include security into each.
For more information relating to DevOps and DevSecOps please see http://www.itsmacademy.com/devops