Software delivery has changed more in the last decade than in the twenty years before it. What used to be a slow, manual handoff between developers and operations teams — full of late-night deployments, finger-pointing when things broke, and releases that happened once a quarter if you were lucky — has given way to something faster, more automated, and far more reliable. That shift didn’t happen by accident. It’s the product of a set of practices and a cultural mindset that we now call DevOps, and its more specialized offshoots, CI/CD, MLOps, and LLMOps, each built to solve the delivery challenges of a particular kind of system. In this article, we’ll walk through what each of these actually means in practice, why they emerged, and how they build on one another — from the fundamentals of automating code delivery, to training and deploying machine learning models reliably, all the way to the unique operational demands of running large language models in production.

DevOps

Delivering software manually is slow, error-prone, insecure, and simply doesn’t scale. That’s the problem DevOps set out to solve — automating the delivery process at scale, from building and testing through deployment and monitoring.

The traditional DevOps approach involved creating a DevOps team with members from development, quality assurance, and operations to build better software faster. At its core, DevOps is a cultural and technical movement that bridges the gap between Development and Operations, blending the two into one cohesive, automated system. It leans on collaboration, automation, continuous feedback, and rapid iteration to shorten the development lifecycle and keep high-quality software flowing continuously.

However, while there was a focus on automating software delivery, automation tools like Jenkins, Git, and others were installed and maintained manually. This led to another problem, as we now had to manage yet another set of IT infrastructure. In the end, it all came down to infrastructure and configuration, and the focus shifted to automating the automation process.

With the advent of containers and the recent boom in the public cloud landscape, DevOps’ modern approach came into the picture, which involved automating everything. From provisioning infrastructure to configuring tools and processes, there is code for everything. So, now, we have IaC, CaC, immutable infrastructure, and containers.

Modern DevOps doesn’t stop at CI/CD; it’s a broader philosophy that spans culture, process, and tooling all at once. The modern DevOps approach generally focuses on leveraging cloud technologies, automation, containerization, and DevSecOps principles to enhance collaboration, agility, and software development and deployment efficiency.

The result is a culture in which building, testing, and releasing software become more reliable and agile, which in turn generates real gains in operational efficiency, faster feature delivery, and better product quality.

The Core Pillars of Modern DevOps

Pillar Description
Culture Collaboration, shared responsibility, blameless post-mortems. Breaking down traditional silos between developers and operations engineers to share responsibility.
Automation Replacing slow, manual steps with automated processes to speed up execution.
Measurement Collect real-time metrics and system data to constantly monitor performance and enable data-driven decisions using metrics.
Sharing Exchanging tools, knowledge, and feedback loops across the entire organization.
Continuous Everything Integration, Delivery, Testing, Monitoring, Improvement

The CALMS Framework

DevOps practices are often defined by the CALMS framework:

  • Culture – Shared responsibility and collaboration
  • Automation – Automate repetitive tasks
  • Lean – Eliminate waste, focus on value
  • Measurement – Track metrics and KPIs
  • Sharing – Knowledge and tool sharing across teams

Key Technical Practices

Core DevOps practices include managing deployment environments (development, staging, and production), using version control to track code changes, and implementing continuous integration and delivery (CI/CD) to automate testing and deployment. These tool-agnostic principles are applied through tools like GitHub and Jenkins and are evolving into the field of MLOps for AI applications.

  • Deployment environments: To thoroughly test your code before shipping it to production, you must define multiple pre-production environments that mimic the production environment.
  • Version control: Used to track, manage, and version every change made to the source code.
  • CI/CD (Continuous Integration / Continuous Delivery): Merging code updates frequently into a shared repository and automatically deploying them.
  • IaC (Infrastructure as Code): Provisioning and managing networks, servers, and cloud resources through machine-readable definition files.
  • Microservices: Designing apps as small, independent services that are easier to test, scale, and update.

The Game Changer: Containers and modern DevOps practices

Containers and modern DevOps practices are natural partners, and together they’ve transformed how we build and deploy software.

Containers provide the infrastructure encapsulation, portability, scalability, and agility that modern software delivery demands. Paired with practices like CI/CD, Infrastructure as Code (IaC), and microservices, they form a powerful foundation for faster time-to-market, higher software quality, and greater operational efficiency.

Containers are a particularly natural fit for CI/CD: they give you a standard way to build and deploy applications regardless of the language you code in, without the need for an expensive, specialized build and deployment tooling. Everything you need comes out of the box.

Containers rarely run in isolation. The industry standard is to pair them with a container orchestrator like Kubernetes, or to use a Container-as-a-Service (CaaS) platform, for example:

  • AWS ECS and EKS
  • Google Cloud Run and Kubernetes Engine
  • Azure ACS and AKS
  • Oracle OCI and OKE

Even Function-as-a-Service (FaaS) platforms like AWS Lambda, Google Functions, Azure Functions, and Oracle Functions run containers under the hood. So even if the underlying mechanism is abstracted away, there’s a good chance you’re already using containers without realizing it.

Because containers are lightweight, you can break applications into smaller, independently managed parts. Combined with an orchestrator like Kubernetes, this gives you a distributed microservices architecture that runs smoothly. Each of these smaller parts can then scale, self-heal, and release independently—meaning you can ship to production faster and more reliably than before.

On top of that, you can add a service mesh—infrastructure that lets the various components (services) of your microservices application discover, communicate with, and manage one another—such as Istio. This unlocks advanced operational capabilities like traffic management, security, and observability with minimal effort. From there, you can do things like blue/green deployments, A/B testing, production testing via traffic mirroring, geolocation-based routing, and more.

As a result, enterprises large and small are adopting containers faster than ever, and the field continues to grow exponentially.

Key Modern DevOps Practices

  1. Continuous Integration (CI): Developers merge code frequently into a shared repository, triggering automated builds and tests.
  2. Continuous Delivery / Deployment (CD): Automated release pipelines that can deploy to production at any time.
  3. Infrastructure as Code (IaC): Manage and provision infrastructure through declarative code files.
  4. Containerization & Orchestration: Package applications into containers for consistency across environments.
  5. Kubernetes & Cloud-Native: Orchestrate containers at scale with Kubernetes, Helm, and service meshes (Istio, Linkerd).
  6. Observability: Beyond traditional monitoring — includes metrics, logs, and traces.
  7. DevSecOps (Security as Code): Integrate security throughout the SDLC rather than at the end.
  8. Shift-Left Testing: Test earlier in the development cycle to catch bugs sooner.
  9. GitOps: Use Git as the single source of truth for both application and infrastructure code.
  10. Feature Flags / Toggles: Decouple deployment from release by toggling features on/off.

The Continuous DevOps Lifecycle

  1. Plan: Defining business goals, user requirements, and tracking tasks using project management tools.
  2. Code: Writing application code and utilizing version control platforms like Git.
  3. Build: Compiling software code and checking all external packages or dependencies.
  4. Test: Running automated quality assurance tests to detect system bugs early.
  5. Release: Managing software updates and preparing packages for live deployment.
  6. Deploy: Pushing software updates into live server or cloud computing environments.
  7. Operate: Managing live server infrastructure and configuring hardware assets.
  8. Monitor: Tracking system uptime, user behavior, and application errors to trigger improvements.

Support tools:

┌──────────────────────────────────────────────────────────┐
│                    PLAN & CODE                           │
│  (Jira, GitHub Issues, Pull Requests, Code Reviews)      │
└────────────────────┬─────────────────────────────────────┘
                     ↓
┌──────────────────────────────────────────────────────────┐
│                    BUILD & TEST                          │
│  (CI/CD, Unit Tests, Integration Tests, Linting)         │
└────────────────────┬─────────────────────────────────────┘
                     ↓
┌──────────────────────────────────────────────────────────┐
│              RELEASE & DEPLOY                            │
│  (ArgoCD, Spinnaker, Helm, Terraform, K8s)               │
└────────────────────┬─────────────────────────────────────┘
                     ↓
┌──────────────────────────────────────────────────────────┐
│              OPERATE & MONITOR                           │
│  (Prometheus, Grafana, ELK, PagerDuty, Datadog)          │
└────────────────────┬─────────────────────────────────────┘
                     ↓
┌──────────────────────────────────────────────────────────┐
│           FEEDBACK & CONTINUOUS IMPROVEMENT              │
│  (Post-mortems, Retrospectives, User Feedback)           │
└────────────────────┬─────────────────────────────────────┘
                     ↓
                  (Loop Back)

DevOps Performance Indicators

The DevOps Research and Assessment (DORA) framework measures DevOps performance through four key metrics:

Metric Description Elite Performers Low Performers
Deployment Frequency How often you deploy to production On-demand (multiple per day) Between once a month and once every six months
Lead Time for Changes How long it takes a change to go from committed to deployed Less than 1 hour Between 1 month and 6 months
Change Failure Rate How often deployments cause failures that need immediate remediation 0-15% 46-60%
Mean Time to Recovery (MTTR) How long it takes to recover from a failed deployment Less than 1 hour Between 1 month and 6 months

Modern Deployment Strategies

  1. Blue-Green Deployment: Two identical environments; switch traffic instantly between them.
Users → Load Balancer →  🟢 Green (Production - v2)
                         🔵 Blue (Idle - v1)
  1. Canary Release: Gradually roll out changes to a small percentage of users first.
Phase 1:  5% users → v2 (monitor)
Phase 2: 25% users → v2 (monitor)
Phase 3: 50% users → v2 (monitor)
Phase 4:100% users → v2 (full rollout)
  1. Rolling Update: Incrementally replace old instances with new ones.
  2. Feature Flags: Toggle features without redeploying code.
if feature_flag.is_enabled("new_checkout"):
    render_new_checkout()
else:
    render_legacy_checkout()
  1. Dark Launches: Deploy new code to production but don’t expose it to users yet.
  1. AIOps & Machine Learning
  • Anomaly detection
  • Predictive scaling
  • Automated incident response
  • Intelligent log analysis
  1. Platform Engineering: Building internal developer platforms (IDPs) to improve developer experience.
  2. GitOps: Declarative Git-based deployments using tools like ArgoCD and Flux.
# ArgoCD Application Example
apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
  name: my-app
spec:
  source:
    repoURL: https://github.com/myorg/myapp
    path: k8s/
  destination:
    server: https://kubernetes.default.svc
    namespace: production
  1. DevSecOps: Security integrated throughout, not bolted on at the end.
  2. Serverless & Edge Computing: AWS Lambda, Cloudflare Workers, Vercel Edge Functions.
  3. Chaos Engineering: Proactively test system resilience by injecting failures.
# Chaos Monkey Example
def terminate_random_instance():
    instances = get_all_instances()
    victim = random.choice(instances)
    victim.terminate()
    log(f"Chaos: Terminated {victim.id}")
  1. FinOps: Cloud cost optimization as a practice integrated with DevOps.
  2. Value Stream Management: Map and optimize the entire flow from idea to production.
  3. Inner Source: Applying open-source practices within organizations.
  4. Software Bill of Materials (SBOM): Track all components and dependencies for security and compliance.

Best Practices for Modern DevOps

  1. Automate everything – From testing to deployment to monitoring
  2. Fail fast, recover faster – Embrace failure as a learning opportunity
  3. Monitor in production – You can’t fix what you can’t see
  4. Security first – Integrate security from day one
  5. Document as code – Wikis become outdated; code doesn’t
  6. Blameless post-mortems – Focus on systems, not individuals
  7. Continuous learning – Encourage experimentation and innovation
  8. Small, frequent releases – Reduces risk and accelerates feedback
  9. Treat infrastructure as cattle, not pets – Disposable, reproducible
  10. Measure what matters – Focus on DORA metrics and customer impact

Main Business Benefits

  • Faster Releases: Deploying software features rapidly to outpace competitors.
  • Higher Reliability: Minimizing system downtime and bugs through rigorous automation.
  • Boosted efficiency: Automating the software development lifecycle reduces manual tasks, errors, and delivery times.
  • Better Collaboration: Eliminating internal friction and improving team communication.
  • Ongoing improvement: DevOps is not just about internal processes. It’s about ensuring that the software effectively meets user needs. Promoting a culture of continuous feedback enables teams to quickly adapt and enhance their processes, thereby delivering software that genuinely satisfies the end users.
  • Superior quality and security: DevOps ensures swift software development while maintaining high quality and security standards through CI/CD and proactive security measures.

MLOps and LLMOps

We’ll start with the fundamentals of MLOps and LLMOps, then move into how to deploy ML/LLM pipelines and put a continuous training, continuous integration, continuous delivery (CT/CI/CD), and monitoring pipeline into practice.


MLOps – Machine Learning Operations

MLOps takes the fundamental principles of DevOps and applies them to AI and machine learning. The goal is to automate and standardize the entire machine learning lifecycle, from managing training data to deploying models in production.

Why MLOps Is Necessary

Traditional software deployment only has to deal with static code. Machine learning systems are a different beast entirely, because they depend on three moving pieces at once — code, data, and the model itself. That means a system can break even when the code hasn’t changed at all, simply because the underlying data has shifted.

In practice, MLOps combines machine learning, DevOps, and data engineering to streamline how models get deployed, monitored, and managed in production. Think of it as DevOps’s counterpart for ML — built specifically to handle the challenges that make ML systems harder to run than ordinary software:

Challenge Description
Data Dependency Model performance depends heavily on data quality and distribution
Model Drift Models degrade over time as real-world data changes
Reproducibility Hard to reproduce ML experiments (code + data + hyperparameters + environment)
Experimentation Tracking many model versions and their performance
Compute Resources ML training requires GPUs, large memory, distributed systems
Governance Regulatory compliance, fairness, and explainability
Continuous Training Models need retraining as data evolves

MLOps principles

Six core principles guide the MLOps field. These are independent of any tool and sit at the core of building robust and scalable ML systems. They are:

Principles Description
Automation or Operationalization Automation in MLOps involves automated pipelines through CT and CI/CD. This enables the efficient retraining and deployment of ML models in response to triggers such as new data, performance drops, or unhandled edge cases.
Versioning In MLOps, it is crucial to track changes in code, models, and data individually, ensuring consistency and reproducibility. Code is tracked using tools like Git, models are versioned through model registries, and data versioning can be managed using solutions like DVC or artifact management systems.
Experiment Tracking Since machine learning model training is an iterative and experimental process that involves comparing multiple experiments based on predefined metrics, it’s important to use an experiment tracker to help us choose the best model. Tools like Comet ML, W&B, MLflow, and Neptune allow you to log all the necessary information to easily compare experiments and select the best production model.
Testing MLOps suggests that along with testing your code, you should also test your data and models through unit, integration, acceptance, regression, and stress tests. This ensures that each component functions correctly and integrates well, focusing on inputs, outputs, and handling edge cases.
Monitoring This stage is vital for detecting performance degradation in served ML models due to changes in production data, allowing timely intervention such as retraining, further prompt or feature engineering, or data validation. By tracking logs, system metrics, and model metrics and detecting drifts, we can maintain the health of ML systems in production, detect issues as fast as possible, and ensure they continue to deliver accurate results.
Reproducibility This ensures that every process (such as training or feature engineering) within your ML systems produces identical results when given the same input by tracking all the moving variables, such as code versions, data versions, hyperparameters, or any other type of configuration. Due to the non-deterministic nature of training and inference in machine learning, defining well-known seeds when generating pseudorandom numbers is essential to achieving consistent results and making the processes as deterministic as possible.

The MLOps Maturity Model

Google and Microsoft define 3 levels of MLOps maturity:

  • Level 0: Manual Process
  • Data scientists manually prepare data, train models, deploy
  • No CI/CD for ML
  • Mostly notebooks
  • Suitable for early-stage projects
  • Level 1: ML Pipeline Automation
  • Training pipelines automated
  • Manual model deployment
  • Model registry introduced
  • Suitable for production ML
  • Level 2: CI/CD/CT Pipeline Automation
  • Full automation of training and deployment
  • Automated retraining triggered by data drift
  • Production-grade ML systems
Level 0:  Manual → Jupyter Notebooks → Manual Deploy
Level 1:  Automated Training → Manual Deploy → Monitoring
Level 2:  Full CI/CD/CT → Auto Retraining → Continuous Delivery

The MLOps Lifecycle

┌──────────────────────────────────────────────────────────────┐
│  1. DATA PREPARATION                                         │
│     (Ingest, Clean, Validate, Feature Engineering)           │
└────────────────────────┬─────────────────────────────────────┘
                         ↓
┌──────────────────────────────────────────────────────────────┐
│  2. MODEL DEVELOPMENT                                        │
│     (Experimentation, Training, Hyperparameter Tuning)       │
└────────────────────────┬─────────────────────────────────────┘
                         ↓
┌──────────────────────────────────────────────────────────────┐
│  3. MODEL TRAINING & EVALUATION                              │
│     (Track Experiments, Metrics, Artifacts)                  │
└────────────────────────┬─────────────────────────────────────┘
                         ↓
┌──────────────────────────────────────────────────────────────┐
│  4. MODEL REGISTRATION                                       │
│     (Version Control, Approval Workflow, Staging)            │
└────────────────────────┬─────────────────────────────────────┘
                         ↓
┌──────────────────────────────────────────────────────────────┐
│  5. MODEL DEPLOYMENT                                         │
│     (Batch, Real-time, Edge, A/B Testing)                    │
└────────────────────────┬─────────────────────────────────────┘
                         ↓
┌──────────────────────────────────────────────────────────────┐
│  6. MONITORING & OBSERVABILITY                               │
│     (Performance, Drift, Fairness, Latency)                  │
└────────────────────────┬─────────────────────────────────────┘
                         ↓
┌──────────────────────────────────────────────────────────────┐
│  7. CONTINUOUS TRAINING (CT)                                 │
│     (Retrain on New Data, Auto-update)                       │
└──────────────────────────────────────────────────────────────┘
  1. Data Pre-Processing: Transforming and cleaning raw data inputs into a specialized feature store.
  2. Model Development: Executing experimentation, training different models, and hyperparameter tuning to produce an optimized machine learning artifact.
  3. Model Training & Validation: Executing training pipelines, testing code functionality, and evaluating model accuracy against strict benchmarks.
  4. Model Registry: Storing, versioning, and signing off on production-ready model files. A centralized repository for storing trained ML models
  5. Model Deployment (Live Serving): Deploying the active model to users via real-time APIs or scheduled batch predictions.
  6. Monitoring: Continues monitoring and measures the model’s performance, Drift, Fairness, and latency
  7. Continuous Training: Checking for data drift to automatically trigger a new training cycle.

Common Industry Tools

  • Experiment Tracking: MLflow or Weights & Biases.
  • ML metadata store: This store tracks information related to model training, such as model configurations, training data, testing data, and performance metrics. It is mainly used to compare multiple models and look at the model lineages to understand how they were created: Comet ML, W&B, MLflow
  • Data Versioning: DVC (Data Version Control).
  • Pipeline Orchestration: Automating the sequence of steps in ML projects: Apache Airflow, Kubeflow, ZenML, Dagster, or Prefect.
  • Feature Stores: Feast, Tecton, Hopsworks, and Featureform
  • Cloud Platforms: AWS SageMaker, Google Vertex AI, or Azure ML.
  • Model Registry: Comet ML, W&B, MLflow, and ZenML
Databricks

Databricks provides integrated MLOps tools across the machine learning lifecycle:

Experiment Tracking

  • MLflow Tracking – Logs parameters, metrics, models, and artifacts from ML experiments. Automatically captures model lineage and enables comparison across runs.

ML Metadata Store

  • MLflow – Centralized metadata store for runs, parameters, metrics, tags, and artifacts. Integrates with Unity Catalog for governance.

Data Versioning

  • Delta Lake – Built-in time travel and versioning for all data tables. Query historical versions using VERSION AS OF or TIMESTAMP AS OF syntax.

Pipeline Orchestration

  • Lakeflow Jobs – Schedule and orchestrate ML training pipelines, batch inference, and model retraining workflows
  • Lakeflow Spark Declarative Pipelines – For data engineering pipelines feeding ML systems

Feature Stores

  • Unity Catalog Feature Engineering – Centralized feature repository with online/offline stores, point-in-time lookups, and automatic feature serving for inference

Model Registry

  • Unity Catalog for Models – Centralized model registry with versioning, lineage, stages (staging/production), and governance. Models registered here can be deployed to Model Serving endpoints.
  • MLflow Model Registry – Also available, though Unity Catalog is the recommended approach for enterprise governance

These tools work together natively – for example, models trained with MLflow can reference Unity Catalog feature tables and be registered to Unity Catalog for deployment.


LLMOps – Large Language Model Operations

LLMOps focuses on the distinct aspects of LLMs, including their large size, highly complex training requirements, prompt management, and non-deterministic nature of generating answers.

When training LLMs from scratch, the data and model dimensions of an ML system grow substantially, which is one aspect that sets LLMOps apart from MLOps. These are the main concerns when training LLMs from scratch:

  • Data collection and preparation: involves collecting, preparing, and managing the massive datasets required for training LLMs. It involves big data techniques for processing, storing, and sharing training datasets.
  • Managing LLMs’ considerable number of parameters: it is a significant technical challenge from an infrastructure standpoint. It requires vast computing resources, typically clusters of machines equipped with Nvidia GPUs and CUDA support.
  • The massive size of LLMs directly impacts model training. When training a machine learning model (LLM) from scratch, it is not possible to run it on a single GPU due to the model size or the larger batch size required to obtain the expected results. Thus, you need multi-GPU training, which involves optimizing your processes and infrastructure to support data, model, or tensor parallelism.
  • Managing massive datasets and multi-GPU clusters involves substantial costs.

A few organizations with extensive computational resources, such as OpenAI and Google, develop these foundation models. Thus, most applications now rely on the lightweight fine-tuning of parts of these models, prompt engineering, or optionally distilling data or models into smaller, specialized inference networks.

Therefore, for most existing LLM applications, the development steps will involve selecting a base model, which you will need to optimize later using instruction engineering, fine-tuning, or RAC.

Human feedback

One valuable refinement step of your LLM is aligning it with your audience’s preferences. You must introduce a feedback loop within your application and gather a human feedback dataset to further fine-tune the LLM with techniques such as Reinforcement Learning with Human Feedback (RLHF) or more advanced ones such as Direct Preference Optimization (DPO). One popular feedback loop is the thumbs-up/thumbs-down button present in most chatbot interfaces.

Security Risks

Security is a little different. It’s about protecting data from unauthorized access or attacks. In traditional models, security was often straightforward: encrypt the data, control access, and you’re mostly good. But when we bring LLMs into the picture, it becomes way more complex. An LLM will spit out personal details, and this issue becomes much more relevant when dealing with an environment that involves access to personal data.

We can classify threats to LLMs in two ways:

  • Adversarial attacks are when bad actors manipulate the model into leaking sensitive information or producing incorrect or biased outputs, compromising the
    integrity and reliability of its predictions.
  • Data breaches occur when LLMs trained on personally identifiable information or other sensitive or proprietary data inadvertently leak information through their outputs, exposing confidential information or trade secrets to unauthorized parties.

Prompt Injection:
Malicious users try to manipulate prompts to make a model behave in a certain unintended way. They may try to get it to leak data, execute unauthorized tasks (especially with agentic systems), or ignore constraints.

There are two kinds of prompt injection attacks:

  1. A direct prompt injection occurs when malicious instructions are inserted directly into the user prompt.
  2. An indirect prompt injection attack is when a third-party source (like a web page or email) includes malicious content that, when pulled into the model’s prompt, causes unintended actions. The user doesn’t directly tell the system what to do but allows it to pick up hidden instructions from external content.

Jailbreaking:
A technique that exploits the model’s propensity to generate results that will receive a high rating from humans.

Data poisoning:
Malicious actors manipulate the training data used to train LLMs, introducing biased or false information that could influence the model’s behavior and output.

Model inversion:
Attackers reverse engineer LLMs by exploiting the model’s outputs to infer sensitive information about the training data or individual users, compromising privacy and confidentiality.

Membership inference:
Adversaries attempt to determine whether specific data points were included in the LLM’s training data, potentially revealing sensitive information about individuals or organizations represented in the data.

Model stealing:
Attackers attempt to extract or replicate LLM models through some of the other techniques listed here, such as model inversion and query-based attacks, potentially compromising intellectual property and undermining the competitive advantage of model developers.

Supply chain attacks:
Malicious actors compromise the integrity of LLM systems at various stages of the development and deployment lifecycle, including during data collection, model training, or model deployment. Because they can attack not only components that are part of the model but also those the model depends on, such as tools and libraries, they pose risks to the entire supply chain.

Resource exhaustion:
Denial-of-service (DoS) attacks and resource exhaustion techniques can render a service unavailable to users by overloading LLM systems with excessive amounts of traffic or requests from bots or multiple machines, causing service availability disruptions or performance degradation.

Guardrails

Unfortunately, LLM systems are not reliable, as they often hallucinate. You can optimize your system against hallucinations, but as hallucinations are hard to detect and can take many forms, there are significant changes that will still happen in the future.

Most users have accepted this phenomenon, but what is not acceptable is when LLMs accidentally output sensitive information. Ideally, you should remove all this sensitive data from your training data so the LLM doesn’t memorize it, but that doesn’t always happen.

Thus, to create safe LLM systems, you must protect them against harmful, sensitive, or invalid input and output by adding guardrails.

Guardrails are policies, checks, and automated tools that help LLM applications stay aligned with their intended behavior, whether that’s avoiding harmful outputs, upholding compliance rules, or flagging ethical concerns.

  • Technical guardrails: Real-time filters, rate limiters, prompt validation systems, and output classifiers.
  • Input guardrails: Input guardrails primarily protect against three main risks: exposing private information to external APIs, executing harmful prompts that could compromise your system (model jailbreaking), and accepting violent or unethical prompts. When it comes to leaking private information to external APIs, the risk is specific to sending sensitive data outside your organization, such as credentials or classified information. When talking about model jailbreaking, we mainly refer to prompt injection, such as executing malicious SQL code that can access, delete, or corrupt your data. Lastly, some applications don’t want to accept violent or unethical queries from users, such as asking an LLM how to build a bomb.
  • Output guardrails: At the output of an LLM response, you want to catch failed outputs that don’t respect your application’s standards. This can vary from one application to another, but some examples are empty responses (these responses don’t follow your expected format, such as JSON or YAML), toxic responses, hallucinations, and, in general, wrong responses. Also, you have to check for sensitive information that can leak from the internal knowledge of the LLM or your RAG system.
  • Operational guardrails: HITL review cycles, escalation workflows, model version controls, and observability. They need to continuously monitor the performance, looking for anomalies such as sudden shifts in output quality or response times. Alert systems should be in place to notify stakeholders of any issues.
  • Governance guardrails: Clear documentation, incident response plans, and regulatory compliance audits.

Popular guardrail tools are:

  • Galileo Protect, which detects prompt injections, toxic language, data privacy protection leaks, and hallucinations.
  • OpenAI’s Moderation API to detect harmful inputs or outputs and take action on them.
  • GuardRails.ai and Arthur are helping automate and scale much of these practices.
    • GuardRails.ai provides a framework for defining expected model behavior, input validation, and hallucinations
    • Arthur focuses more on model performance, data poisoning, and bias and drift detection after deployment.

LLMSecOps

LLM Security Operations is a subfield of LLMOps. It guides organizations in mitigating the risks of security breaches and data leaks.

Goal Description
Robustness Protect LLMs from manipulation and misuse, in part by building better safeguards into how LLMs interact with users. This could involve designing models that can detect when they’re being manipulated or implementing stronger filters.
Trust Build trust and confidence in the use of LLMs. This includes transparency in how these models are trained and what data they’re using. Developers need to find ways to limit the scope of data these models are exposed to. They also need to be able to scrub or anonymize PII more effectively before serving it to the model, especially in high-stakes environments like healthcare or finance.
Integrity Ensure compliance with relevant data privacy regulations.
Collaboration Enable collaboration and communication regarding security and privacy.
Audits Security audits to ensure the model itself does not become a security threat.

 

Furthermore, DevOps engineers are often tasked with helping their companies meet various compliance standards and regulations, such as Systems and Organization Controls 2 (SOC 2), International Organization for Standardization (ISO) standard 27001, Health Insurance Portability and Accountability Act (HIPAA), Payment Card Industry Data Security Standard (PCI DSS), and the National Institute of Standards and Technology (NIST) 800-171 requirements.

Therefore, a good starting point is to identify the regulations, restrictions, and characteristics of your business and determine which frameworks your company should adopt. To clarify a bit further, let’s take a bank as an example:

  • NIST Cybersecurity Framework is the best high-level foundational framework. It serves as the master blueprint to measure the enterprise’s security maturity, manage third-party vendor risks, and build incident response plans. It helps organizations manage and mitigate cybersecurity risks. It builds upon existing standards and guidelines, offering a flexible and scalable approach for various types of organizations, whether they are model providers or application developers. It provides an excellent foundation for any security audit, and its recent 2.0 version added a dedicated “Govern” function.
  • COBIT is best for governance & compliance, special on banks and financial entities, and highly complex corporations, where IT risk equals financial risk. It excels at mapping technical controls directly into corporate governance, audits, and strict financial regulations (like Sarbanes-Oxley or Basel III guidelines)
  • ISO 27001: if you need international clients to trust your security. In many countries outside the US, local central banks mandate that financial institutions achieve official ISO 27001 certification. It provides the rigid, formal “Information Security Management System” (ISMS) necessary to maintain international trust and satisfy global cross-border banking requirements
  • CIS Controls: if you want a checklist to start securing your network today. Best for the Technical Defense Team, it is used by hands-on cybersecurity engineers as a technical checklist to harden defense systems, secure endpoints, and patch vulnerabilities immediately.

So, a bank will use:

  • NIST CSF 2.0 to structure its defense program, use it to develop the strategy and manage risks
  • COBIT to pass financial audits
  • CIS Controls to guide the engineering team.

And it must also look at two finance-specific frameworks that plug into NIST:

  • FFIEC CAT (Cybersecurity Assessment Tool): Used specifically by US banks to map their NIST framework directly into federal banking regulations.
  • PCI DSS (Payment Card Industry Data Security Standard): A mandatory, highly strict framework required for any bank handling credit and debit card transactions.

Given that the NIST CSF 2.0 is a fundamental framework for any company, an interesting approach that follows its guidelines is the LLMSecOps audit. It offers a systematic framework for understanding the various types of threats to which your system is exposed and for planning actions that cover the entire attack surface of your applications.

Function Category Identifier
Govern (GV) Organizational Context GV.OC
Risk Management Strategy GV.RM
Roles, Responsibilities, and Authorities GV.RR
Policy GV.PO
Oversight GV.OV
Cybersecurity Supply Chain Risk Management GV.SC
Identify (ID) Asset Management ID.AM
Risk Assessment ID.RA
Improvement ID.IM
Protect (PR) Identity Management, Authentication, and Access Control PR.AA
Awareness and Training PR.AT
Data Security PR.DS
Platform Security PR.PS
Technology Infrastructure Resilience PR.IR
Detect (DE) Continuous Monitoring DE.CM
Adverse Event Analysis DE.AE
Respond (RS) Incident Management RS.MA
Incident Analysis RS.AN
Incident Response Reporting and Communication RS.CO
Incident Mitigation RS.MI
Recover (RC) Incident Recovery Plan Execution RC.RP
Incident Recovery Communication RC.CO

The key goal of a security audit is to create a structured and systematic process to evaluate the safety, fairness, privacy, and robustness of an LLM system across its training data, model behavior, and deployment context as well as downstream tasks.

Auditing an LLMSecOps pipeline under the NIST CSF 2.0 requires mapping specialized AI risks—such as prompt injection, training data poisoning, and model hallucinations—into the framework’s 6 Core Functions. Additionally, NIST CSF 2.0 formally includes the Govern (GV) function, making it the perfect vehicle to audit AI supply chains, algorithmic bias, and runtime guardrails.

1. GOVERN (GV) – AI Risk Strategy & Supply Chain

The audit begins by evaluating whether LLM use cases are cataloged and if corporate accountability covers non-deterministic AI behaviors:

  • Organizational Context (GV.OC): Audit the organizational LLM registry. Every model (open-weight, proprietary API, or fine-tuned) must be cataloged with an assigned risk tier based on its data access level.
  • Risk Management Strategy (GV.RM): Verify if LLM-specific risks—like legal liabilities over generated code, toxic outputs, or intellectual property leaks—are tracked inside the enterprise risk register.
  • Cybersecurity Supply Chain Risk Management (GV.SC): Review vendor risk assessments for foundational model providers (e.g., OpenAI, Anthropic) or open-weights sources (Hugging Face). Look for an AI/ML Bill of Materials (AI-BOM) to verify the provenance of model weights and dataset training sets.
2. IDENTIFY (ID) – Asset Tracking & Vulnerability Surface

This phase checks your visibility into your hardware, software, and data pipelines feeding your LLM ecosystem:

  • Asset Management (ID.AM): Audit the data pipelines. Validate tracking of training datasets, vector database vector indexes (embeddings), system prompts, and custom fine-tuning artifacts.
  • Risk Assessment (ID.RA): Review vulnerability scanning reports for the AI stack. The audit should look for specialized tool scans targeting Python/Mojo dependencies (like vulnerable versions of PyTorch, LangChain, or Hugging Face Transformers).
3. PROTECT (PR) – Model Guardrails & Data Privacy

Here, the audit assesses the hard technical controls preventing unauthorized access, data leaks, and model subversion:

  • Identity Management & Access Control (PR.AA): Audit API key rotations and Identity and Access Management (IAM) permissions for vector databases. Evaluate “least privilege” configurations for AI agents to ensure an agent cannot run arbitrary system commands if it receives a malicious prompt.
  • Data Security (PR.DS): Inspect data sanitization and minimization protocols. Ensure that PII (Personally Identifiable Information) or sensitive data is stripped before prompts hit external LLM APIs, and check for output filtering to block data memorization leaks.
  • Platform Security (PR.PS): Review the deployment architecture. LLM plugins and execution sandboxes must be isolated (containerized) to prevent prompt injections from achieving Remote Code Execution (RCE).
4. DETECT (DE) – Operational Monitoring & Prompt Anomaly

Since LLMs are dynamic, continuous detection mechanism auditing is highly critical:

  • Continuous Monitoring (DE.CM): Inspect the system logs. Auditors will look for explicit logging of user prompts, system instructions, retrieval inputs (RAG grounding text), exact model versions, and final model outputs.
  • Adverse Event Analysis (DE.AE): Audit your real-time LLM Guardrails (e.g., NeMo Guardrails, Llama Guard, or specialized proxy firewalls). Verify if these filters trigger automated alerts when they detect adversarial strings, prompt injection patterns, jailbreak attempts, or rapid semantic drift.
5. RESPOND (RS) – AI Incident Management Playbooks

When an attack succeeds, or a model hallucinates a major error, the response system must contain the blast radius:

  • Incident Management (RS.MA): Review the security incident playbooks. Ensure there is a designated “AI Incident Playbook” detailing what to do if an LLM is compromised via data poisoning, or if an autonomous agent goes rogue and executes unsafe API calls.
  • Mitigation (RS.MI): Test the emergency isolation procedures. Can your security team instantly revoke an AI agent’s credentials or route traffic to a safe, deterministic backup model if the primary model exhibits compromised behavior?
6. RECOVER (RC) – Model State Restoration & Fallbacks

The audit concludes by evaluating how effectively the system recovers a clean state after an incident:

  • Recovery Plan Execution (RC.RP): Verify the presence of immutable model checkpoints and cryptographically signed weights. If an open-weights model running locally is discovered to have a backdoor, the recovery plan must demonstrate how quickly the application can roll back to a known, verified clean baseline version.
LLMSecOps Core Audit Artifacts Checklist

An auditor following the NIST CSF 2.0 framework will ask for the following files:

  • AI-BOM / Software Bill of Materials for all models in production.
  • System Prompt Version History paired with its corresponding validation testing proofs.
  • Red-Teaming / Adversarial Penetration Test Reports highlighting vulnerability to jailbreaks.
  • Data Lineage Documentation showing compliance with data scraping, copyright laws, and consent filters.

Prompt monitoring

When generating an answer with an LLM, we don’t wait for the whole answer to be generated; we stream the output token by token. Thus, when it comes to tracking the latency of generating an answer, the final user experience must look at this from multiple perspectives, such as:

  • Time to First Token (TTFT): The time it takes for the first token to be generated
  • Time between Tokens (TBT): The interval between each token generation
  • Tokens per Second (TPS): The rate at which tokens are generated
  • Time per Output Token (TPOT): The time it takes to generate each output token
  • Total Latency: The total time required to complete a response

Also, tracking the total input and output tokens is critical to understanding the costs of hosting your LLMs.

LLMOps Tools by Category (2025-2026)

The mapping from MLOps → LLMOps isn’t always 1:1 because LLM applications introduce new primitives (prompts, embeddings, vector indexes, agent traces, guardrails). Below is a category-by-category mapping, plus a few new categories that have no MLOps equivalent at the bottom.

Experiment Tracking → LLM Experiment & Evaluation Tracking:

MLflow and W&B still work — both have added native LLM tracing and prompt-aware experiment views. The LLM-specialized alternatives are stronger for prompt/model comparison.

Tool Notes
MLflow Open source, Apache 2.0, strong classical-ML lineage plus growing LLM tracing, evaluation, and prompt registry
W&B Weave Weights & Biases Weave is an OSS LLM library on top of the W&B platform
Comet (Opik) Opik is the OSS LLM eval/tracing project from Comet
Langfuse OSS (MIT), self-hostable, traces + evals + datasets + prompts
Arize Phoenix Open-source LLM observability & evaluation
Braintrust Closed SaaS, polished experiments + scorers + CI gates
LangSmith Best fit if your runtime is LangChain/LangGraph
FutureAGI OSS end-to-end loop (simulate → eval → trace → gate → optimize → route)

ML Metadata Store → LLM Metadata / Lineage Store:

Same products as above (MLflow, W&B, Comet) now cover LLM metadata. For explicit data/asset lineage (datasets → embeddings → model → deployment), new options exist.

Tool Notes
MLflow Tracking Server Same as MLOps; tracks prompts, params, metrics, artifacts
W&B / Comet Same as MLOps
Langfuse Trace tree + prompt + dataset + eval scores as first-class metadata
OpenMetadata Open-source metadata/lineage graph with PROV-O and OpenLineage support
SuperInstance Lineage Tracker Purpose-built for fine-tune/merge/distill provenance
GLaaS / roar Global Lineage-as-a-Service for ML/LLM artifacts

Data Versioning → LLM Data & Embedding Versioning:

DVC is still widely used for LLM training/fine-tuning data. Newer tools target the specific pain points of LLM datasets (huge corpora, embeddings, multimodal).

Tool Notes
DVC Still the default; works fine for JSONL/Parquet corpora
LakeFS Git-like semantics over object storage (S3/GCS/Azure)
Pachyderm Data versioning with content-addressed storage on Kubernetes
Oxen Git-like UX, optimized for millions of files (images/video/audio/text)
DataChain Versioned datasets with native parquet/embedding support
Genna Content-addressed chunks with O(log n) edits for sparse changes
Hugging Face Datasets + Hub Implicit versioning via commit hashes

Pipeline Orchestration → LLM Pipeline Orchestration:

The MLOps orchestrators all still apply, but LLM pipelines are increasingly built with prompt-flow-style visual DAGs rather than classic ETL DAGs.

Tool Notes
Apache Airflow Still the most-deployed general orchestrator (now 3.3 with stateful tasks)
Kubeflow Pipelines KFP for Kubernetes-native LLM fine-tuning/training
Dagster Asset-centric, strong lineage, good for RAG indexing pipelines
Prefect Pythonic, lightweight alternative to Airflow
ZenML MLOps-native with LLM stack integration
Microsoft Prompt Flow LLM-specific visual DAG builder, integrated with Azure AI
LangChain / LangGraph Application-level orchestration of prompts, tools, agents
LlamaIndex RAG-pipeline orchestration with ingestion/query pipelines

Feature Stores → Vector Databases & Embedding Feature Stores:

This is the biggest conceptual shift. The “feature” in an LLM app is usually an embedding. Traditional feature stores now offer vector columns; purpose-built vector DBs are also used.

Tool Notes
Pinecone Managed, serverless vector DB
Weaviate Open-source, hybrid (vector + BM25 + filtered)
Qdrant Open-source, Rust-based, high performance
Milvus / Zilliz Open-source, scales to billions of vectors
Chroma OSS, popular for prototyping
LanceDB Embedded, disk-based, great for serverless/edge
Vespa Hybrid search + ranking at scale
pgvector Postgres extension, simplest if you already run Postgres
Feast Now supports vector retrieval (e.g., via ScyllaDB)
Hopsworks Feature store with native vector search (RonDB)
Tecton Enterprise feature platform with vector support
Vertex AI Feature Store / Vector Search Managed Google option
AWS OpenSearch Serverless Vector + keyword on AWS

Cloud Platforms → LLM Cloud & Inference Platforms:

The three hyperscalers all have dedicated LLM stacks now. Specialized inference providers are often 5–10× cheaper for self-hosted models.

Tool Notes
AWS Bedrock + SageMaker Bedrock for managed foundation models; SageMaker for custom training/deployment
Microsoft Foundry (Azure OpenAI + Azure ML) Best enterprise OpenAI story, Prompt Flow, Content Safety
Google Vertex AI Gemini 2M context, RAG Engine, Model Garden, unified platform
Together AI Fast open-source model inference
Anyscale Ray-based hosted inference
Fireworks AI Low-latency open-source inference
Replicate On-demand inference for open models
Modal Serverless GPU compute for inference
RunPod / Lambda Labs Raw GPU rental

Model Registry → Model + Prompt Registry:

LLM registries need to track base model + fine-tuned weights + LoRA adapters + prompts + model config as one versioned unit. Newer tools treat prompts as first-class.

Tool Notes
MLflow Model Registry + Prompt Registry Unified, open source, strongest for hybrid ML + LLM lineage
W&B Artifacts + Weave Same W&B experience for LLM artifacts
Comet Registry + Opik Same as above for Comet users
Hugging Face Hub De-facto registry for open-source LLMs and adapters
Kubeflow Hub (formerly Model Registry) Cloud-native, Kubernetes-integrated
AWS SageMaker Model Registry / Azure ML / Vertex AI Model Registry Cloud-native options
Langfuse Prompt Management Versioned prompts with diffs and aliases
PromptLayer SaaS, strong UX for prompt versioning + A/B
Agenta OSS, variants, environments, deep evals
Microsoft Prompt Flow Visual prompt + flow management
ZenML Has a model registry; integrates with the ZenML stack

New LLMOps Categories With No MLOps Equivalent

These didn’t exist in classical MLOps and are now critical:

LLM Observability / Tracing:

  • Langfuse, Arize Phoenix, LangSmith, Helicone, MLflow Tracing, W&B Weave, Comet Opik, Datadog LLM Observability, Dynatrace AI Observability, OpenTelemetry + custom backend

Evaluation & Testing (LLM-as-Judge, Human Eval):

  • DeepEval, RAGAS, Patronus AI, Galileo, Arize Phoenix, MLflow mlflow.evaluate, Braintrust scorers, Langfuse evals, OpenAI Evals

Guardrails / Safety:

  • NeMo Guardrails (NVIDIA), Guardrails AI, Microsoft Azure AI Content Safety, AWS Bedrock Guardrails, Rebuff, Lakera Guard, WhyLabs LangKit, Prompt Armor

LLM Gateway / Routing / Caching:

  • Portkey, LiteLLM, OpenRouter, Respan Gateway, Cloudflare AI Gateway, RouteLLM, Martian, Unify, BentoML

Agent Frameworks:

  • LangGraph, CrewAI, AutoGen (Microsoft), Pydantic AI, DSPy, Semantic Kernel, Haystack, LlamaIndex agents

If you want the most pragmatic OSS-first setup in 2025–2026:

  • Tracking/MetadataMLflow (or Langfuse if you’re LLM-only)
  • Vector DBQdrant or pgvector
  • OrchestrationDagster (data) + LangGraph (agent logic)
  • Data VersioningDVC for corpora, Hugging Face Hub for models
  • CloudVertex AI (unified) or AWS Bedrock (model variety)
  • Model + Prompt RegistryMLflow (or Langfuse prompts)
  • AddDeepEval for evals, Langfuse or Arize Phoenix for observability, NeMo Guardrails for safety, LiteLLM as a gateway

LLMOps on Databricks

For LLMOps on Databricks, you have these specialized tools:

Model Deployment & Serving

  • Model Serving – Deploy foundation models, external models (OpenAI, Anthropic, etc.), custom fine-tuned models, and embedding models with auto-scaling endpoints
  • AI Gateway – Centralized gateway for LLM access with rate limiting, cost tracking, usage monitoring, fallback routing, and PII detection

Prompt Engineering & Evaluation

  • MLflow LLM Evaluation – Evaluate LLM outputs using metrics like relevance, groundedness, toxicity, and custom judges. Compare prompts and models systematically
  • MLflow Prompt Engineering UI – Experiment with prompts, parameters, and models interactively with side-by-side comparisons

Agent & RAG Development

  • Agent Framework – Build and deploy retrieval-augmented generation (RAG) applications and multi-step agents
  • Vector Search – Managed vector database for semantic search and RAG retrieval with Delta Lake integration
  • AI Search – Hybrid search combining vector similarity and keyword search

Monitoring & Observability

  • Inference Tables – Automatic logging of requests/responses to Unity Catalog tables for analysis and monitoring
  • Lakehouse Monitoring – Track data quality, model drift, and LLM output quality over time

Governance & Security

  • Unity Catalog for AI – Centralized governance for models, functions, prompts, and retrieval data with fine-grained permissions
  • AI Gateway Guardrails – Input/output filtering, content safety checks, and compliance controls

Fine-tuning & Training

  • Mosaic AI Training – Fine-tune foundation models on your data with managed infrastructure

These integrate end-to-end – for example, you can fine-tune a model, register it in Unity Catalog, deploy via Model Serving with AI Gateway guardrails, monitor via Inference Tables, and evaluate quality with MLflow.


Conclusion

At its core, modern DevOps isn’t really about the tools — it’s a cultural shift. It asks teams to collaborate more closely, automate the repetitive work that used to eat up their time, measure what actually matters, and treat continuous improvement as a mindset rather than a project. Security has to be woven in from the start, not bolted on at the end, and speed needs to be balanced against reliability rather than traded off against it. Ultimately, the goal is simple to state and hard to achieve: deliver value to customers faster, with higher quality and greater resilience, all while keeping the teams doing the work happy and productive.

CI/CD is where a lot of that cultural shift becomes concrete. By automating repetitive tasks, cutting down on human error, and speeding up delivery, CI/CD changes how software actually gets built — whether you’re working solo or inside a large enterprise. The payoff shows up in higher-quality software, faster time to market, tighter collaboration between teams, and releases you can actually trust.

Moreover, with the rapid advancement of containers and the cloud in the software industry, it is becoming increasingly essential for the modern DevOps engineer to possess the skills needed to handle both.

The same logic extends into machine learning through MLOps, which is what takes a model out of a research notebook and turns it into something that reliably delivers business value in production. MLflow has become the standard tool for this because it works with almost any ML framework, covers the full lifecycle without locking you into a vendor, and is simple enough to start using locally yet scales all the way up to enterprise workloads — which is exactly why thousands of companies have adopted it.

When organizations combine MLOps practices with tools like MLflow, they deploy models roughly ten times faster, achieve stronger model performance, retrain automatically as data shifts, stay on top of compliance and governance, and cut costs through automation.

LLMOps pushes this even further, adapting these same principles to the unique demands of large language models. Beyond the usual data and model management challenges, teams now have to contend with massive parameter counts, multi-GPU training infrastructure, and the sheer cost of working at that scale. And because most teams aren’t training foundation models from scratch, the real work shifts toward prompt engineering, fine-tuning, and RAG on top of existing models — refined further through human feedback loops like RLHF or DPO. On top of that, LLMs bring a layer of unpredictability that traditional ML systems don’t have to worry about: they hallucinate, and they can leak sensitive information if left unchecked. That’s why guardrails — on both the input and output side — and continuous prompt monitoring, tracking things like latency and token usage, become just as essential to a mature LLMOps practice as the pipeline itself.