The DRA framework high-level architecture is composed of three main components: - Framework characteristics - Framework architecture - Framework composition
The DRA contextual model is a high-level abstract design that promotes the relationship between the contexts of DevOps, Multi-Cloud and IoT.
The DRA physical model is a blueprint that organizes the DevOps-Cloud tools requirement in a compatible template that enables the DRA logical model practices.
The DRA characteristics are general terminologies that can be used to create reference architecture founded on the DevOps concepts and cloud services. The DRA characteristics offer a blueprint that assists with the adoption of DevOps approach in organizational context. The DRA characteristics focus of the human factor integration with the digital APIs and tools. The DRA characteristics are not fixed to a context but can be used in numerous development contexts. The framework characteristics are organised into three categories: • The foundation is composed of the human factor, infrastructure, and abstraction elements. • The core is composed of tools, process, and product elements. • The extended is composed of business value, rules, and legal elements.
The abstraction in the DRA framework is based on four key factors. First, the DRA is people-oriented because it supports the human factor (people) using DevOps concepts and practices. Second, the DRA is service-oriented because it uses cloud services (PaaS, SaaS, IaaS) to set up the development workspace. Third, the DRA is tools-oriented because it uses DevOps tools to create an operational pipeline in the development workspace. Fourth, the DRA is process-oriented because it enables automated and integrated processes to accomplish the deployment of a software application product. Organizations may use, combine, or integrate other abstraction mechanisms to fit the purpose of the software project.
In an organisation, a DevOps team may involve many individuals that have one or many roles. People in a DevOps team may belong to different types of communities and have different types of skills (social skills, development skills, management skills, technical skills). Regardless of the people’s skills, location, languages and knowledge base, a DevOps team is expected to be involved in the entire product deployment life-cycle (or development chain), which includes code management, build, testing, deployment, and monitoring. the DRA framework uses the DevOps approach, which provides concepts, practices and tools that enable better communication and collaboration in a team.
The infrastructure characteristic is also a foundational element in the framework’s construction. As observed in the cloud seems to provide the required infrastructure for the DRA framework. Multi-cloud offers virtual servers, resource-sharing, adaptive deployment options, software services and standard security measures. The cloud supports automation, CI, continuous deployment, and monitoring. In the DRA framework, DevOps and multi-cloud services integrate into the architecture.
The process characteristic is an activity result of practices conducted by DevOps team. A process is composed of different sub-processes such as design, development, deployment, business. Processes are compliant to rules, legal requirements that represent the policy that support the abstraction characteristic in DevOps approach context. A process can be categorized as a software process, design process, business process, and deployment process.
Tools characteristic refers to DevOps and non-DevOps tools and technology (e.g., continuous integration tools, automated testing tools, automated deployment tools, automated monitoring tools, communication tools, and cloud tools).
The product characteristic is the output of a process or multiple processes conducted in the development workspace. The proposed DRA framework deploys and delivers a product using an operational model com-posed of several tools. A product can be of different types and may contain one or many sub-products. Product quality is revised using DevOps retrospective review [monitoring, testing, health, performance, availability].
The business value characteristic has not been investigated to any great extent in this thesis. However, it should be included in the characteristics because it affects the deployment and delivery of the product (e.g., IoT application) to users. Business value is generated by using other characteristics such as people, tools, processes, infrastructures, and products.
The rules characteristic is explicitly included in the extended characteristics category of the DRA framework. Business rules are a form of knowledge that states the guidelines being adopted in the organisation. Business rules are an essential concept and can be viewed as general declarations about the organisation’s means of conducting business.
The DRA logical model integrates the DevOps and Multi-Cloud practices in a practical design that enables DevOps approach adoption for software application automated deployment to Multi-Cloud.
The DRA operational model is founded on the DRA physical model blueprint. The DRA operational model can be instantiated into development pipelines using a wide range of DevOps tools and Multi-Cloud services. The operational model can be used with any development stack to deploy and deliver software applications to end-users.
DRA conceptual model is an abstract design that organizes the DevOps and Multi-cloud concepts in a coherent architecture to deploy software applications (e.g. IoT, Web, etc.) using a new mechanism - The CI-Broker.
The legal characteristic is explicitly included in the extended characteristics category of the DRA framework. The legal agreement and governing requirements may also affect the software development process and product (e.g., IoT-application) delivery. To successful implement DevOps approach, organizations should use the agile manifesto (2001) and apply the following acceptance law of the product use: • Specification of the accepted work • Copyright rules • The due date of payment • The transfer of the risk of compensation • The limitation period for warranty claims • The exclusion of known, not reserved defects • The beginning of the intended use of the product • Cost planning of the product and time constraint • The product development and implementation schedule • DevOps team roles and responsibility contracts • The development environment and product delivery • Quality assurance for end-users The legal characteristic may include or exclude different items depending on the current organization.
The DRA composition incorporates the essential elements needed to create DRA instances for deploying IoT-applications (and none IoT-apps) to the multi-cloud. The DRA composition is founded on the DRA characteristics, which were used to create a comprehensive reference architecture for deploying IoT applications (products) to the cloud/multi-cloud (infrastructure). The DRA composition integrates the DRA architectural models to create practical implementations (instances) that are applicable in the context of the organization. The DRA composition includes three main components: Resources, Configuration, and Output. The DRA implementation is a digital transformation of the DRA characteristics into software engineering elements (Design, Software, Pipeline, and Hardware).