We want to load test a web application for 550 users using VS 2013 ultimate.
A machine is a high-end machine with 32GB RAM and 6 cores processor. Is one machine enough for a load test of 550 users? or do I need to go for distributed load?

The number of virtual users that one agent can support depends upon several things, but they amount to how much CPU and memory each user uses. Things that contribute include:

Number of requests in the web test

Duration of web test

Number and complexity of extraction and verification rules, also of plugins

Some of the data recorded for each run of a web test is held in RAM until the web test completes. All this data adds up so the RAM may become exhausted with too many users on an agent.

Microsoft have published a guide to how many users an agent can support. It appears that the latest version of this guide has the same values as published in 2012. The recommendation is that a single 2.6GHz CPU with 2GB memory can support up to 500 users and a dual processor 2.6GHz CPU with 2GB memory can support up to 1000 users. Your 6 cores and 32GB memory should be ample.

Remember to specify Run tests in 64 bit process on 64 bit machine in the Hosts section of the active ".testsettings" for the test run.