A Software Architecture For Manufacturing
The movement towards Industrie 4.0 leads to a higher software penetration on the shop floor. Companies must sit behind the steering wheel if they do not want to run into trouble. A suitable software architecture is the basis for a successful Industrie 4.0 journey.
As shown in this article, manufacturers have to adapt to new requirements in order to be successful in the future. Moreover, they need to do this much faster than today.
Due to my profession, I have seen many different manufacturing units. Ranging from Small and Medium-sized Enterprises (SMEs) to big players. Most of them had a lot of software in place, thus enabling their business processes. Only very few had any kind of software architecture as a foundation. In the long term, this circumstance will hinder growth.
This article will show why and what a better approach would look like.
Five Common Problems Due To Lack Of Software Architecture
Sam Newman once compared Software Architecture to city planning and therefore software architects with city planners. This is a good metaphor. Different software applications form houses in this image. Now everyone can imagine what towns would look like without the guiding hand of a municipality or a city planner. Even worse, when we think about megacities like New York.
Transferred back to the manufacturing scenario the message remains the same. Without a planning hand, the software landscape will show a very mixed image – just like the city scenario.
Being concrete, this results in the following problems for manufacturing units, regarding the operation of manufacturing-related software:
- Low Scalability
- Reduced Change Speed
- High Integration Costs And Bad Interoperability
- Low Resilience And Therefore No Industrial Robustness
A City Well Built
A suitable software architecture for the manufacturing tackles points one, three and five. Logging and Monitoring Tools will help with point four.
In addition, organizational methods like DevOps combined with Continous Integration will improve point two.
Starting from behind, how can resilience be achieved? You are using a good example of a very resilient system every day: The Internet.
Distributed Systems help when it comes to resilience features like redundancy or robustness (for a deeper view on Resilience please refer to this article). The approach with microservices as architecture style comes naturally for many manufacturing units.
Transparency is a key factor for Industrie 4.0. Regarding software, transparency means to see what is going on. Also in terms of troubleshooting. Therefore, monitoring and logging is an essential extension to the manufacturing software architecture. Furthermore, the architecture should enable services to access and share data easily. Not forgetting security.
Interoperability has been an issue at least since Industrie 2.0. From the start, the mechanical engineering industry was paid well for its software interfaces. Because of their mainly proprietary interfaces, most manufacturing units are a distributed system per se.
However, not interconnected.
More like islands.
Microservices in combination with a container solution like Docker will shift the focus away from technology towards APIs. Services encapsulate the proprietary interfaces into our software architecture. Thus increasing the interoperability drastically.
Furthermore, our Microservice architecture will also help to tackle our point two. Each Microservice can be deployed (put into production) much easier and faster than with big monolithic applications.
Only if our organization follows. The most agile technical system will not bear fruits if the organization is not ready for it e.g. with an Agile or DevOps mindset.
Scalability is very tightly connected with the prior two issues.
The manufacturing’s software-architecture is not standing there alone. It is highly interconnected with the surrounding software systems of the company like ERP, PLM and legacy systems.
For example, it is today a big pain point for many companies to simply add another production line in a certain production.
The change affects all systems. Horizontally and vertically. The API-first approach of a containerized microservice architecture could ease the pain here.
In the best case, the manufacturing software architecture fits into the company-wide software architecture. In the worst case, there is no company-wide software architecture.
Given that, manufacturing will be once in their lifetime leading in terms of IT.
Closing Words: Make Or Buy?
Whether you will make or buy the architecture and the software based on it depends on your internal resources. For SME’s with few resources there exist a few attractive canned solutions with high customizability. A good example, especially for SME’s is the project ScaleIt. It is, despite an early stage, available as a pre-installed box.
In the end, I always recommend building the software by yourself. Only this will enable you to react and change faster. And be way more efficient.
This article originally appeared on the website Homo Digitalis
This article was written by Fabian Schmidt, the Head of SE, Electronics Production SICK AG. Dealing with Industrie 4.0 from the very beginning, he has a vast background in manufacturing, as well as IT