В основном, очередностью "выхода в массы". Исторически, понятие SOA постулировали применительно к решению задач в области информационных систем масштаба предприятия. Потом стало очевидно, что те же самые принципы иногда весьма полезны и при проектировании архитектуры отдельных приложений. Ирония состоит в том, что основные идеи SOA тоже не с неба свалились, а были унаследованы с "микро уровня" (те же I2C и пр., придуманные задолго до того). Короче, говорят, что MS, это просто правильно сделанная SOA.
Ну, а по сути, оба варианта говорят об одном и том же, только с разных сторон. SOA предлагает принципы интегрирования готовых частей в систему, а MS учит, как проектировать эти части, чтоб они лучше интегрировались в SOA... И все это, разумеется, с т.з. нефункциональных требований, как то масштабируемость, отказоустойчивость, сопровождаемость и далее по списку из ISO/IEC 25010.
Почитать, например:
martinfowler.com/articles/microservices.html
amzn.com/1491950358