What I set up
- CI/CD pipelines. Automated builds, checks and deployments. Hexenex ERP deploys on every push to main: GitHub Actions builds the API and web app, uploads an atomic release over SSH, restarts the app server and verifies the login page.
- Containers. Docker and Docker Compose setups so the app runs the same on every machine.
- Cloud and hosting. Hosting architecture that matches your stage, from Vercel and managed platforms to servers you control, with networking and cost in mind.
- MLOps. The model lifecycle around the code. SecureOps connects packet collection, detection, reinforcement-learning security decisions and Azure ML training to a threshold-based retraining and redeployment cycle, with monitoring that closes the loop.
- Security in the pipeline. Secrets kept out of code, least-privilege deploy targets and checks before anything reaches production.
DevOps vs MLOps
DevOps ships code. MLOps ships code plus data plus models, which means versioning datasets, tracking model performance and deciding when to retrain. I explain the difference in DevOps vs MLOps.
What you get
- A pipeline that builds, tests and deploys on every merge, with a way to roll back.
- Environments and secrets managed outside the code, with deploy targets locked to where the app belongs.
- Containers where they help, so the app runs the same everywhere.
- For machine learning projects: versioned data, a model registry, monitoring and a written retraining rule.
- A short runbook: how to deploy, roll back and respond when something breaks.

