I was asked whether I've ever "deployed to a physical machine" and I'm seeing this terminology when googling, but not getting a definition. What does it mean? What other way could someone deploy an application if not to a physical machine?

  • 5
    You could deploy it to a virtual machine. – Jordão May 25 '13 at 2:42

The term physical machine referrers to an independent server or real physical computer, and the other term is virtual machine which is a simulated computer running in another computer (often beside other simulations).

The difference for deployment can vary.

  • A virtual machine can be snapshot and rolled back.
  • A physical machine can be hard reset.
  • The setup of a virtual machine is configurable.
  • Changing a physical machine's setup requires hardware changes.

There are many more, but you get the idea.

  • Target could also be an emulator - which isn't necessarily a full VM and is potentially even less like "real" hardware. – Murph May 25 '13 at 12:23
  • @Mathew He mentioned EC2 and Heroku as examples of physical machines. What are examples of the other types- would Apache and Nginx fit under that or am I thinking of something else? – Mastid May 26 '13 at 0:57
  • He was wrong to refer to EC2 and Heroku as physical machines. Those are cloud networks and most cloud networks are a collection of virtual machines. Apache and Nginx are software programs known as web servers. – Reactgular May 26 '13 at 1:07
  • @Mathew I'm probably missing some basic information but hopefully some of the following questions make sense. When building a web application from start to finish, when would someone deploy to a physical machine and when would someone deploy to a virtual machine? Or does it vary? If none of those examples are of physical machines, is there a widely used solution for providing physical machines that I can look into? Are physical machines not the same as physical servers- if they are, wouldn't a "web server" have to fit into either the category of physical server or of virtual server? – Mastid May 26 '13 at 1:47

This usually translates to 'have you deployed to production servers' which in itself usually means

"Have you pushed stuff 'over the wire' to servers outside of the organization which are used in production mode?

It's frequently seeing if you have any ops experience as well as development.

  • But then again many "production servers" are not in fact "physical machines". I know of quite a few big companies that use VMs exclusively (i.e. the only thing that runs on the physical hardware is the hypervisor). – Joachim Sauer May 27 '13 at 12:29
  • Yes, that's a great point. Note: Perhaps this comment was meant for Matthew's answer more than mine as he mentions physical servers and I don't, I just say 'production server' and that can be a physical one or a vm in the cloud :) – Michael Durrant May 27 '13 at 19:14

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.