Conference PaperPDF Available

Industrial DevOps

Authors:

Abstract

The visions and ideas of Industry 4.0 require a profound interconnection of machines, plants, and IT systems in industrial production environments. This significantly increases the importance of software, which is coincidentally one of the main obstacles to the introduction of Industry 4.0. Lack of experience and knowledge, high investment and maintenance costs, as well as uncertainty about future developments cause many small and medium-sized enterprises hesitating to adopt Industry 4.0 solutions. We propose Industrial DevOps as an approach to introduce methods and culture of DevOps into industrial production environments. The fundamental concept of this approach is a continuous process of operation, observation, and development of the entire production environment. This way, all stakeholders, systems, and data can thus be integrated via incremental steps and adjustments can be made quickly. Furthermore, we present the Titan software platform accompanied by a role model for integrating production environments with Industrial DevOps. In two initial industrial application scenarios, we address the challenges of energy management and predictive maintenance with the methods, organizational structures, and tools of Industrial DevOps.
Industrial DevOps
Wilhelm Hasselbring,S
¨
oren Henning,Bj
¨
orn Latte, Armin M¨
obius,
Thomas Richter§, Stefan Schalk, and Maik Wojcieszak
Software Engineering Group, Kiel University, Department of Computer Science, 24098 Kiel
wobe-systems GmbH, Wittland 2-4, 24109 Kiel, Germany
IBAK Helmut Hunger GmbH & Co. KG, Wehdenweg 122, 24148 Kiel, Germany
§Krause-Biagosch GmbH, Paul-Schwarze-Straße 5, 33649 Bielefeld, Germany
https://www.industrial-devops.org
Abstract—The visions and ideas of Industry 4.0 require a
profound interconnection of machines, plants, and IT systems in
industrial production environments. This significantly increases
the importance of software, which is coincidentally one of the
main obstacles to the introduction of Industry 4.0. Lack of
experience and knowledge, high investment and maintenance
costs, as well as uncertainty about future developments cause
many small and medium-sized enterprises hesitating to adopt
Industry 4.0 solutions. We propose Industrial DevOps as an
approach to introduce methods and culture of DevOps into
industrial production environments. The fundamental concept of
this approach is a continuous process of operation, observation,
and development of the entire production environment. This way,
all stakeholders, systems, and data can thus be integrated via
incremental steps and adjustments can be made quickly. Fur-
thermore, we present the Titan software platform accompanied
by a role model for integrating production environments with
Industrial DevOps. In two initial industrial application scenarios,
we address the challenges of energy management and predictive
maintenance with the methods, organizational structures, and
tools of Industrial DevOps.
I. INTRODUCTION
The digital transformation of the conventional, manufactur-
ing industry enables a new level of automation in production
processes. More and more technical machines and produc-
tion plants become increasingly intelligent and autonomous.
Equipped with network capabilities, they are able to consume
and supply data to others. This new trend, often referred to
as Industrial Internet of Things or Industry 4.0 [1], confronts
the production operator with the challenge of connecting and
monitoring the individual machines and devices [2]. While
software used to be only part of the production process,
nowadays software increasingly defines the production process
itself [3], so that the resulting software systems inevitably
become more complex. In order to ensure a smooth production
process these software systems have to be designed with a
special focus on reliability, scalability, and adaptability [4].
As is usual with complex systems, however, this complicates
the design, development, and maintenance of such a system.
In particular for small and medium-sized enterprises (SMEs),
this poses enormous challenges as these SMEs often do not
This research is funded by the Federal Ministry of Education and Research
(BMBF, Germany) in the Titan project (https://www.industrial-devops.org,
contract no. 01IS17084B).
have suitable software development departments. Instead, soft-
ware is often developed by domain experts (e.g., mechanical
engineers) with basic programming skills, but no education
in software engineering. Alternatives such as establishing
a dedicated software development department or delegating
software development to specialized external companies are
also risky. Business or domain requirements and their technical
implementations often diverge, so adaptations are cumber-
some, costly, and the time until they are released is long.
Agile and iterative principles, methods, and techniques that
are common in other fields of software engineering, such as
e-commerce systems [5], [6], can provide solutions to this.
Section II of this paper describes how these methods can
be transferred to the domain of industrial production envi-
ronments and highlights necessary changes in processes and
culture. Section III presents a software platform with which
these methods can be applied in the manufacturing industry.
Section IV describes a role model for applying the required
organizational and technical structures and Section V outlines
our two initial application scenarios. Section VI concludes this
paper and points out future work.
II. INDUSTRIAL DEVOPS
The traditional separation of software operation from its
development leads to several issues due to a lack of com-
munication, collaboration, and integration. DevOps [7] is a
movement to bridge this gap. We propose Industrial DevOps
as an approach for transferring DevOps values, principles,
and methods to industrial systems integration. In this way, we
expect that development and operation of such an integrating
software system will be improved and the discrepancy between
production operators and software developers will be reduced,
while ensuring high software quality. The following principles
are of crucial importance for Industrial DevOps.
1) Continuous Adaption and Improvement Process: The
core element of Industrial DevOps is a coherent, cyclic,
and continuous process as illustrated in Fig. 1. During its
operation, the software system as well as the production
itself is monitored and analyzed. Based on analysis results,
new requirements are identified. The implementation of these
requirements will either be done by adapting the software or by
reconfiguration in the IT operation or production. Adjustments
are tested automatically and after passing all tests, the new
1SFQSJOUPG
8)BTTFMCSJOHFUBM*OEVTUSJBM%FW0QT*&&&*OUFSOBUJPOBM$POGFSFODFPO4PGUXBSF"SDIJUFDUVSF
$PNQBOJPO*$4"$)BNCVSH(FSNBOZQQ
EPJ*$4"$
Fig. 1. The continuous adaption and improvement process of Industrial DevOps
software replaces the old one in production, where it is
monitored again.
Applying this iterative process aims to enable continuous
adaptions and improvements of the software. Thus, complex
systems are going to be created by starting from simple ones
that are extended in incremental steps. Another advantage
can be found in the maintenance of the systems. While IT
systems that run in production after a development phase are
provided with updates for a certain period of time, followed
by a certain period of service, the actual operating time is
often considerably longer. As a result, operation becomes
increasingly complex and risky, but at the same time migrating
to another system becomes more and more difficult. The
cyclic process of Industrial DevOps is intended to achieve
that development, updates, and service become continuous
processes that run permanently parallel to the operation of
the system.
2) Lean Organizational Structure: When applying external
software solutions, this often requires enterprises to adapt their
production processes to these solutions. Industrial DevOps
comes with an organizational structure to prevent this and in-
stead support the alignment of the software with the production
process.
A key factor of Industrial DevOps is that requirements are
discussed between all stakeholders and people from different
business units are brought together. This practice is referred
to as BizDevOps as a more general term [8]. Industrial
DevOps extends this by applying BizDevOps to integrating
systems and data of industrial production environments. For
the implementation of these requirements, domain experts and
developers work closely together. Moreover, the development
provides appropriate means, which allow domain experts to
solve the domain problems themselves to a certain extent. This
is accomplished by an extendable software platform, which is
owned by the user. Ownership can be direct or indirect if the
software is owned by an open source community.
Information from all levels is available for anyone in the
value stream through monitoring. Even if the information that
is required differs, the source of information is consistent
and allows investigation about cause and effect (culture of
causality). This should enable lean organizational learning [9].
3) Customer-Centric Value Generation: Organizations who
apply customer-centric value generation align all departments
to contribute to this goal [10]. All activities in the organi-
zation which do not directly or indirectly contribute to this
goal are abandoned. Some activities which are required for
organizational or compliance reasons are organized to stay
out of the way of the overall goal. Instead of wasting huge
amounts of money in market research, experiments are started
in a way that new features, functions, or products are offered
to customers and direct measurements are made by utilizing
IT to find out the customers response. These measurements
are not only done once, but continuously.
III. THE TITAN PLATFORM
Titan is a software platform for integrating and monitoring
industrial production environments using Industrial DevOps.
In order to integrate tools or infrastructure (e.g., machines, IoT
devices, software, or databases), modular software components
7RROV
,QIUDVWUXFWXUH
,7 ,QIUDVWUXFWXUH
7LWDQ
)ORZ (QJLQH
%ULFNV DQG
3OXJLQV
)ORZV
3ODWIRUP
'HYHORSHU
%ULFN
'HYHORSHU
7RRO
'HYHORSHU
,7 6HFXULW\
([SHUW
,7 2SHUDWRU
)ORZ 0DQDJHU
%XVLQHVV 8QLW
0DQDJHU
'RPDLQ
([SHUW
3URFHVV
2SHUDWRU 5HTXLUHPHQWV
3
3 7
3
%
%
7
%XVLQHVV DQG
3URGXFWLRQ
,7 DQG
3ODWIRUP
3URFHVV
0RQLWRULQJ
Fig. 2. The Titan role model
are created. These components, in Titan called bricks, serve
for integrating exactly one such system. This allows on the one
hand to exchange the underlying tool or infrastructure easily,
but on the other hand also to replace the integrating software
implementation. To connect bricks (and thus the underlying
systems of the production), Titan applies the principles of
flow-based programming [11] and calls a network of connected
bricks a flow.
Titan provides a graphical modeling language, which en-
ables the organization to graphically model the integration and,
based on this, to configure the integrated system. Hence, there
is no programmer required to perform these configurations or
(pre-configured) changes. Instead, a person that has received
training on the modeling language can work together with a
domain expert to do this.
Thus, this platform allows to react efficiently and effec-
tively to changing requirements in production. Furthermore, it
enables conducting experiments with little effort and to adjust
quickly in case of experiment failures. Titan integrates the
required monitoring, which includes resource consumption,
system utilization, and business data.
IV. THE TITAN ROLE MODEL
Industrial DevOps involves people from different domains,
business units, and organizations. The Titan role model (see
Fig. 2) defines roles to be assigned to people or groups that
use, operate, or develop the Titan platform and describes their
responsibilities as well as how they interact.
ADeveloper is a trained software engineer. This person has
learned to develop software in many programming languages.
Many different aspects of software development like code
quality or version management are covered. In Industrial
DevOps, many developers who are spread over many teams in
different organizations work together on a single system. The
role model introduces the following sub-roles: The Platform
Developer works on new features and improvements of the
Titan platform itself. The Tool Developer creates software
tools or interfaces for hardware that is integrated into the
system. The Brick Developer creates bricks and works closely
together with the Tool developers.
The IT Operator is trained in installing, configuring, and
running IT infrastructure. This person is also responsible
for installing, updating, configuring, and running software
applications.
The Flow Manager is a person that is closely related to
the business, but with a special training to master all aspects
of flow modeling. This person works as a connection between
business and technology. The Flow Manager implements new
flows and flow changes according to business requirements.
The Business Unit Manager can be located on all levels of
the hierarchy. This person knows about the business require-
ments and works together with the Flow Manager, the Domain
Expert, and the Process Operator to refine requirements.
The Domain Expert owns deep knowledge about the
domain at hand.
The Process Operator benefits from a new flow or a
change. This person is involved in utilizing the flow in the
actual production environment.
The IT Security Expert is responsible for the IT security
domain of the whole organization. The IT Security Expert
works together with development and operations through all
levels of the system.
As an extension to regular DevOps roles, the Titan role
model introduces business roles, domain experts, flow man-
agers, and process operators, which do not need to be devel-
opers.
V. I NITIAL INDUSTRIAL APPLICATION SCENARIOS
Enterprises, in particular in the manufacturing industry, face
the challenge of reducing and optimizing their energy con-
sumption for economic and ecological reasons. This requires
in-depth monitoring and analysis of the individual energy
consuming devices, machines, and plants. Doing this, also
referred to as energy management, serves as an initial appli-
cation scenario for Industrial DevOps and Titan. We designed
a monitoring infrastructure, which monitors, analyses, and
visualizes the electrical power consumption in industrial pro-
duction environments [12]. Employing the Titan platform, it
is able to integrate different kinds of sensors that use different
data schemata, formats, and protocols. Referring to the Titan
role model, this monitoring infrastructure enables Business
Unit Managers, Domain Experts, and Process Operators to
gain detailed insights into the energy usage and to identify
saving potentials. Thus, it is possible to perform and evaluate
optimization measures across departmental boundaries within
the company.
Predictive maintenance is another initial application sce-
nario we address with Industrial DevOps and Titan. Titan
can serve as a platform, which detects faults in machines
and production plants in advance on the basis of data from
integrated sensors and systems. An essential aspect here is
that not only data from a single machine and production plan
is considered for analysis. Instead, measurements and events
from of the entire production as well as environmental influ-
ences can be taken into account. The predictive maintenance
function thus has a much broader amount of data available
and can therefore also include non-obvious influences. With
the insights gained from the data, maintenance intervals can
be optimized. Additionally by returning analysis results to the
machines, they can optimize themselves.
VI. CONCLUSIONS AND FUTURE WORK
We propose Industrial DevOps as an approach to transfer
practices, methods, and culture of DevOps for integrating
systems in industrial production environments. It suggests an
organizational structure in which domain experts, business
managers, developers, and operators work together on solu-
tions. Production environments should be integrated, config-
ured, and operated in a validated learning loop to manage
changes and to control costs.
Future work lies in evaluating the proposed principles,
methods, and organizational structures of Industrial DevOps in
different industrial application scenarios. Therefore, we further
develop the Titan platform. To overcome the disadvantages of
proprietary integration systems, we will release it as free and
open source software. We are already using Clean Code ap-
proaches in the development to prevent software quality from
degrading over time [13]. Along with including quantitative
quality characteristics such as performance in the DevOps
cycle [14] as well as rigorous monitoring in operation, this
is supposed to contribute in creating a long-living software
platform [15].
REFERENCES
[1] S. Jeschke, C. Brecher, H. Song, and D. B. Rawat, Industrial Internet
of Things: Cybermanufacturing Systems. Springer, 2017.
[2] Y. Lu, “Industry 4.0: A survey on technologies, applications and open
research issues,” Journal of Industrial Information Integration, vol. 6,
pp. 1 10, 2017. doi: 10.1016/j.jii.2017.04.005
[3] J. Wan, S. Tang, Z. Shu, D. Li, S. Wang, M. Imran, and A. V. Vasilakos,
“Software-defined industrial internet of things in the context of Industry
4.0,” IEEE Sensors Journal, vol. 16, no. 20, pp. 7373–7380, Oct 2016.
doi: 10.1109/JSEN.2016.2565621
[4] B. Vogel-Heuser, A. Fay, I. Schaefer, and M. Tichy, “Evolution of
software in automated production systems: Challenges and research
directions,” Journal of Systems and Software, vol. 110, pp. 54 84,
2015. doi: 10.1016/j.jss.2015.08.026
[5] W. Hasselbring and G. Steinacker, “Microservice architectures for scala-
bility, agility and reliability in e-commerce, in Proceedings 2017 IEEE
International Conference on Software Architecture Workshops, 2017.
doi: 10.1109/ICSAW.2017.11 pp. 243–246.
[6] H. Knoche and W. Hasselbring, “Drivers and barriers for microservice
adoption - a survey among professionals in germany,” Enterprise Mod-
elling and Information Systems Architectures (EMISAJ) - International
Journal of Conceptual Modeling, vol. 14, no. 1, pp. 1–35, Januar 2019.
doi: 10.18417/emisa.14.1
[7] L. Bass, I. Weber, and L. Zhu, DevOps: A Software Architect’s Perspec-
tive. Addison-Wesley, 2015.
[8] V. Gruhn and C. Sch¨
afer, “BizDevOps: Because DevOps is not the end of
the story, in Intelligent Software Methodologies, Tools and Techniques,
H. Fujita and G. Guizzi, Eds. Springer, 2015. doi: 10.1007/978-3-319-
22689-7 30 pp. 388–398.
[9] J. Knuf, “Benchmarking the lean enterprise: Organizational learning at
work,” Journal of Management in Engineering, vol. 16, no. 4, pp. 58–71,
2000. doi: 10.1061/(ASCE)0742-597X(2000)16:4(58)
[10] S. Denning, The Age of Agile: How Smart Companies Are Transforming
the Way Work Gets Done. AMACOM, 2018.
[11] J. P. Morrison, Flow-Based Programming, 2nd Edition: A New Approach
to Application Development. Paramount, CA: CreateSpace, 2010.
[12] S. Henning, W. Hasselbring, and A. M¨
obius, “A scalable architecture for
power consumption monitoring in industrial production environments,
in IEEE International Conference on Fog Computing, 2019, in press.
[13] B. Latte, S. Henning, and M. Wojcieszak, “Clean code: On the use
of practices and tools to produce maintainable code for long-living
software,” in Proceedings of the Workshops of the Software Engineering
Conference 2019. Stuttgart, Germany: CEUR Workshop Proceedings,
Februar 2019.
[14] J. Waller, N. C. Ehmke, and W. Hasselbring, “Including performance
benchmarks into continuous integration to enable DevOps, SIGSOFT
Software Engineering Notes, vol. 40, no. 2, pp. 1–4, Mar. 2015. doi:
10.1145/2735399.2735416
[15] U. Goltz, R. Reussner, M. Goedicke, W. Hasselbring, L. M¨
artin, and
B. Vogel-Heuser, “Design for future: managed software evolution,”
Computer Science Research and Development, vol. 30, no. 3, pp.
321–331, Aug. 2015. doi: 10.1007/s00450-014-0273-9
... Another dimension of challenges in the use of DevOps in the industrial context is the integration of these approaches into the existing IT, process and data landscape of industrial companies and their complex organizational structures (Gokarna and Singh, 2021). Mostly different monolithic systems are used there, and their modification and integration with new IT tools, such as those required for DevOps, present a major challenge from the point of view of information technology (interfaces, data formats, etc.) and organization (approvals, security policies, etc.) (Hasselbring et al., 2019). In this paper, a concept for DevOps for an industrial company to develop software used in the manufacturing environment is proposed and validated through implementation. ...
... This is particularly true in the production context, where legacy systems are often in use without the respective abilities for interconnection (Fisch et al., 2018). Hasselbring et al. (2019) highlight the lack of knowledge and experience of legacy companies in using DevOps as a major impediment. They develop a framework for the implementation of DevOps in industrial companies focusing on a role model but less on the technical implementation of DevOps. ...
Article
Full-text available
The increasing importance of software as an essential functional provider in products and processes requires that companies master the development capabilities to continiously and quickly deliver high-quality software features. DevOps (acronym for Development and Operations) is an essential approach to these capabilities, which has so far been used predominantly in software-driven companies. This paper investigates the conditions under which DevOps can also be used in the industrial context of series manufacturing in order to be able to steadily develop and provide software features used in these environments (e.g. for monitoring and maintenance of manufacturing machines). A concept for DevOps for manufacturing systems was developed based on current best practices and the specific situation in the industrial company. The concept was then implemented and validated with experts on the basis of initial development cycles, demonstrating the usefulness of DevOps for manufacturing systems.
Article
Full-text available
Development and operations (DevOps) refer to the collaboration and multidisciplinary organizational effort to automate continuous delivery of information systems (IS) development project with an aim to improve the quality of the IS. The flexibility and quality production of software projects motivated the organizations to adopt DevOps paradigm. Organizations face several complexities while management of DevOps process. This study aims to explore and analyze the factors that could positively impact the management of DevOps process. Firstly, literature review was performed and identified 36 success factors that are related to 10 knowledge areas of DevOps project management. Secondly, a questionnaire survey study was conducted to get the insight of industry experts concerning the success factors of DevOps project. Finally, the fuzzy‐AHP was applied for ranking the success factors and examining the relationship between 10 knowledge areas of identified success factors. The results of this study will serve as a body of knowledge for researchers and practitioners to consider the highest priority success factors and develop the effective policies for the successful execution of DevOps project management.
Chapter
Change is an inevitable part of any business. Customer satisfaction and building good will is the primary goal. The real success lies in the above two factors rather than money. Different businesses operate in different ways. Each one focuses on a different set of criteria and thus follows a different set of models. There are various models in the software development life cycle, such as the waterfall model, spiral model, V-model, and so on. These models have advantages and disadvantages and aid in the improvement of a company's workforce. They overcome the disadvantages of the previous model with each model. DevOps is the most recent model that is widely used. This chapter deals with DevOps, including the need, working, and how it differs from other models. This also looks into how intelligent techniques can be used to enhance the DevOps process for better productivity in the businesses (i.e., AIOps). It summarizes the different phases in DevOps, the corresponding machine learning or artificial algorithms that can be applied in the phases.
Chapter
DevOps is a development and operations practice where engineers collaborate throughout the full-service lifecycle, from design to development to production support. DevOps is a newly emerging field in the field of Software application. Most of the giant companies have now shifted towards DevOps practices as it channelizes the development and operation process for any software development. The present chapter aims to provide the DevOps information for the basic to reach out to maximum people working in or planning to shift towards DevOps. Starting from the definition, the phases, tools, and security are discussed in the present paper. Each phase of the DevOps life cycle is discussed with the tools used in that phase. The DevOps practices are powered with several tools to provide end-to-end automation in software development. The present paper presents the basic knowledge of prevalent tools available for DevOps practices. Along with the DevOps automation, the chapter also gives an overview of DevOps security, its need, and its tool. The chapter covers the software phases and the tools used to automate it. It also provides information regarding the tool platform, availability, and usage. To emphasize more on DevOps, the chapter has also summarized the industrial and academic opportunities in DevOps.KeywordsDevOpsDevOps toolsDockerAnsibleGitJenkinsDevOps securityCICD
Article
The domain of cyber‐physical systems (CPS) has recently seen strong growth, for example, due to the rise of the Internet of Things (IoT) in industrial domains, commonly referred to as “Industry 4.0.” However, CPS challenges like the strong hardware focus can impact modern software development practices, especially in the context of modernizing legacy systems. While microservices and DevOps have been widely studied for enterprise applications, there is insufficient coverage for the CPS domain. Our goal is therefore to analyze the peculiarities of such systems regarding challenges and practices for using and migrating towards microservices and DevOps. We conducted a rapid review based on 146 scientific papers, and subsequently validated our findings in an interview‐based case study with nine CPS professionals in different business units at Siemens AG. The combined results picture the specifics of microservices and DevOps in the CPS domain. While several differences were revealed that may require adapted methods, many challenges and practices are shared with typical enterprise applications. Our study supports CPS researchers and practitioners with a summary of challenges, practices to address them, and research opportunities.
Article
Full-text available
Sheet metal part manufacture is a precursor to various upstream assembly processes, including the manufacturing of mechanical and body parts of railcars, automobiles, ships, etc., in the transport manufacturing sector. The (re)manufacturing of railcars comprises a multi-tier manufacturing supply chain, mainly supported by local small and medium enterprises (SMEs), where siloed information leads to information disintegration between supplier and manufacturer. Technology spillovers in information technology (IT) and operational technology (OT) are disrupting traditional supply chains, leading to a sustainable digital economy, driven by new innovations and business models in manufacturing. This paper presents application of industrial DevOps by merging industry 4.0 technologies for collaborative and sustainable supply chains. A blockchain-based information system (IS) and a cloud manufacturing (CM) process system were integrated, for a supply chain management (SCM) system for the railcar manufacturer. A systems thinking methodology was used to identify the multi-hierarchical system, and a domain-driven design approach (DDD) was applied to develop the event-driven microservice architecture (MSA). The result is a blockchain-based cloud manufacturing as a service (BCMaaS) SCM system for outsourcing part production for boxed sheet metal parts. In conclusion, the BCMaaS system performs part provenance, traceability, and analytics in real time for improved quality control, inventory management, and audit reliability.
Chapter
In the early days of software development model, researchers expressed his views on handling various software projects of many years of experience. What they felt like handling it difficult for large software projects. So, they proposed a method that was considered as the base and standard till late 90s for handling various types of software projects. As software projects were moving towards more commercial utilities and more customer centric, there were demands that were concerned with lower or no downtime, rapid updates implementation and highly available software projects, so it was evident that changes in the methodologies were required and various development groups were creating and naming their own standards as per their own need of aspirations. Clearly, it was the era of evolutionary life cycle methods. Then almost all these evangelists met and created a common manifesto that was considered as Agile methodologies. In this document, we have tried travelling from Waterfall model to DevOps via Agile. In this study, we have collaborated the various evolution strategies and their need.KeywordsEvolutionaryDevOpsSoftware engineering
Conference Paper
Full-text available
Maintaining a long-living software system is substantially related to the quality of the code the system is built from. In this experience report we describe how a set of practices and tools has been established and used on the early stages of a project. The approach is based on Clean Code and the use of well known static code analysis tools. The tools and practices have been used with an immediate effect of having cleaner code that is easier to understand in the long term. Additional attention is given to the cultural aspect that is involved in reaching a mindset that will allow to set and uphold code quality standards. Reaching a common understanding is a team effort that requires "leaving one's comfort zone". Finding common ground can significantly decide about failure or success in creating maintainable code.
Article
Full-text available
Microservices are an architectural style for software which currently receives a lot of attention in both industry and academia. Several companies employ microservice architectures with great success, and there is a wealth of blog posts praising their advantages. Especially so-called Internet-scale systems use them to satisfy their enormous scalability requirements and to rapidly deliver new features to their users. But microservices are not only popular with large, Internet-scale systems. Many traditional companies are also considering whether microservices are a viable option for their applications. However, these companies may have other motivations to employ microservices, and see other barriers which could prevent them from adopting microservices. Furthermore, these drivers and barriers possibly differ among industry sectors. In this article, we present the results of a survey on drivers and barriers for microservice adoption among professionals in Germany. In addition to overall drivers and barriers, we particularly focus on the use of microservices to modernize existing software, with special emphasis on implications for runtime performance and transactionality. We observe interesting differences between early adopters who emphasize scalability of their Internet-scale systems, compared to traditional companies which emphasize maintainability of their IT systems.
Article
Full-text available
In recent years, there have been great advances in industrial Internet of Things (IIoT) and its related domains, such as industrial wireless networks (IWNs), big data, and cloud computing. These emerging technologies will bring great opportunities for promoting industrial upgrades and even allow the introduction of the fourth industrial revolution, namely, Industry 4.0. In the context of Industry 4.0, all kinds of intelligent equipment (e.g., industrial robots) supported by wired or wireless networks are widely adopted, and both real-time and delayed signals coexist. Therefore, based on the advancement of software-defined networks technology, we propose a new concept for industrial environments by introducing software-defined IIoT in order to make the network more flexible. In this paper, we analyze the IIoT architecture, including physical layer, IWNs, industrial cloud, and smart terminals, and describe the information interaction among different devices. Then, we propose a software-defined IIoT architecture to manage physical devices and provide an interface for information exchange. Subsequently, we discuss the prominent problems and possible solutions for software-defined IIoT. Finally, we select an intelligent manufacturing environment as an assessment test bed, and implement the basic experimental analysis. This paper will open a new research direction of IIoT and accelerate the implementation of Industry 4.0.
Article
Full-text available
Innovative software engineering methodologies, concepts and tools which focus on supporting the ongoing evolution of complex software, in particular regarding its continuous adaptation to changing functional and quality requirements as well as platforms over a long period are required. Supporting such a co-evolution of software systems along with their environment represents a very challenging undertaking, as it requires a combination or even integration of approaches and insights from different software engineering disciplines. To meet these challenges, the Priority Programme 1593 Design for Future—Managed Software Evolution has been established, funded by the German Research Foundation, to develop fundamental methodologies and a focused approach for long-living software systems, maintaining high quality and supporting evolution during the whole life cycle. The goal of the priority programme is integrated and focused research in software engineering to develop methods for the continuous evolution of software and software/hardware systems for making systems adaptable to changing requirements and environments. For evaluation, we focus on two specific application domains: information systems and production systems in automation engineering. In particular two joint case studies from these application domains promote close collaborations among the individual projects of the priority programme. We consider several research topics that are of common interest, for instance co-evolution of models and implementation code, of models and tests, and among various types of models. Another research topic of common interest are run-time models to automatically synchronise software systems with their abstract models through continuous system monitoring. Both concepts, co-evolution and run-time models contribute to our vision to which we refer to as knowledge carrying software. We consider this as a major need for a long life of such software systems.
Article
Full-text available
Coping with evolution in automated production systems implies a cross-disciplinary challenge along the system's life-cycle for variant-rich systems of high complexity. The authors from computer science and automation provide an interdisciplinary survey on challenges and state of the art in evolution of automated production systems. Selected challenges are illustrated on the case of a simple pick and place unit. In the first part of the paper, we discuss the development process of automated production systems as well as the different type of evolutions during the system's life-cycle on the case of a pick and place unit. In the second part, we survey the challenges associated with evolution in the different development phases and a couple of cross-cutting areas and review existing approaches addressing the challenges. We close with summarizing future research directions to address the challenges of evolution in automated production systems.
Book
Developing the core system science needed to enable the development of a complex industrial internet of things/manufacturing CPS (IIoT/M-CPS), this book will foster a research community committed to advancing research and education in IIoT/M-CPS and to transitioning applicable science and technology into engineering practice. Presenting the current state IIoT and the concept of cybermanufacturing, this book is at the nexus of research advances from the engineering and computer and information science domains. It features contributions from leading experts in the field with years of experience in advancing manufacturing. Readers will acquire the core system science needed to transform to cybermanufacturing that spans the full spectrum from ideation to physical realization.
Article
Originally initiated in Germany, Industry 4.0, the fourth industrial revolution, has attracted much attention in recent literatures. It is closely related with the Internet of Things (IoT), Cyber Physical System (CPS), information and communications technology (ICT), Enterprise Architecture (EA), and Enterprise Integration (EI). Despite of the dynamic nature of the research on Industry 4.0, however, a systematic and extensive review of recent research on it is has been unavailable. Accordingly, this paper conducts a comprehensive review on Industry 4.0 and presents an overview of the content, scope, and findings of Industry 4.0 by examining the existing literatures in all of the databases within the Web of Science. Altogether, 88 papers related to Industry 4.0 are grouped into five research categories and reviewed. In addition, this paper outlines the critical issue of the interoperability of Industry 4.0, and proposes a conceptual framework of interoperability regarding Industry 4.0. Challenges and trends for future research on Industry 4.0 are discussed.
Conference Paper
DevOps, the common service responsibility of software development and IT operation within the IT department, promises faster delivery and less conflicts of competence within software development processes and is currently being implemented by many companies. However, the increasing business responsibility of IT, the increasing IT competence in the departments and the standardization of IT operations require a restructuring that goes beyond the boundaries of the IT department. The logical consequence is the BizDevOps concept: Business, Development and Operations work together in software development and operations, creating a consistent responsibility from business over development to operations. In this paper we draft a BizDevOps approach by extending the existing DevOps approach with techniques from the area of End User Software Engineering. We present a software platform to support this approach. Based on a case study at a large reinsurance company we share our experiences from using both approach and platform in practice.