DevOps EA Framework
DevOps promotes agile methods to operations. It provides the collaboration between development and operations teams. It aims to decrease the time between applying a change to a system and the change transferred to the production environment.
The goals of DevOps are to make improvements across all components in the product and service delivery. They include:
The following diagram depicts the DevOps EA framework for the DevOps adoption.
a) Planning
DevOps Readiness
The DevOps Architect along with the DevOps SMEs engage in conversation with the respective customer teams, and analyze the current DevOps capabilities and the tools usage across enterprise. This provides the DevOps adoption maturity level of an Organization.
DevOps Planning and Road mapping
The DevOps architect and the team analyze the existing applications for CICD scope and estimate the enterprise applications that can be part of CICD. Identification of applications for the DevOps adoption is carried out based on the inputs provided by stakeholders and high-level analysis.
Roadmap is developed to implement new DevOps processes, to improve the existing processes and the list of tools identified as part of the planning stage.
Baseline Measurement
The following data needs to be agreed upon and captured across the enterprise by an Architect in consensus with the development teams:
Pilot Applications Identification
Business impact, user base, criticality of the application being assessed and documented for the pilot implementation.
DevOps Solution Blue Print
Solution Blueprint addresses implementing Continuous Integration (CI), Continuous Testing (CT), Continuous Deployment (CD) and Continuous Change Management (CCM) subsystems.
Architecture Principles
The core architecture Principles are:
b) Solution Definition
DevOps Process Definition
DevOps Processes will transform the enterprise from current to future state across all dimensions. The Solution approach would be multi-dimensional across people, process, tools & automation, and data to enable enterprise objectives.
Tools Selection
The following are the DevOps tools selection design principles:
DevOps Tool Chain Identification
A DevOps toolchain is a set or combination of tools that aids in the delivery, development, and management of applications throughout the systems development life cycle. DevOps toolchain improves the productivity, speeds up time to market, reduces risk and increases quality.
Tools Integration
A seamless cross-tool collaboration is very important in DevOps implementation. Just deploying the right set of tools to the right users is not enough. Proper connectivity between and across the DevOps tools chain is necessary to create a collaborative work environment around the Dev and Ops teams.
A repository stores two types of artifacts, i.e. releases and snapshots. Release repositories are for stable, static release artifacts and snapshot repositories are frequently updated repositories that store binary software artifacts from projects under constant development.
Configuration Management
Configuration Management helps in establishing and maintaining consistency in applications’ functional requirements and performance.
Tool Configuration and Tool Architecture
Tool architecture has to support application changes without release (e.g., late binding). The architecture has to be scalable, secure, available and reliable. It has to address the implementation of High Availability Infrastructure.
d) Operations
Feedback and Monitoring
In the DevOps approach, due to the automated delivery pipeline, constant feedback and monitoring become easy across the organization.
Frequent Releases
Version controls, updates, and releases continuously monitored by using DevOps Tools.
Metrics
An architect along with the organizational leadership defines Metrics or KPIs. The measurable KPIs are:
Service Monitoring
Monitoring services will ensure the Hardware components, OS, middleware, Application, DB and networking covered for performance, availability, utilization, capacity, trends, and recommendations on operational improvements.
DevOps Analytics
DevOps leverages analytics and machine learning to automate the manual tasks involved in incident detection, troubleshooting and root cause analysis.
e) DevOps EA Governance
Enterprise Architect: Helps to develop, improve and sustain enterprise architecture.
DevOps Architect: Promote the DevOps adoption approach across the enterprise.
Automation and Tools Lead: Drives all the tool implementations across the enterprise.
DevOps Engineers: Manage the entire application lifecycle while responding to feedback and analytics collected from the running application.
Adjust enterprise EA practice to be consultative in the context of cultural change. The success of DevOps in an organization can be achieved by:
To get maximum benefit from the DevOps implementation, focus shall be on three key areas - change of culture, connection of processes, and common tooling. This is crucial to reduce development-to operations costs and minimize change-related outages.
DevOps Architect plays a major role in enterprise DevOps adoption. They promote real-time, rapid, automated, and efficient development culture among the software development and operations teams.
Industry :
Dr. Gopala Krishna Behara
Distinguished Member of Technical Staff and Lead Enterprise Architect at Wipro Technologies
He is a Certified Open Group TOGAF, AWS Solution Architect, IBM Cloud Solutions and serves as an Advisory Architect, Mentor on Enterprise Architecture, Next Generation Architectures, Application Portfolio Rationalization and Architecture Assurance initiatives, and continues to work as a Subject Matter Expert and Author. He has worked on multiple architecture transformation engagements in the USA, UK, Europe, Asia Pacific and Middle East regions that presented a phased roadmap to transformation that maximized business value, while minimizing costs and risks.
He has published white papers, blogs and articles in international journals in SOA, BPM, Open Source and Next Generation Technologies & e-Governance space. Dr. Behara has also published books titled Enterprise Architecture Practitioner Hand Book, Next Generation Enterprise Reference Architecture for Connected Government and Microservices Practitioner Guide. He is the recipient of the EA Hall of Fame - Individual Leadership in EA Practice, Promotion and Professionalization Award, 13th Annual Enterprise Architecture Conference, Washington, D.C., USA.