DevOps · Manufacturing
DevOps Applications in Manufacturing — Real-World Examples
Quick summary — DevOps applications in manufacturing
DevOps applications in manufacturing focus on keeping plant software reliable while changes keep coming. Teams use CI/CD and staged releases for MES and ERP integrations, containers for edge gateways near machines, and pipelines as code for sensor data, all with monitoring and rollback plans that respect production schedules.
In this guide you will learn:
- Plant IT systems — CI/CD for MES, ERP integrations and quality apps.
- Edge devices — containers and controlled updates near machines.
- IIoT data pipelines — collecting and processing machine data as code.
- Lab templates — change plans and a small edge lab.
- Career tips — what manufacturing DevOps roles value.
SECTION 01Example 1: CI/CD for MES, ERP and quality apps
A Manufacturing Execution System (MES) tracks what is being produced, on which line, with which materials and quality checks. It connects to the ERP for orders and inventory. Changes to these integrations — a new product code, a changed quality rule — are risky because a mistake can stop a line. DevOps reduces that risk with automated tests, a production-like test environment and releases planned around shift schedules.
| System | Example change | DevOps practice | Risk reduced |
|---|---|---|---|
| MES | New product routing step | Automated workflow tests in CI | Wrong routing on the line |
| ERP integration | Changed material code mapping | Contract tests on the interface | Orders not reaching production |
| Quality app | New inspection threshold | Feature flag per line | Good parts rejected |
| Label printing | New barcode format | Test print job in staging | Shipments with wrong labels |
# mapping.py — ERP material code to MES item code
MAPPING = {
"ERP-STEEL-10": "MES-ST10",
"ERP-STEEL-12": "MES-ST12",
}
def to_mes_code(erp_code: str) -> str:
try:
return MAPPING[erp_code]
except KeyError:
raise ValueError(f"No MES mapping for {erp_code}")
# test_mapping.py — runs in CI on every change
import pytest
from mapping import to_mes_code
def test_known_code_maps_correctly():
assert to_mes_code("ERP-STEEL-10") == "MES-ST10"
def test_unknown_code_is_rejected():
with pytest.raises(ValueError):
to_mes_code("ERP-UNKNOWN")
SECTION 02Example 2: Edge devices on the plant floor
Many plants place small industrial computers, called edge gateways, close to machines. They collect signals, run local logic and forward data to central systems. Managing software on dozens of gateways by hand leads to version drift. Packaging the software as containers and updating gateways from a central pipeline keeps every line consistent, with the option to roll back quickly.
| Challenge | Manual approach | DevOps approach | Tooling examples |
|---|---|---|---|
| Different versions per line | Engineer installs by USB | Same container image everywhere | Docker, registry |
| Risky updates | Update all at once | Update one line first, then expand | Staged rollout |
| Network limits | Large downloads fail | Small images, scheduled updates | Slim base images |
| Unknown device health | Wait for a breakdown | Heartbeat and metrics | Prometheus node exporter |
FROM python:3.12-slim
WORKDIR /app
COPY requirements.txt .
RUN pip install --no-cache-dir -r requirements.txt
COPY collector.py .
# Read config from environment, not baked into the image
ENV LINE_ID=unset
CMD ["python", "collector.py"]
services:
collector:
image: registry.example.local/plant/collector:1.4.0
restart: unless-stopped
environment:
LINE_ID: "line-03"
MQTT_BROKER: "mqtt.plant.local"
volumes:
- ./buffer:/app/buffer # keep data if network drops
SECTION 03Example 3: IIoT data pipelines
Industrial IoT (IIoT) data — temperatures, vibration, cycle times, machine states — is valuable only if it arrives reliably and is processed consistently. A common pattern is sensors publishing to an MQTT broker, a pipeline storing readings in a time-series database, and dashboards showing downtime and quality trends. Treating these pipelines as code, with tests and monitoring, stops silent data gaps from misleading engineers.
| Stage | What happens | DevOps practice | Example tool |
|---|---|---|---|
| Publish | Devices send readings | Versioned message format | MQTT |
| Ingest | Readings stored with timestamps | Pipeline code in Git with tests | Python, Telegraf |
| Store | Time-series data kept | Retention policies as config | InfluxDB, TimescaleDB |
| Visualise | Trends and alerts | Dashboards as code | Grafana |
import json
import paho.mqtt.client as mqtt
def on_message(client, userdata, msg):
reading = json.loads(msg.payload)
if not {"machine_id", "ts", "temp_c"} <= reading.keys():
print("bad message, skipped:", reading)
return
print(reading["machine_id"], reading["temp_c"]) # store it here
client = mqtt.Client(mqtt.CallbackAPIVersion.VERSION2)
client.on_message = on_message
client.connect("mqtt.plant.local", 1883)
client.subscribe("plant/line03/+/temperature")
client.loop_forever()
# Prometheus alert: data stopped arriving from a line
groups:
- name: iiot
rules:
- alert: LineDataMissing
expr: time() - max(last_reading_timestamp{line="line-03"}) > 300
for: 5m
labels:
severity: warning
annotations:
summary: "No sensor data from line-03 for 5+ minutes"
SECTION 04Manufacturing DevOps templates
Use these templates in a lab or to show interviewers how you think about plant software changes.
Change: Update collector on line-03 edge gateway
Version: 1.3.2 -> 1.4.0
Agreed window: Shift change, with production lead
Pre-checks: gateway healthy, buffer folder empty
Steps: pull image, restart service, verify data flow
Success: readings arriving within 2 minutes
Rollback: re-run with image tag 1.3.2
Sign-off: production lead + maintenance
Home lab: mini factory data pipeline
1. Run Mosquitto (MQTT broker) in Docker
2. Write a Python script that publishes fake
temperature readings for 3 "machines"
3. Subscribe and store readings in TimescaleDB
4. Build a Grafana panel per machine
5. Add an alert when a machine stops sending data
- Built a simulated IIoT pipeline with MQTT,
TimescaleDB and Grafana, including missing-data alerts
- Containerised an edge data collector and practised
staged updates with rollback by image tag
- Wrote CI tests for an ERP-to-MES code mapping service
SECTION 05Tips for DevOps work in manufacturing
Manufacturing teams value reliability above speed:
- Respect production schedules — plan changes with the people who run the line.
- Always keep a rollback — image tags and config history make undo quick.
- Learn basic OT concepts — PLCs, SCADA and shop-floor networks shape what you can change.
- Monitor data freshness — missing data can be as harmful as wrong data.
- Document everything — maintenance teams on night shifts need clear runbooks.
SECTION 06Interview Q&A — DevOps in manufacturing
Q1How is DevOps different in manufacturing compared with a web company?
Changes can affect physical production, so teams plan releases around shifts, test against production-like setups, roll out to one line first and coordinate closely with production and OT teams.
Q2What is an MES?
A Manufacturing Execution System tracks and manages production on the shop floor — orders, routing, materials, quality checks and output — and links to ERP systems.
Q3Why use containers on edge gateways?
Containers package the software with its dependencies, so every gateway runs the same version. Updates and rollbacks become a matter of switching image tags.
Q4What is MQTT and why is it common in IIoT?
MQTT is a lightweight publish-subscribe messaging protocol that works well on limited networks and small devices, which makes it popular for sensor data.
Q5How would you detect that a sensor pipeline has silently failed?
Track the timestamp of the last reading per line or machine and alert when it is older than an agreed threshold, alongside alerts for out-of-range values.
SECTION 07Test yourself — DevOps in manufacturing quiz
Five questions. No sign-up.
0 / 5Pick an answer to see why it is right or wrong.
SECTION 08Frequently asked questions
Is DevOps used in manufacturing companies?
Yes. As factories rely more on software — MES, ERP integrations, quality systems, edge devices and data platforms — DevOps practices help manage changes safely and consistently.
What is the role of DevOps in Industry 4.0?
Industry 4.0 connects machines, data and software. DevOps provides the automation, testing, monitoring and release practices needed to run that software reliably at scale.
Do I need OT knowledge for manufacturing DevOps?
Basic understanding of PLCs, SCADA, shop-floor networks and safety rules helps a lot, because changes near machines must be coordinated with OT and maintenance teams.
Which DevOps tools are used in manufacturing?
Common tools include Git, CI/CD systems, Docker, Kubernetes or lightweight edge orchestrators, Ansible, MQTT brokers, time-series databases, Prometheus and Grafana. Exact choices vary by company.
How can I practise manufacturing DevOps at home?
Simulate a small plant: publish fake sensor data over MQTT, store it in a time-series database, show it in Grafana, containerise the collector and practise updates with rollback.
SECTION 09Related reads
Classroom & online · Noida
Learn DevOps that works beyond web apps
Our DevOps Training Course covers Linux, Git, CI/CD, Docker, Kubernetes, Ansible and monitoring through labs you can adapt to plant, edge and data scenarios.
Talk to a counsellor for current fees- CI/CD and container labs
- Monitoring and alerting
- Real-world change practice
- Weekday & weekend batches