diff --git a/src/main/java/com/informationcatalyst/enact/application_controller/config/ContainerConfig.java b/src/main/java/com/informationcatalyst/enact/application_controller/config/ContainerConfig.java
new file mode 100644
index 0000000000000000000000000000000000000000..da4635cb6b39e84ad9fbf2f0cc21227cf8469f58
--- /dev/null
+++ b/src/main/java/com/informationcatalyst/enact/application_controller/config/ContainerConfig.java
@@ -0,0 +1,37 @@
+package com.informationcatalyst.enact.application_controller.config;
+
+import org.springframework.boot.context.properties.ConfigurationProperties;
+import org.springframework.stereotype.Component;
+
+@Component
+@ConfigurationProperties(prefix = "container")
+public class ContainerConfig {
+    private int defaultMinReplicas = 1;
+    private long startupThresholdMs = 5000;
+    private int warmupInstances = 2;
+
+    // Getters and Setters
+    public int getDefaultMinReplicas() {
+        return defaultMinReplicas;
+    }
+
+    public void setDefaultMinReplicas(int defaultMinReplicas) {
+        this.defaultMinReplicas = defaultMinReplicas;
+    }
+
+    public long getStartupThresholdMs() {
+        return startupThresholdMs;
+    }
+
+    public void setStartupThresholdMs(long startupThresholdMs) {
+        this.startupThresholdMs = startupThresholdMs;
+    }
+
+    public int getWarmupInstances() {
+        return warmupInstances;
+    }
+
+    public void setWarmupInstances(int warmupInstances) {
+        this.warmupInstances = warmupInstances;
+    }
+}
diff --git a/src/main/java/com/informationcatalyst/enact/application_controller/containerEnabler/controllers/ContainerColdStartOptimizerController.java b/src/main/java/com/informationcatalyst/enact/application_controller/containerEnabler/controllers/ContainerColdStartOptimizerController.java
new file mode 100644
index 0000000000000000000000000000000000000000..579cfda1f9dac3797305890dd8679250c6ddd36f
--- /dev/null
+++ b/src/main/java/com/informationcatalyst/enact/application_controller/containerEnabler/controllers/ContainerColdStartOptimizerController.java
@@ -0,0 +1,20 @@
+package com.informationcatalyst.enact.application_controller.containerEnabler.controllers;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import com.informationcatalyst.enact.application_controller.containerEnabler.models.WarmupPlan;
+import com.informationcatalyst.enact.application_controller.containerEnabler.services.ContainerColdStartOptimizerService;
+
+@RestController
+public class ContainerColdStartOptimizerController {
+    @Autowired
+    private ContainerColdStartOptimizerService optimizer;
+
+    @PostMapping("/prewarm/{containerId}")
+    public WarmupPlan prewarm(@PathVariable String containerId) {
+        return optimizer.preWarmContainer(containerId);
+    }
+}
diff --git a/src/main/java/com/informationcatalyst/enact/application_controller/containerEnabler/models/StartupTimeReport.java b/src/main/java/com/informationcatalyst/enact/application_controller/containerEnabler/models/StartupTimeReport.java
new file mode 100644
index 0000000000000000000000000000000000000000..ff1a1182b821370dd7146e811b81d38c1ed0938a
--- /dev/null
+++ b/src/main/java/com/informationcatalyst/enact/application_controller/containerEnabler/models/StartupTimeReport.java
@@ -0,0 +1,26 @@
+package com.informationcatalyst.enact.application_controller.containerEnabler.models;
+
+public class StartupTimeReport {
+    private String containerId;
+    private long startupTimeMs;
+    private String status;
+
+    public StartupTimeReport(String containerId, long startupTimeMs, String status) {
+        this.containerId = containerId;
+        this.startupTimeMs = startupTimeMs;
+        this.status = status;
+    }
+
+    // Getters
+    public String getContainerId() {
+        return containerId;
+    }
+
+    public long getStartupTimeMs() {
+        return startupTimeMs;
+    }
+
+    public String getStatus() {
+        return status;
+    }
+}
diff --git a/src/main/java/com/informationcatalyst/enact/application_controller/containerEnabler/models/WarmupPlan.java b/src/main/java/com/informationcatalyst/enact/application_controller/containerEnabler/models/WarmupPlan.java
new file mode 100644
index 0000000000000000000000000000000000000000..4d6c78cc18aeb15466033713a642f082905e8121
--- /dev/null
+++ b/src/main/java/com/informationcatalyst/enact/application_controller/containerEnabler/models/WarmupPlan.java
@@ -0,0 +1,26 @@
+package com.informationcatalyst.enact.application_controller.containerEnabler.models;
+
+public class WarmupPlan {
+    private String containerId;
+    private int instances;
+    private String status;
+
+    public WarmupPlan(String containerId, int instances, String status) {
+        this.containerId = containerId;
+        this.instances = instances;
+        this.status = status;
+    }
+
+    // Getters
+    public String getContainerId() {
+        return containerId;
+    }
+
+    public int getInstances() {
+        return instances;
+    }
+
+    public String getStatus() {
+        return status;
+    }
+}
\ No newline at end of file
diff --git a/src/main/java/com/informationcatalyst/enact/application_controller/containerEnabler/services/ContainerColdStartOptimizerService.java b/src/main/java/com/informationcatalyst/enact/application_controller/containerEnabler/services/ContainerColdStartOptimizerService.java
new file mode 100644
index 0000000000000000000000000000000000000000..f35598c012d7e05c93532c458a757fa9615495e9
--- /dev/null
+++ b/src/main/java/com/informationcatalyst/enact/application_controller/containerEnabler/services/ContainerColdStartOptimizerService.java
@@ -0,0 +1,50 @@
+package com.informationcatalyst.enact.application_controller.containerEnabler.services;
+
+import com.informationcatalyst.enact.application_controller.config.ContainerConfig;
+
+import com.informationcatalyst.enact.application_controller.containerEnabler.models.StartupTimeReport;
+import com.informationcatalyst.enact.application_controller.containerEnabler.models.WarmupPlan;
+
+import com.informationcatalyst.enact.application_controller.containerEnabler.utils.ContainerManagerService;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+@Service
+public class ContainerColdStartOptimizerService {
+    private final ContainerManagerService containerManager;
+    private final ContainerConfig config;
+
+    @Autowired
+    public ContainerColdStartOptimizerService(ContainerManagerService containerManager,
+            ContainerConfig config) {
+        this.containerManager = containerManager;
+        this.config = config;
+    }
+
+    public WarmupPlan preWarmContainer(String containerId) {
+        // Use configured warmup instance count
+        int instances = config.getWarmupInstances();
+        containerManager.preWarmContainer(containerId, instances);
+        return new WarmupPlan(containerId, instances, "SUCCESS");
+    }
+
+    public boolean keepAlive(String containerId, int minReplicas) {
+        // Validate input
+        if (minReplicas < 0) {
+            throw new IllegalArgumentException("minReplicas must be >= 0");
+        }
+
+        // Apply default if not specified
+        int effectiveMinReplicas = (minReplicas == 0) ? config.getDefaultMinReplicas() : minReplicas;
+
+        containerManager.setMinReplicas(containerId, effectiveMinReplicas);
+        return true;
+    }
+
+    public StartupTimeReport measureStartupImpact(String containerId) {
+        long startupTime = containerManager.measureStartupTime(containerId);
+        String status = (startupTime <= config.getStartupThresholdMs()) ? "OPTIMIZED" : "NEEDS_IMPROVEMENT";
+        return new StartupTimeReport(containerId, startupTime, status);
+    }
+}
diff --git a/src/main/java/com/informationcatalyst/enact/application_controller/containerEnabler/utils/ContainerManagerService.java b/src/main/java/com/informationcatalyst/enact/application_controller/containerEnabler/utils/ContainerManagerService.java
new file mode 100644
index 0000000000000000000000000000000000000000..1279853bd1b01bf34d38e648e0cb0f87067501bd
--- /dev/null
+++ b/src/main/java/com/informationcatalyst/enact/application_controller/containerEnabler/utils/ContainerManagerService.java
@@ -0,0 +1,21 @@
+package com.informationcatalyst.enact.application_controller.containerEnabler.utils;
+
+import org.springframework.stereotype.Service;
+
+@Service
+public class ContainerManagerService {
+    public void preWarmContainer(String containerId, int instances) {
+        // Simulate API call to container orchestration platform
+        System.out.printf("Pre-warming %d instances for container %s%n", instances, containerId);
+    }
+
+    public void setMinReplicas(String containerId, int minReplicas) {
+        // Simulate updating replica configuration
+        System.out.printf("Setting min replicas for %s to %d%n", containerId, minReplicas);
+    }
+
+    public long measureStartupTime(String containerId) {
+        // Simulate startup time measurement (random between 100ms and 3000ms)
+        return 100 + (long) (Math.random() * 2900);
+    }
+}