# Why is deployment better than a replication controller?

*Here's why...*

* **Control**
    

Deployments give you more control over the deployment process. You can specify how the pods are updated, and you can roll back to a previous version if necessary.

* **Scalability**
    

Deployments are more scalable than replication controllers. They can be used to deploy large applications with multiple replicas.

* **Features**
    

Deployments have more features than replication controllers. They support rolling updates, blue-green deployments, and canary deployments.

*Here’s what a deployment can do that a replication controller cannot*

* **Rollout updates**. A deployment can be used to roll out updates to a running application in a controlled manner. This can be done using a rolling update, blue-green deployment, or canary deployment.
    
* **Rollback updates**. If an update to an application fails, a deployment can be used to roll back to the previous version of the application.
    
* **Monitor the health of the application**. A deployment can be used to monitor the health of the application and to automatically restart pods that are not healthy.
    
* **Scale the application**. A deployment can be used to scale the application up or down based on demand.
    
* **Configure the application's environment**. A deployment can be used to configure the application's environment, such as the amount of memory and CPU that is available to the application.
    
* **Deploy the application to multiple clusters**. A deployment can be used to deploy the application to multiple clusters.
