Веб сервис: WCF или ASP.NET MVC?
Всё зависит от проекта и области применения. 
В общем случае, варианты архитектуры могут выглядить вот так:[ASP.NET MVC]  <->   [ASP.NET WebAPI]    <->   [WCF SERVER]    <->    [DATABASE]
Данная связка рекомендуется для серьезных, высоконагруженных и кроссплатформенных проектов с серьезными требованиями безопасности. WebAPI (фактически, это будет прокси для WCF SERVER'a) и MVC могут крутиться на одном и том же IIS сервере. WCF SERVER же лучше держать отдельным сервисом либо на той же машине, либо отдельно. [ASP.NET MVC]  <->   [WCF SERVER]    <->    [DATABASE]
WebAPI слой можно убрать, если сервис больше рассчитан на внутреннее использование, где кроссплатформенность не нужна и у WCF SERVER'а ожидается много разных клиентов.[ASP.NET MVC]  <->   [ASP.NET WebAPI]   <->    [DATABASE]
Такая архитектура годится для 99% интернет стартапов. Самая простая и быстрая в разработке, при этом не сильно уступающая более сложным вариантам, описанным выше. А с выходом MVC 6 исчезнет необходимость крутить такой сервер на IIS'e и позволит запускать его на Linux. 
Скорее всего вам больше подходит последний вариант.
А зачем вам ASP.NET MVC, когда ASP.NET WebAPI без него может работать? WebAPI можно использовать для своего api. Видимо, ASP.NET MVC здесь вообще лишний, ведь он для UI. Здесь более о вашей архитектуре вопрос. Видимо, должно быть так. Внутри ваша модель обернутая в сервис модели. Этот сервис работает с БД. Потом к этому же сервису прицепляете ваш внешний сервис для работы с ответами на внешние запросы и для вызовов внешних сервисов. В общем, обычная архитектура, но без UI/UX слоя.