Modular Software

With the state of the art we are running away from monolithic structures


With the state of the art, we are running away from monolithic structures."

  • How do you split a monolith?

    The basis are virtual containers or container images. This is a relatively isolated and immutable package of software and the tools and files needed at runtime. An image is therefore executable on its own and extremely robust.

  • Where can you work with these containers?

    e.g. on an Openshift container platform.


    "OpenShift Container Platform (formerly known as OpenShift Enterprise) is Red Hat's on-premises private platform as a service product built on a core of application containers provided by Docker. OpenShift Container Platform provides enterprise Kubernetes environments for building, deploying and managing container-based applications on any public or private data center that supports Red Hat Enterprise Linux. Compared to virtual machines, containers do not contain their own operating system and require fewer resources. They are referred to as application virtualization because they are not purely operating system virtualization." (Source: Wikipedia) 

How should one work with such containers?

Devops toolchain


➝ CI/CD

  • "Continuous Integration" (CI for short) is the practice of consolidating all new source code several times a day onto a shared version control server such as GitHub.
  • "Continuous Delivery" (CD for short) is used to ship (release) software in short cycles and to ensure that the software can be reliably released at any time. It aims to build, test and release software with full automation. The approach helps reduce the cost, time, and risk of deploying changes by enabling more incremental updates to applications in production. A straightforward and repeatable deployment process is important to continuous delivery.
  • Dotnet Core Applications
  • Communication to:
  • Kafka (Message Queue)
  • Databases (Oracle/MSSQL)
  • Rest APIs
  • Frontends with Blazor/Angular/HTML...

CI / CD - Webinar

On the road to “software-defined vehicles” in today's automotive world, the key differentiator is the software. Inspired by the smartphone industry, users expect the latest software for their vehicles via Over-The-Air (OTA) for new updated or improved features and fixed issues, such as the firmware and applications on their smartphones. In order to meet this challenge, software must be provided continuously, which must be constantly further developed and tested. Continuous integration/continuous deployment helps to achieve this goal.

Elements of a CI/CD pipeline

The steps in a CI/CD pipeline represent different subsets of tasks, which are divided into so-called pipeline stages. These phases typically include:

 

  • Build - The phase in which the application is compiled.
  • Test - The phase in which the code is tested. This is where automation can save both time and effort.
  • Release - The stage where the application is put into the repository.
  • Deployment - This stage is where the code is deployed to the production environment.
  • Validation and Compliance - What steps to take to validate of a build are determined by the requirements of the respective company. Image security scanning tools like Clair ensure the quality of images by comparing them to known vulnerabilities (CVEs).


  • Any change from the developer goes to the DEV system (automated)
  • Feature/change request completed?
  • Merge to main branch ➝ Deploy to the Q system (automated) ➝ Ready for business tests
  • Business ok ? ➝ Release creation by Operations Team ➝ Deploy to P-System (manual)

Connection MES system

  • Rest Api calls from machines about the current work step of a material
  • Kafka message generation
  • Internal posting (material consumption / SAP announcement)
  • Orders reflect the current status in production

Components/connection

  • SAP
  • Order Management
  • Legacy System (conveyor technology, crate storage)
  • Warehouse
  • UMC as user administration
  • MES Reporting
  • Scheduling / Planning

Our services for you at a glance:

  • Consulting services for modular software design
  • Conception and definition of virtual IT system landscapes
  • Definition and conception of CI-CD pipelines
  • Implementation services within your project team
  • Independent sub-project implementation within your system according to specification
  • Consulting and implementation services for the combination of internal modules with standard products of the MOM layer
Share by: