Tag Archives: indicate

Hyper-V Virtual CPUs Explained

Did your software vendor indicate that you can virtualize their application, but only if you dedicate one or more CPU cores to it? Not clear on what happens when you assign CPUs to a virtual machine? You are far from alone.

Note: This article was originally published in February 2014. It has been fully updated to be relevant as of November 2019.

Introduction to Virtual CPUs

Like all other virtual machine “hardware”, virtual CPUs do not exist. The hypervisor uses the physical host’s real CPUs to create virtual constructs to present to virtual machines. The hypervisor controls access to the real CPUs just as it controls access to all other hardware.

Hyper-V Never Assigns Physical Processors to Specific Virtual Machines

Make sure that you understand this section before moving on. Assigning 2 vCPUs to a system does not mean that Hyper-V plucks two cores out of the physical pool and permanently marries them to your virtual machine. You cannot assign a physical core to a VM at all. So, does this mean that you just can’t meet that vendor request to dedicate a core or two? Well, not exactly. More on that toward the end.

Understanding Operating System Processor Scheduling

Let’s kick this off by looking at how CPUs are used in regular Windows. Here’s a shot of my Task Manager screen:

Task Manager

Task Manager

Nothing fancy, right? Looks familiar, doesn’t it?

Now, back when computers never, or almost never, shipped as multi-CPU multi-core boxes, we all knew that computers couldn’t really multitask. They had one CPU and one core, so there was only one possible active thread of execution. But aside from the fancy graphical updates, Task Manager then looked pretty much like Task Manager now. You had a long list of running processes, each with a metric indicating what percentage of the CPUs time it was using.

Then, as in now, each line item you see represents a process (or, new in the recent Task Manager versions, a process group). A process consists of one or more threads. A thread is nothing more than a sequence of CPU instructions (keyword: sequence).

What happens is that (in Windows, this started in 95 and NT) the operating system stops a running thread, preserves its state, and then starts another thread. After a bit of time, it repeats those operations for the next thread. We call this pre-emptive, meaning that the operating system decides when to suspend the current thread and switch to another. You can set priorities that affect how a process rates, but the OS is in charge of thread scheduling.

Today, almost all computers have multiple cores, so Windows can truly multi-task.

Taking These Concepts to the Hypervisor

Because of its role as a thread manager, Windows can be called a “supervisor” (very old terminology that you really never see anymore): a system that manages processes that are made up of threads. Hyper-V is a hypervisor: a system that manages supervisors that manage processes that are made up of threads.

Task Manager doesn’t work the same way for Hyper-V, but the same thing is going on. There is a list of partitions, and inside those partitions are processes and threads. The thread scheduler works pretty much the same way, something like this:

Hypervisor Thread Scheduling

Hypervisor Thread Scheduling

Of course, a real system will always have more than nine threads running. The thread scheduler will place them all into a queue.

What About Processor Affinity?

You probably know that you can affinitize threads in Windows so that they always run on a particular core or set of cores. You cannot do that in Hyper-V. Doing so would have questionable value anyway; dedicating a thread to a core is not the same thing as dedicating a core to a thread, which is what many people really want to try to do. You can’t prevent a core from running other threads in the Windows world or the Hyper-V world.

How Does Thread Scheduling Work?

The simplest answer is that Hyper-V makes the decision at the hypervisor level. It doesn’t really let the guests have any input. Guest operating systems schedule the threads from the processes that they own. When they choose a thread to run, they send it to a virtual CPU. Hyper-V takes it from there.

The image that I presented above is necessarily an oversimplification, as it’s not simple first-in-first-out. NUMA plays a role, for instance. Really understanding this topic requires a fairly deep dive into some complex ideas. Few administrators require that level of depth, and exploring it here would take this article far afield.

The first thing that matters: affinity aside, you never know where any given thread will execute. A thread that was paused to yield CPU time to another thread may very well be assigned to another core when it is resumed. Did you ever wonder why an application consumes right at 50% of a dual-core system and each core looks like it’s running at 50% usage? That behavior indicates a single-threaded application. Each time the scheduler executes it, it consumes 100% of the core that it lands on. The next time it runs, it stays on the same core or goes to the other core. Whichever core the scheduler assigns it to, it consumes 100%. When Task Manager aggregates its performance for display, that’s an even 50% utilization — the app uses 100% of 50% of the system’s capacity. Since the core not running the app remains mostly idle while the other core tops out, they cumulatively amount to 50% utilization for the measured time period. With the capabilities of newer versions of Task Manager, you can now instruct it to show the separate cores individually, which makes this behavior far more apparent.

Now we can move on to a look at the number of vCPUs assigned to a system and priority.

What Does the Number of vCPUs Assigned to a VM Really Mean?

You should first notice that you can’t assign more vCPUs to a virtual machine than you have logical processors in your host.

Invalid CPU Count

Invalid CPU Count

So, a virtual machine’s vCPU count means this: the maximum number of threads that the VM can run at any given moment. I can’t set the virtual machine from the screenshot to have more than two vCPUs because the host only has two logical processors. Therefore, there is nowhere for a third thread to be scheduled. But, if I had a 24-core system and left this VM at 2 vCPUs, then it would only ever send a maximum of two threads to Hyper-V for scheduling. The virtual machine’s thread scheduler (the supervisor) will keep its other threads in a queue, waiting for their turn.

But Can’t I Assign More Total vCPUs to all VMs than Physical Cores?

Yes, the total number of vCPUs across all virtual machines can exceed the number of physical cores in the host. It’s no different than the fact that I’ve got 40+ processes “running” on my dual-core laptop right now. I can only run two threads at a time, but I will always far more than two threads scheduled. Windows has been doing this for a very long time now, and Windows is so good at it (usually) that most people never see a need to think through what’s going on. Your VMs (supervisors) will bubble up threads to run and Hyper-V (hypervisor) will schedule them the way (mostly) that Windows has been scheduling them ever since it outgrew cooperative scheduling in Windows 3.x.

What’s The Proper Ratio of vCPU to pCPU/Cores?

This is the question that’s on everyone’s mind. I’ll tell you straight: in the generic sense, this question has no answer.

Sure, way back when, people said 1:1. Some people still say that today. And you know, you can do it. It’s wasteful, but you can do it. I could run my current desktop configuration on a quad 16 core server and I’d never get any contention. But, I probably wouldn’t see much performance difference. Why? Because almost all my threads sit idle almost all the time. If something needs 0% CPU time, what does giving it its own core do? Nothing, that’s what.

Later, the answer was upgraded to 8 vCPUs per 1 physical core. OK, sure, good.

Then it became 12.

And then the recommendations went away.

They went away because no one really has any idea. The scheduler will evenly distribute threads across the available cores. So then, the amount of physical CPUs needed doesn’t depend on how many virtual CPUs there are. It depends entirely on what the operating threads need. And, even if you’ve got a bunch of heavy threads going, that doesn’t mean their systems will die as they get pre-empted by other heavy threads. The necessary vCPU/pCPU ratio depends entirely on the CPU load profile and your tolerance for latency. Multiple heavy loads require a low ratio. A few heavy loads work well with a medium ratio. Light loads can run on a high ratio system.

I’m going to let you in on a dirty little secret about CPUs: Every single time a thread runs, no matter what it is, it drives the CPU at 100% (power-throttling changes the clock speed, not workload saturation). The CPU is a binary device; it’s either processing or it isn’t. When your performance metric tools show you that 100% or 20% or 50% or whatever number, they calculate it from a time measurement. If you see 100%, that means that the CPU was processing during the entire measured span of time. 20% means it was running a process 1/5th of the time and 4/5th of the time it was idle. This means that a single thread doesn’t consume 100% of the CPU, because Windows/Hyper-V will pre-empt it when it wants to run another thread. You can have multiple “100%” CPU threads running on the same system. Even so, a system can only act responsively when it has some idle time, meaning that most threads will simply let their time slice go by. That allows other threads to access cores more quickly. When you have multiple threads always queuing for active CPU time, the overall system becomes less responsive because threads must wait. Using additional cores will address this concern as it spreads the workload out.

The upshot: if you want to know how many physical cores you need, then you need to know the performance profile of your actual workload. If you don’t know, then start from the earlier 8:1 or 12:1 recommendations.

Altaro Dojo Forums
forums logo

Connect with fellow IT pros and master Hyper-V

Moderated by Microsoft MVPs

What About Reserve and Weighting (Priority)?

I don’t recommend that you tinker with CPU settings unless you have a CPU contention problem to solve. Let the thread scheduler do its job. Just like setting CPU priorities on threads in Windows can cause more problems than they solve, fiddling with hypervisor vCPU settings can make everything worse.

Let’s look at the config screen:

vCPU Settings

vCPU Settings

The first group of boxes is the reserve. The first box represents the percentage of its allowed number of vCPUs to set aside. Its actual meaning depends on the number of vCPUs assigned to the VM. The second box, the grayed-out one, shows the total percentage of host resources that Hyper-V will set aside for this VM. In this case, I have a 2 vCPU system on a dual-core host, so the two boxes will be the same. If I set 10 percent reserve, that’s 10 percent of the total physical resources. If I drop the allocation down to 1 vCPU, then 10 percent reserve becomes 5 percent physical. The second box, will be auto-calculated as you adjust the first box.

The reserve is a hard minimum… sort of. If the total of all reserve settings of all virtual machines on a given host exceeds 100%, then at least one virtual machine won’t start. But, if a VM’s reserve is 0%, then it doesn’t count toward the 100% at all (seems pretty obvious, but you never know). But, if a VM with a 20% reserve is sitting idle, then other processes are allowed to use up to 100% of the available processor power… until such time as the VM with the reserve starts up. Then, once the CPU capacity is available, the reserved VM will be able to dominate up to 20% of the total computing power. Because time slices are so short, it’s effectively like it always has 20% available, but it does have to wait like everyone else.

So, that vendor that wants a dedicated CPU? If you really want to honor their wishes, this is how you do it. You enter whatever number in the top box that makes the second box show the equivalent processor power of however many pCPUs/cores the vendor thinks they need. If they want one whole CPU and you have a quad-core host, then make the second box show 25%. Do you really have to? Well, I don’t know. Their software probably doesn’t need that kind of power, but if they can kick you off support for not listening to them, well… don’t get me in the middle of that. The real reason virtualization densities never hit what the hypervisor manufacturers say they can do is because of software vendors’ arbitrary rules, but that’s a rant for another day.

The next two boxes are the limit. Now that you understand the reserve, you can understand the limit. It’s a resource cap. It keeps a greedy VM’s hands out of the cookie jar. The two boxes work together in the same way as the reserve boxes.

The final box is the priority weight. As indicated, this is relative. Every VM set to 100 (the default) has the same pull with the scheduler, but they’re all beneath all the VMs that have 200 and above all the VMs that have 50, so on and so forth. If you’re going to tinker, weight is safer than fiddling with reserves because you can’t ever prevent a VM from starting by changing relative weights. What the weight means is that when a bunch of VMs present threads to the hypervisor thread scheduler at once, the higher-weighted VMs go first.

But What About Hyper-Threading?

Hyper-Threading allows a single core to operate two threads at once — sort of. The core can only actively run one of the threads at a time, but if that thread stalls while waiting for an external resource, then the core operates the other thread. You can read a more detailed explanation below in the comments section, from contributor Jordan. AMD has recently added a similar technology.

To kill one major misconception: Hyper-Threading does not double the core’s performance ability. Synthetic benchmarks show a high-water mark of a 25% improvement. More realistic measurements show closer to a 10% boost. An 8-core Hyper-Threaded system does not perform as well as a 16-core non-Hyper-Threaded system. It might perform almost as well as a 9-core system.

With the so-called “classic” scheduler, Hyper-V places threads on the next available core as described above. With the core scheduler, introduced in Hyper-V 2016, Hyper-V now prevents threads owned by different virtual machines from running side-by-side on the same core. It will, however, continue to pre-empt one virtual machine’s threads in favor of another’s. We have an article that deals with the core scheduler.

Making Sense of Everything

I know this is a lot of information. Most people come here wanting to know how many vCPUs to assign to a VM or how many total vCPUs to run on a single system.

Personally, I assign 2 vCPUs to every VM to start. That gives it at least two places to run threads, which gives it responsiveness. On a dual-processor system, it also ensures that the VM automatically has a presence on both NUMA nodes. I do not assign more vCPU to a VM until I know that it needs it (or an application vendor demands it).

As for the ratio of vCPU to pCPU, that works mostly the same way. There is no formula or magic knowledge that you can simply apply. If you plan to virtualize existing workloads, then measure their current CPU utilization and tally it up; that will tell you what you need to know. Microsoft’s Assessment and Planning Toolkit might help you. Otherwise, you simply add resources and monitor usage. If your hardware cannot handle your workload, then you need to scale out.


Go to Original Article
Author: Eric Siron

World’s most powerful console, Xbox One X, launches worldwide – News Center

Record preorder sales indicate high demand this holiday season

An Xbox fan celebrates being the first to purchase the new Xbox One X console at the flagship Microsoft Store on Fifth Ave. on Monday, Nov. 6th, 2017, in New York City
An Xbox fan celebrates being the first to purchase the new Xbox One X console at the flagship Microsoft Store on Fifth Ave. on Monday, Nov. 6th, 2017, in New York City. (Photo by Mark Von Holden/Invision for Microsoft/AP Images)

REDMOND, Wash. — Nov. 6, 2017 — The official launch of the world’s most powerful console, Xbox One X, brings a new era of immersive 4K gaming and 4K entertainment to gamers across the globe. With 40 percent more power than any other console, Xbox One X is where console gamers can play the best versions of games. The new console launches with the largest games lineup in Xbox history, with more than 70 Xbox One X Enhanced titles coming in the first week and more than 50 available on launch day, including “Forza Motorsport 7,” “Super Lucky’s Tale,” “Assassin’s Creed Origins,” “Middle-earth: Shadow of War,” and “FIFA 18.” The Xbox One games library consists of more than 1,300 games and more than 220 exclusives, all of which play best on Xbox One X. More titles are on the way like the hottest game on the planet “PlayerUnknown’s Battlegrounds,” releasing as an Xbox One console launch exclusive Dec. 12, 2017.

“We built Xbox One X to give game creators the most powerful platform to bring their visions to life and to give gamers the best console to play the games of the past, present and future,” said Phil Spencer, head of gaming, Microsoft Corp. “We’re excited to offer gamers the world’s most powerful console with access to the largest games lineup in Xbox history — more than 1,300 titles and more than 220 exclusives.”

Microsoft saw incredibly strong preorder sales of Xbox One X, and expects the new console to be in high demand this holiday season. Gaming fans worldwide are encouraged to get the new console early before quantities run out.

The biggest global launch in Xbox history — now available in 35 markets

Across the world, fans flocked to special Xbox events to celebrate the highly anticipated launch of Xbox One X. Launch festivities were captured in a live broadcast from the Mixer NYC Studio on Mixer, Xbox.com, Twitch and Facebook Live, with key highlights including these:

  • Inspired by the new Xbox racing game “Forza Motorsport 7,” the world’s first Xbox One X was hand-delivered in New Zealand via the fastest supercar in the country.
  • In Australia, Xbox opened the doors to the Xbox Stay N’ Play, a boutique, gaming-themed experience situated in front of the iconic Sydney skyline in Pirrama Park.
  • In Germany, Xbox set a new world record for the “World’s Largest Unboxing” after unboxing a giant Xbox One X in the Munich International Airport, and celebrated the launch with more than 700 fans in front of Berlin’s largest 4K theater screen.
  • In the U.K., some of the country’s biggest content creators and special guests were featured in an extended 14-hour Xbox livestream hosted at the Xbox One X Apartment in London.
  • In France, thousands of fans tuned into an eight-hour Mixer livestream, which highlighted the various Xbox One X launch activities taking place in Paris, including the midnight opening at Fnac Champs Elysées.
  • In Mexico City, hundreds of fans attended an Xbox One X midnight madness event hosted with Game Planet to celebrate the official launch of the highly anticipated console in Mexico.
  • In collaboration with Canadian designer and artist Brian Espiritu, Xbox designed custom Xbox One X consoles inspired by the city of Toronto to give away to five lucky Xbox fans.
  • In the lead up to launch, Xbox Live Sessions, an interactive, fan-focused livestream on Mixer, hosted celebrities including Chris Evans, James Corden, DJ Khaled, Chandler Riggs, and more to play their favorite games on Xbox One X. In addition, 16 years after helping Bill Gates introduce the original Xbox, Dwayne “The Rock” Johnson surprised three Make-A-Wish kids with their own custom consoles before the official Xbox One X launch.
  • At Microsoft Stores, including the flagship Microsoft Store on Fifth Avenue in New York, and other retailers worldwide, eager fans lined up more than 24 hours in advance of the console’s release to be among the first to get their hands on Xbox One X before it sells out worldwide. Shaquille O’Neal, Liam Payne, Ronda Rousey, Odell Beckham Jr., and Caleb McLaughlin made special appearances to surprise fans throughout the launch event at the Microsoft Store in New York.

Similar spectacular celebrations took place in additional Xbox One markets. Xbox One X is available now in 35 markets worldwide, including Australia, Austria, Belgium, Canada, China, Czech Republic, Denmark, Finland, France, Germany, Greece, Hong Kong, Hungary, Ireland, Israel, Italy, Japan, Korea, Mexico, Netherlands, New Zealand, Norway, Poland, Portugal, Russia, Saudi Arabia, Slovakia, Spain, Sweden, Switzerland, Taiwan, Turkey, UAE, UK, and U.S.

The power of Xbox One X

Xbox One X is built for true 4K gaming, with enough power to drive native 4K resolutions, High Dynamic Range and Wide Color Gamut into a pristine visual package beyond what’s capable in existing consoles. Existing Xbox One games play even better, with improved textures, smoother frame rates and faster load times, even on a 1080p TV. Xbox One X is also the only product in the world that packs all of the following features in one amazing device: 4K gaming for the world’s greatest games, a built-in 4K Ultra HD Blu-ray player, 4K streaming capabilities, High Dynamic Range support for gaming and video, and premium audio that puts gamers in the center of spatial sound with Dolby Atmos support. The craftsmanship in the Xbox One X hardware means it’s not only the world’s most powerful console, it’s also the smallest and most feature-rich Xbox ever.

 Xbox One X Enhanced

Today, with the launch of Xbox One X, more than 50 popular Xbox One games are receiving free updates as part of the Xbox One X Enhanced program, with more than 70 total coming in the first week. Xbox One X Enhanced games have been updated or built specifically to take full advantage of the world’s most powerful console and its 4K UHD and HDR capabilities. More than 160 new and existing games will be enhanced for Xbox One X to take advantage of its full power, including “Forza Motorsport 7,” “Super Lucky’s Tale,” “Middle-earth: Shadow of War,” “Assassin’s Creed Origins,” “Halo Wars 2,” “Gears of War 4,” “Halo 5: Guardians,” “Minecraft,” “FIFA 18,” “Final Fantasy XV” and “Star Wars Battlefront II,” with more titles on the way like “PlayerUnknown’s Battlegrounds,” releasing Dec. 12, 2017, as a console launch exclusive through the Xbox Game Preview program. More information on the Xbox One X Enhanced program can be found by visiting https://www.xbox.com/enhanced.

Xbox One family of devices

Xbox One X is the newest member of the Xbox One family of devices, which will coexist alongside Xbox One S. Only on Xbox One can gamers experience the best games of the past, present and future, with more than 1,300 Xbox One games and more than 220 exclusives playable across the entire Xbox One family of devices. Furthermore, all Xbox One accessories are also compatible across the family.

Whether playing on Xbox One X or Xbox One S, gamers are treated to gaming features exclusive to the Xbox platform:

  • Xbox Live, the fastest, most reliable gaming network1.
  • 4K UHD Blu-ray, 4K streaming and 4K gaming
  • Xbox Game Pass, a monthly membership that provides unlimited access to more than 100 games.

 How to get an Xbox One X

Xbox One X is available in 35 Xbox One markets and retails at US$499, £449, €499, C$599 and A$6492, with additional markets launching soon. The latest on where to buy Xbox One X can be found at xbox.com/xboxonex. Local retailers, including Microsoft Store, also have more information.

 Microsoft (Nasdaq “MSFT” @microsoft) is the leading platform and productivity company for the mobile-first, cloud-first world, and its mission is to empower every person and every organization on the planet to achieve more.

1 Independent IHS Markit study, June/July 2017. Tested on Xbox One versus PlayStation 4 on five of the top- selling games with matchmaking; results may vary, not an endorsement.

2 Prices are estimated retail prices; actual retail prices may vary.

 For more information, press only:

[email protected]

More details about Xbox One, Xbox One games and the latest Xbox news can be found at https://news.xbox.com.

Press releases and media assets can be found at https://news.xbox.com/media (and relevant content can be found by clicking on Select Category).

Note to editors: For more information, news and perspectives from Microsoft, please visit the Microsoft News Center at https://news.microsoft.com. Web links, telephone numbers and titles were correct at time of publication, but may have changed. For additional assistance, journalists and analysts may contact Microsoft’s Rapid Response Team or other appropriate contacts listed at https://news.microsoft.com/microsoft-public-relations-contacts.

PowerShell Core’s march ahead gives pause for IT admins

Microsoft’s roadmap plans for PowerShell indicate the Windows version won’t be along for the ride.

A production version of Microsoft’s open source PowerShell automation and configuration management tool, PowerShell Core 6.0, will arrive by the end of 2017, Joey Aiello, program manager at Microsoft, wrote in a blog post last month. Microsoft will continue to support Windows PowerShell 5.1, but only to supply critical fixes, with no expectation for big feature updates or lower-priority fixes.  

In short, PowerShell users who want function upgrades must switch from Windows PowerShell to PowerShell Core, even though it’s missing some features, such as PowerShell Workflow. And with few details on an expiration date, some wonder if this is the end of the road for Windows PowerShell.

“Microsoft specifically said PowerShell Core is not going to replace Windows PowerShell — yet,” said Wes Miller, research analyst at Directions on Microsoft. “PowerShell Core is a separate effort, and Microsoft will be working to shore it up. In the meantime, Windows PowerShell stays and keeps working the way we expect it to.”

Open source switch brings seismic shifts

In August 2016, Microsoft open-sourced PowerShell — its venerable automation and configuration management tool — and made it available on Linux and macOS; though, the company reaffirmed its commitment to Windows at the same time. The move stunned many longtime Microsoft observers, who witnessed PowerShell’s debut as a curiosity in 2006 then blossom into an integral management tool for Windows Server, Microsoft Azure and the Office 365 productivity platform.

Jeffrey Snover, technical fellow at Microsoft, built PowerShell to bring Unix command-line functionality to Windows, but with key enhancements. Instead of unstructured text, PowerShell works with objects and uses a series of commands called cmdlets to build scripts that handle various administrative jobs.

“PowerShell represents Snover’s vision for what a better Linux shell would look like. He just happened to implement it on Windows first because he worked for Microsoft,” said Don Jones, a PowerShell expert and president of PowerShell.org.

Microsoft has recently made a number of unpopular moves in the server space, including a switch to the rollup servicing model, cancelled Server Management Tools service in Azure and reduced feature set in Windows Server 2016’s Nano Server. But administrators who rely on Windows PowerShell have no cause for concern.

“[Windows PowerShell] still has a ton of capabilities that PowerShell Core doesn’t have — might never have — simply because the need to manage Exchange Server is not something you would ever need on Linux,” Jones said. “I think Windows PowerShell still has a strong life.”

Why the cloud paved the way for PowerShell Core

At a recent PowerShell User Group meeting in Boston, Snover said Windows PowerShell achieved its purpose as a complete Windows scripting tool with the 5.1 release. Administrators use it to manage most devices in the data center because it’s widely supported by Microsoft’s partners.

“If you look at the on-premises data center infrastructure — the traditional server, storage array, network switch, virtualization infrastructure — PowerShell is the lingua franca for that space,” said Paul Delory, research director at Gartner.

As virtualization matured and the use of monolithic servers began to fade, IT departments maximized their server hardware investment to run multiple workloads — some with a relatively short lifecycle — and they used PowerShell scripts to handle much of the tedious deployment work.

“You can configure one server with a GUI, but if you’re building 50 servers — or you want servers to be spun up and spun down on demand — this is something that has to be automated,” Delory said.

It’s no coincidence that work on PowerShell ramped up as Microsoft expanded the Azure cloud platform. The company uses PowerShell extensively to manage its cloud and developed newer features such as classes and Desired State Configuration to automate administrative work. The forthcoming Azure Stack appliance contains more than 250,000 lines of PowerShell code to deploy, maintain and secure the system.

“Azure runs a ton of Linux workloads. The ability to run PowerShell inside all the guest operating systems is powerful from the Azure management perspective,” Jones said.

We want PowerShell to be the connector of the hybrid cloud.
Jeffrey Snovertechnical fellow at Microsoft

With a change in focus to PowerShell Core, Microsoft combined its PowerShell team with its Azure Automation and Operations Management Suite team to devote more personnel to the cross-platform project and other areas that PowerShell touches, such as Azure and various applications and services. Microsoft’s goal is to build a comprehensive management platform for users on different operating systems to control their entire infrastructure.

“We want PowerShell to be the connector of the hybrid cloud,” Snover said. “We want to be able to use PowerShell from any client to manage any server running in any cloud, or on premises using any hypervisor, storage stack and networking stack.”

Suspicions linger around the ‘new’ Microsoft

Microsoft surprised many IT veterans with a stream of other open-source-friendly disclosures in 2016. The company discussed plans for a Linux version of its SQL Server database application, it added the Linux Subsystem for Windows to Windows 10 and it joined the Linux Foundation at the Platinum level. But gradual changes to Linux, such as exposing more services through APIs and returning structured objects, have brought it closer to how Windows operates, which might weaken resistance to PowerShell Core.

“As more and more of the Linux world produces APIs and structured documents, PowerShell becomes a stronger shell for them,” Snover said.

But many in the open source community can’t embrace Microsoft’s about-face from a proprietary software vendor to a company that writes blogs entitled “Microsoft loves Linux.”

“It’s a bit of a paradigm shift, but at the same time, it’s just Microsoft trying make this more about its services in the cloud and its management infrastructure down below. Is it going to be enough to win over everybody who’s still scared of Microsoft? Absolutely not,” Miller said.