<p>After far as I know: </p>

<ul>
<li>deploymentconfig &rarr; replicationcontroller &rarr; pod</li>
</ul>

<p>vs.</p>

<ul>
<li>deployment &rarr; replicaset &rarr; pod</li>
</ul>

<p>Otherwise, do these two resources have additional differences?</p>

<p>The more detail the better.</p>

<p>A <a href="https://docs.openshift.com/container-platform/3.9/dev_guide/deployments/how_deployments_work.html" rel="noreferrer">DeploymentConfig</a> (DC) in OpenShift is more or less equivalent to a Kubernetes <code>Deployment</code>, nowadays. Main difference (besides that one is using <code>ReplicationController</code> and the other using <code>ReplicaSet</code> as you rightly pointed out) is that         </p>

<ol>
<li><p>there are a few things you can do with a <code>DeploymentConfig</code> (around triggers) that you can't do with a <code>Deployment</code>. </p></li>
<li><p><code>DeploymentConfig</code>'s are first-class citizens in the Web console.</p></li>
</ol>

<p>The reason <code>DeploymentConfig</code>'s exist is because we (Red Hat) are innovating. In other words: <code>DeploymentConfig</code>'s predate <code>Deployment</code>'s and while we're always trying to propose these innovations upstream, they are not always accepted by the community as is. For example, in the case of RBAC, the stuff we had in OpenShift was accepted upstream and that's why you have the same RBAC resources etc. now in OpenShift and Kubernetes. With <code>DeploymentConfig</code>'s that was not the case. Over time one would expect that <code>DeploymentConfig</code>'s are phased out in favor of <code>Deployment</code>'s but I can't give you a timeline. If portability is your primary concern, I'd say, use <code>Deployment</code>'s.</p>
