On premise deployment is something that Adobe would charge up to $200k. if you learn how to do it your self that would be such a big saving.
By default, all services are installed on all servers, it is disabling/enabling those services that makes the distributed architecture, this is done through the config-yourinstance.xml files- i.e.
For the following example you can have the marketing server forward email to be processed by the MTAs in the frontal servers.
markerting / config-marketing1.xml
<?xml version='1.0'?>
<serverconf>
<shared>
<dataStore hosts="*" lang="en_GB">
<dataSource name="default">
<dbcnx encrypted="1" login="xxx:xxx" password="xxx" provider="mssql" server="xxx,1434" />
</dataSource>
</dataStore>
<module defaultNameSpace="xxx" />
</shared>
<mta autoStart="false">
<child>
<smtp />
</child>
</mta>
<stat autoStart="true" />
<wfserver autoStart="true" />
<inMail autoStart="true" />
<sms autoStart="true" />
<web>
<relay />
</web>
</serverconf>
frontal1 / config-marketing1.xml
<?xml version='1.0'?>
<serverconf>
<shared>
<dataStore hosts=localhost" lang="en-GB">
<dataSource name="default">
<dbcnx encrypted="1" login="xx:xx" password="xx" provider="mssql" server="xxx,1434" />
</dataSource>
</dataStore>
<module defaultNameSpace="xxx" />
</shared>
<mta autoStart="true" statServerAddress="marketing (IP or DNS here)">
<child>
<smtp>
<IPAffinity localDomain="xxx" name="newsandbatch">
<IP address="xxx" heloHost="xxx" publicId="8" weight="5" />
<IP address="xxx" heloHost="xxx" publicId="9" weight="3" />
</IPAffinity>
<IPAffinity localDomain="xxx" name="newsandbatch_sms">
<IP address="xxx" heloHost="xxx" publicId="164" weight="1" />
</IPAffinity>
</smtp>
</child>
</mta>
<stat autoStart="false" />
<wfserver autoStart="false" />
<inMail autoStart="false" />
<sms autoStart="false" />
<web>
<redirection databaseId="xxx" trackingPassword="xxx" />
</web>
</serverconf>
The config-xxx.xml files are generated automatically when you setup tracking/redirection on the control instances.