What are the recommended steps for creating scalable web/enterprise applications in Java and .NET? I’m more interested in what it takes to go from a low volume app to a high volume one (assuming no major faults in the original architecture). For example, what are the options in each platform for clustering, load-balancing, session management, caching, and so on.
What are the recommended steps for creating scalable web/enterprise applications in Java and .NET?
Share
Unfortunately there are a lot of aspects of your question that are going to be context dependant. Scalability can mean different things depending on your requirements and the application. The questions that need answering as you come up with your architecture (regardless of the technology you are using) include:
There are many other questions like this that need to be answered about your specific application before a proper discussion on your application architecture can take place.
However so I don’t just leave you questions and not a single answer here is what I think is the single most important thing to take into account when designing a web application for scalability: Reduce (down to zero if possible) the amount of shared session state in your application (global application counters, cached primary key blocks and the like). Replicating shared state across a cluster has a very high cost, when you are trying to scale up