One is the tech infrastructure provider. They're keeping the corporate customers but now also going after consumer-facing tech and startups. To do the latter, they've finally had to shed their dogma and go where the devs are. OSS, platform-agnostic, this is the MS of .NET Core, VSCode, and family. There's good people working here, and they'll make Azure make heaps of money.
The other Microsoft does "platforms". They've had a lock on corporate for a long time, though no one enjoyed it. Now they want to expand their brand and their lock-in into the personal lives of upper-class knowledge workers, challenging Apple by being the "serious" to Apple's luxury-hipster positioning, and challenging Google by being coherent and playing a long game.
The first Microsoft knows that the second is no place for their audience, so they're in a hurry to separate themselves and their wares from the platform-provider. It's not just .NET Core and VSCode, there's a ton of smaller projects all moving in the same direction. Sql Operations Studio, Sql Server for Linux, Blazor, x-plat Azure tooling, x-plat Powershell, opensourcing MSBuild, it's comprehensive.
I wish they'd just split and become two separate companies.