Skip to main content

GitOps Driven Infrastructure: Securing AI Workloads on VMware Cloud Foundation

How Policy as Code, Agentic AI, and Private LLMs Enable Compliant Innovation at Enterprise Scale

For CTOs and enterprise architects facing the dual mandate of accelerating innovation while maintaining security posture, the question is no longer whether to adopt AI, but how to do it without compromising data sovereignty, regulatory compliance, or operational stability. The answer lies in combining three powerful patterns: Infrastructure as Code with GitOps, policy driven guardrails, and private AI deployments on VMware Cloud Foundation.

Having architected infrastructure for regulated environments where compliance is non negotiable, I have learned that the key to safe innovation is not restricting what teams can do, but controlling how they do it. GitOps provides the control plane. VCF provides the secure substrate. And private AI capabilities enable intelligence without data exfiltration.

The GitOps Foundation for Enterprise Infrastructure

GitOps is not just about using Git for infrastructure code. It represents a fundamental shift in how we think about infrastructure state management and change control. Every infrastructure configuration lives in Git. Every change goes through a pull request. Every deployment is auditable, reversible, and reproducible.

For VCF environments, this pattern is particularly powerful because it bridges the gap between developer velocity and operational safety. Developers get self service infrastructure provisioning. Security teams get policy enforcement. SRE teams get drift detection and automatic reconciliation.

Architecture Pattern: GitOps with VCF

Structure diagram
┌─────────────────────────────────────────────────────────────┐
│  Git Repository (Source of Truth)                           │
│  ├── infrastructure/                                        │
│  │   ├── vcf-workload-domains/                              │
│  │   ├── network-policies/                                  │
│  │   ├── storage-policies/                                  │
│  │   └── security-policies/                                 │
│  ├── applications/                                          │
│  │   ├── kubernetes-manifests/                              │
│  │   └── vm-templates/                                      │
│  └── policies/                                              │
│      ├── guardrails.yaml                                    │
│      ├── compliance-rules.yaml                              │
│      └── ai-governance.yaml                                 │
└─────────────────────────────────────────────────────────────┘
                          ↓
┌─────────────────────────────────────────────────────────────┐
│  CI/CD Pipeline (GitLab / GitHub Actions / Aria)            │
│  ├── Policy Validation (OPA / Kyverno)                      │
│  ├── Security Scanning (Trivy / Checkov)                    │
│  ├── Drift Detection                                        │
│  └── Automated Deployment                                   │
└─────────────────────────────────────────────────────────────┘
                          ↓
┌─────────────────────────────────────────────────────────────┐
│  VMware Cloud Foundation 9.0                                │
│  ├── vSphere + vSAN + NSX                                   │
│  ├── Tanzu Kubernetes Grid                                  │
│  ├── Private AI Services (GPU Pool)                         │
│  └── Aria Automation (Orchestration)                        │
└─────────────────────────────────────────────────────────────┘
  
Key Principle: The Git repository becomes your compliance audit trail. When auditors ask why a change was made, who approved it, and what testing was done, the pull request history provides complete documentation. This shifts compliance from a manual documentation burden to an automatic byproduct of your workflow.

Implementing Policy as Code for VCF

The real power of GitOps emerges when you combine it with policy as code. Before any infrastructure change reaches production, it must pass through automated policy checks. These policies encode your security standards, compliance requirements, and operational best practices.

For VCF environments, I typically implement three layers of policy enforcement:

Policy Layer Enforcement Point Example Policy
Pre Commit Developer workstation (Git hooks) Terraform must use approved VCF modules. No hardcoded credentials. Tags mandatory for all resources.
CI Pipeline Before deployment (OPA / Sentinel) NSX firewall rules must follow least privilege. VM templates must have encryption enabled. No public IPs without approval.
Runtime VCF platform level (Admission Controllers) Block VMs without backup policy. Prevent privilege escalation. Enforce resource quotas per team.

Here is a practical example of a policy that prevents deployment of AI workloads without proper data classification:

# OPA Policy for AI Workload Deployment
package vcf.ai.governance

deny[msg] {
    input.kind == "VirtualMachine"
    contains(input.metadata.labels.workload, "ai-training")
    not input.spec.dataClassification
    msg = "AI training workloads must specify data classification level"
}

deny[msg] {
    input.kind == "VirtualMachine"
    input.metadata.labels.workload == "ai-training"
    input.spec.dataClassification == "confidential"
    not input.spec.encryption.enabled
    msg = "Confidential AI workloads must have encryption enabled"
}

deny[msg] {
    input.kind == "TanzuKubernetesCluster"
    contains(input.spec.purpose, "llm-inference")
    not input.spec.networkPolicy == "isolated"
    msg = "LLM inference clusters must use isolated network policy"
}
Security Note: Policy enforcement must be immutable. Policies themselves should be version controlled and require approval from security team before changes go live. The policy repository should have branch protection requiring multiple reviewers and automated security scanning.

Securing AI Workloads: The Private LLM Architecture

The challenge with AI adoption in regulated industries is straightforward. Most LLM services require sending your data to external APIs. For financial services, healthcare, or government sectors, this is often a non starter. Data sovereignty, regulatory compliance, and intellectual property protection demand that sensitive data never leaves your control.

VMware Cloud Foundation 9.0 addresses this with integrated Private AI Services. You can deploy and run LLMs entirely within your own infrastructure, with the same security controls and compliance frameworks that protect your other workloads.

Architecture for Enterprise Private LLM Deployment

Component VCF Implementation Security Control
Model Storage vSAN with encryption at rest Models never leave your datacenter. Encrypted storage with key management.
GPU Resources vSphere GPU passthrough or vGPU for NVIDIA A100/H100 Dedicated GPU pools with resource quotas per team/project.
Network Isolation NSX micro segmentation with distributed firewall LLM inference endpoints isolated from internet. Zero trust networking.
Access Control Active Directory integration with RBAC Model access controlled by AD groups. All queries logged for audit.
Data Governance Tanzu with admission webhooks Prevent deployment of models trained on unapproved datasets.

Practical Implementation: Agentic AI with Governance

Agentic AI represents the next evolution beyond simple LLM queries. These are AI systems that can plan multi step workflows, make decisions, and take actions autonomously. For infrastructure operations, this means AI agents that can analyze logs, identify root causes, and execute remediation procedures without human intervention.

The security challenge is obvious. How do you give an AI agent the permissions it needs to be useful while ensuring it cannot accidentally or maliciously cause damage?

Solution Pattern: Deploy agentic AI with bounded autonomy. Each agent operates within a strictly defined scope, can only execute pre approved actions, and escalates to humans for anything outside its authorization. This is enforced at the VCF platform level, not just at the application level.

Here is how I implement this in practice:

# AI Agent Authorization Policy (Kubernetes RBAC + OPA)
apiVersion: authorization.vmware.com/v1
kind: AIAgentPolicy
metadata:
  name: sre-incident-response-agent
spec:
  agent:
    identity: sre-agent@infra.corp
    purpose: automated-incident-response
  
  allowedActions:
    - action: "vm.restart"
      scope: ["dev", "staging"]
      conditions:
        - healthCheck: failed
        - downtime: ">5 minutes"
      approval: automatic
    
    - action: "vm.restart"
      scope: ["production"]
      conditions:
        - healthCheck: failed
        - downtime: ">10 minutes"
      approval: human-required
      escalation: oncall-sre
    
    - action: "scale.cluster"
      scope: ["all"]
      approval: always-human
      reason: "High impact change requires human judgment"
  
  prohibitedActions:
    - "vm.delete"
    - "firewall.disable"
    - "encryption.disable"
  
  auditLogging:
    enabled: true
    destination: siem-integration
    retention: 7-years

The Model Context Protocol Advantage

One technical capability that makes VCF particularly compelling for agentic AI is support for the Model Context Protocol. MCP enables AI agents to maintain context across interactions with different systems while keeping that context secure and auditable.

In practical terms, this means an SRE agent can query vRealize Operations for metrics, analyze NSX flow data for network anomalies, check vSAN health status, and correlate all this information while maintaining a unified understanding of the infrastructure state. All without data leaving your VCF environment.

Real World Implementation: GitOps Driven AI Infrastructure

Let me describe a production implementation that ties all these concepts together. The requirement was to enable data science teams to deploy AI training workloads on VCF while maintaining strict security controls and cost governance.

The Challenge

Data scientists wanted self service access to GPU resources for model training. Security team required that training data never leave the corporate network. Finance team needed cost allocation per project. Compliance team required complete audit trails. Traditional ticket based provisioning was taking 2 to 3 weeks per request.

The Solution Architecture

  1. GitOps Repository Structure: Created separate Git repositories for infrastructure definitions, application manifests, and security policies. Data science teams submit pull requests for new environments rather than tickets.
  2. Automated Policy Validation: Every pull request triggers automated checks. Does the request specify data classification? Is GPU quota available? Are network isolation requirements met? Does the requester have budget approval?
  3. Terraform with VCF Modules: Infrastructure deployed via Terraform using standardized VCF modules. Each module enforces security baselines. GPU enabled VMs get automatic encryption. Training clusters get automatic network isolation via NSX.
  4. Private Model Registry: Harbor registry deployed on vSAN stores AI models. Access controlled via AD groups. All model downloads logged. Vulnerability scanning runs on every push.
  5. Cost Allocation via Tags: Every resource automatically tagged with project code, cost center, and data classification during provisioning. vRealize Operations aggregates costs per team for chargeback.
Results After 6 Months: Provisioning time reduced from 2 to 3 weeks to 4 hours (mostly waiting for human approvals in pipeline). 100 percent compliance in security audits because all controls are enforced by code. 30 percent cost reduction through automatic shutdown of idle training jobs. Zero security incidents related to data exfiltration.

Guardrails That Enable Rather Than Block

The philosophy behind effective guardrails is critical. Many organizations implement security controls that are so restrictive they push teams to find workarounds. Shadow IT emerges not because people are malicious, but because official processes are too slow or inflexible.

The GitOps approach flips this dynamic. Instead of a central team controlling a bottleneck, you encode security requirements as automated checks. Teams get fast self service provisioning as long as they stay within guardrails. When they need something outside the guardrails, the exception process is transparent and tracked.

Key Guardrail Patterns for VCF

Guardrail Type Implementation Business Impact
Data Sovereignty OPA policy blocks VMs with confidential data from deploying to cloud connected clusters Ensures regulatory compliance without manual review of every deployment
Cost Control Resource quotas enforced at vSphere cluster level based on approved budget Prevents budget overruns while allowing teams autonomy within limits
Security Baseline VM templates require encryption, backup policy, and network isolation by default Every workload starts secure without requiring security team review
AI Model Governance Models must pass bias testing and vulnerability scan before production deployment Accelerates AI adoption while managing ethical and security risks

The Operational Model: SRE Teams and AI Agents Working Together

A question I get frequently from Customers is whether AI agents will replace SRE teams. The answer is no, but the relationship is evolving. AI agents handle the toil, the repetitive incident response, the capacity monitoring, the optimization recommendations. Human SREs focus on architecture, resilience engineering, chaos testing, and handling truly novel situations.

In the VCF environment I described earlier, we now have AI agents handling about 60 percent of operational tasks. Restarting failed services, clearing disk space, rebalancing clusters, rightsizing VMs based on utilization. The SRE team is actually smaller than before, but more effective. They spend time on proactive reliability improvements rather than reactive firefighting.

Critical Success Factor: Start with read only AI agents. Let them observe and recommend for 90 days. Build team confidence that the AI makes good suggestions. Only then grant limited write permissions in non production environments. Expand scope gradually based on demonstrated reliability. This incremental approach builds trust and allows the team to learn how to work with AI agents effectively.

Integration with Existing Enterprise Architecture

For global enterprises, VCF rarely operates in isolation. You have existing ITSM tools, monitoring platforms, CI/CD pipelines, and identity systems. The GitOps pattern integrates naturally with these existing investments.

ServiceNow integration for change management. Requests that pass automated policy checks get auto approved. Requests outside policy trigger human review workflow. Splunk or ELK for security event correlation. All VCF events, all AI agent actions, all policy violations flow into your SIEM. Active Directory for identity. Your existing AD groups control who can deploy what types of workloads.

The key architectural principle is that VCF becomes the secure execution layer while your existing tools provide the governance and observability layers. This allows you to adopt VCF's advanced capabilities without disrupting established processes.

Strategic Recommendations for Enterprise Architects

If you are evaluating how to enable AI workloads while maintaining security and compliance, here is my recommended approach based on production implementations:

Phase 1 (Months 1 to 3): Establish GitOps foundation for VCF infrastructure. Move infrastructure definitions to Git. Implement basic policy as code for security baseline. Deploy CI/CD pipeline for automated validation.

Phase 2 (Months 4 to 6): Deploy Private AI Services on VCF. Set up GPU resource pools. Implement model registry with governance. Create self service portal for data science teams backed by GitOps workflow.

Phase 3 (Months 7 to 9): Introduce read only AI agents for operations. Let them analyze patterns, generate recommendations, build institutional knowledge. Train SRE teams on working with AI assistants.

Phase 4 (Months 10 to 12): Grant limited autonomy to proven AI agents. Start with low risk actions in non production. Expand based on demonstrated reliability and team confidence.

The organizations succeeding with AI today are not the ones with the most sophisticated models. They are the ones who figured out how to deploy AI safely, govern it effectively, and integrate it into existing workflows. VMware Cloud Foundation with GitOps and policy as code provides the platform to do exactly that.


How is your organization approaching AI workload security? Are you using GitOps patterns for infrastructure management? I would be interested to hear about your architecture decisions and challenges.

This article reflects my professional experience architecting secure infrastructure for AI workloads. Your specific requirements will vary based on regulatory environment, scale, and organizational maturity. Consult with security and compliance teams before implementing these patterns in production.

VMware Cloud Foundation GitOps Infrastructure as Code Agentic AI Security Guardrails Private LLM

Popular posts from this blog

AD LDS – Syncronizing AD LDS with Active Directory

First, we will install the AD LDS Instance: 1. Create and AD LDS instance by clicking Start -> Administrative Tools -> Active Directory Lightweight Directory Services Setup Wizard. The Setup Wizard appears. 2. Click Next . The Setup Options dialog box appears. For the sake of this guide, a unique instance will be the primary focus. I will have a separate post regarding AD LDS replication at some point in the near future. 3. Select A unique instance . 4. Click Next and the Instance Name dialog box appears. The instance name will help you identify and differentiate it from other instances that you may have installed on the same end point. The instance name will be listed in the data directory for the instance as well as in the Add or Remove Programs snap-in. 5. Enter a unique instance name, for example IDG. 6. Click Next to display the Ports configuration dialog box. 7. Leave ports at their default values unless you have conflicts with the default values. 8. Click N...

DNS Scavenging.

                        DNS Scavenging is a great answer to a problem that has been nagging everyone since RFC 2136 came out way back in 1997.  Despite many clever methods of ensuring that clients and DHCP servers that perform dynamic updates clean up after themselves sometimes DNS can get messy.  Remember that old test server that you built two years ago that caught fire before it could be used?  Probably not.  DNS still remembers it though.  There are two big issues with DNS scavenging that seem to come up a lot: "I'm hitting this 'scavenge now' button like a snare drum and nothing is happening.  Why?" or "I woke up this morning, my DNS zones are nearly empty and Active Directory is sitting in a corner rocking back and forth crying.  What happened?" This post should help us figure out when the first issue will happen and completely av...

HOW TO EDIT THE BCD REGISTRY FILE

The BCD registry file controls which operating system installation starts and how long the boot manager waits before starting Windows. Basically, it’s like the Boot.ini file in earlier versions of Windows. If you need to edit it, the easiest way is to use the Startup And Recovery tool from within Vista. Just follow these steps: 1. Click Start. Right-click Computer, and then click Properties. 2. Click Advanced System Settings. 3. On the Advanced tab, under Startup and Recovery, click Settings. 4. Click the Default Operating System list, and edit other startup settings. Then, click OK. Same as Windows XP, right? But you’re probably not here because you couldn’t find that dialog box. You’re probably here because Windows Vista won’t start. In that case, you shouldn’t even worry about editing the BCD. Just run Startup Repair, and let the tool do what it’s supposed to. If you’re an advanced user, like an IT guy, you might want to edit the BCD file yourself. You can do this...