Architecturally .NET is very much similar to JAVA, except that the core framework only runs on windows or other Microsoft supported platforms. However the .NET framework and Application Server (IIS) is not open. One will not have the flexibility to add custom modules as easily as in case of LAMP, JAVA, or MONO. Most consumers and developers find this monopolistic and are always cautious while choosing this framework.