At its core, the idea behind DevOps is very simple: to tear down the walls between Operations and Development in order to create a rapid, automated process that enables the fastest possible development of software. In practice this means that Operations and Development engineers are jointly involved in the entire software lifecycle, from design through the development process to support.
Dividing work into Development and Operations has a long history and goes back to the early days of computer science. That we are talking about DevOps now does not mean the end of Development and Operations. But today we no longer clearly separate the two. One feature of DevOps is that Operations employs many of the same techniques that developers use in their work. These techniques include source control, testing, and an agile development process, among other things. DevOps is related to the "Agile" and "Lean" approaches. Previously, the Dev side was seen as the "makers" and the Ops side as the "people who deal with the creation after its birth". Overcoming this silo mentality is the main driver behind DevOps. Other features of successful DevOps are a culture of sharing and open feedback, automation, and constant metering of performance and processes.
How enterprise architecture can help make DevOps a success
Ideally, your enterprise architects will be active members of the delivery teams in the role of architecture owners.
Promote reusability in your company's IT by firmly implanting this attitude in your teams. Wherever possible, delivery teams should reuse existing data sources, services, IT components, templates, and other assets. You can support this reuse by compiling information on the available technologies in a central repository to which all teams have access.
The IT component landscape will then display available technologies and their status at a glance.
The point of DevOps is to break down walls and collaborate better in order to drastically increase the speed of software development. Enable your teams to communicate quickly and easily, for example by using collaboration tools.
Commenting functions in LeanIX allow users to start new conversations in the right context and involve other people with "mentions".
Under DevOps, teams need rapid access to information on how their services are performing. A useful tool for this purpose are real-time metrics, which can for example show availabilities and response times directly in the context of the applications in question and provide teams with the information they need to make fast decisions.
Technical debt, the potential additional effort required as a result of poor technical software implementation, should be avoided as much as possible from the start. Enterprise architects, who often play the role of architecture owner, should coach developers in this respect and inform managers and stakeholders of the problems associated with technical debt.
A major aspect of enterprise architecture is developing guidelines that address current issues in IT. Companies frequently have guidelines for security, connectivity, coding standards, and more. Following these guidelines enables DevOps teams to produce more standardized solutions that can be more easily run and supported. A possible disadvantage of guidelines is that some developers may find them too restrictive. We recommend developing your guidelines in collaboration with your teams to avoid this issue.
Enterprise architects define, support and develop technology roadmaps. This supports the development of a shared and standardized technology infrastructure in your production environment and enables DevOps practices such as continuous deployment, automation, and operational monitoring.
IT component roadmaps allow you to see how your technology portfolio develops over time. Ensure that this development is suited to your DevOps strategy.
These enterprise architecture best practices will help you establish a collaborative DevOps culture in your company that welcomes communication and significantly accelerates development.