ASP.NET 2.0 application across three physical servers?

Discussion in 'ASP .Net' started by tobin@tobinharris.com, Feb 13, 2007.

  1. Guest

    Hi folks,

    We're looking for a CMS system for our organisation, and we're picking
    potential solutions.

    We need something that is scalable cause we're a growing company, so
    there's potentially 2000+ simultaneous users.

    It's been recommended that we favour applications which can be
    separated into three separate physical tiers (web server, application
    server, and sql server). The justification being that it's very
    expensive to add additional application servers just because you're
    web traffic increases.

    In my experience, I've never seen anyone deploy a typcial ASP.NET web
    site in this way, where there is a separate application server.
    Instead, I've seen IIS and the .NET App always live on the same
    machine, possibly in a load balanced cluster etc (see below).

    Small Scale
    =========
    Server A - IIS, .NET App, MSSQL

    Small/Medium Scale
    ==========
    Server A - IIS, .NET App
    Server B - MSSQL

    Medium Scale
    ==========
    Server A - Load Balancer
    Server B - IIS, .NET App
    Server C - IIS, .NET App
    Server D - MSSQL
    Server E - MSSQL Session State Server

    How would you go about deploying a "typical" .NET application across 3
    tiers? Would you want to?

    >From what I understand, web services/messaging/remoting/COM+ are all

    ways of allowing independent deployment of the application tier (I've
    used some of these myself), but these come with their own costs and
    complexities. For most .NET apps I'd favour clustering for simple
    scalability. Am I missing something?

    Hope this makes sense

    Tobin

    Note that I'm not knocking the Web/App/Data server approach, I use
    this with RubyOnRails all the time (Apache Server / Mongrels App
    Servers / MySQL).
    , Feb 13, 2007
    #1
    1. Advertising

  2. I'm not sure I understand your question. If you are talking about "tiers"
    that usually refers to the logical, not physical (e.g. "data tier" "business
    logic tier", etc)

    You can certainly set up an app in conformance with your "Medium Scale"
    example - it's no big deal. Is your question related to "how to do that"?


    Peter

    --
    Site: http://www.eggheadcafe.com
    UnBlog: http://petesbloggerama.blogspot.com
    Short urls & more: http://ittyurl.net




    "" wrote:

    > Hi folks,
    >
    > We're looking for a CMS system for our organisation, and we're picking
    > potential solutions.
    >
    > We need something that is scalable cause we're a growing company, so
    > there's potentially 2000+ simultaneous users.
    >
    > It's been recommended that we favour applications which can be
    > separated into three separate physical tiers (web server, application
    > server, and sql server). The justification being that it's very
    > expensive to add additional application servers just because you're
    > web traffic increases.
    >
    > In my experience, I've never seen anyone deploy a typcial ASP.NET web
    > site in this way, where there is a separate application server.
    > Instead, I've seen IIS and the .NET App always live on the same
    > machine, possibly in a load balanced cluster etc (see below).
    >
    > Small Scale
    > =========
    > Server A - IIS, .NET App, MSSQL
    >
    > Small/Medium Scale
    > ==========
    > Server A - IIS, .NET App
    > Server B - MSSQL
    >
    > Medium Scale
    > ==========
    > Server A - Load Balancer
    > Server B - IIS, .NET App
    > Server C - IIS, .NET App
    > Server D - MSSQL
    > Server E - MSSQL Session State Server
    >
    > How would you go about deploying a "typical" .NET application across 3
    > tiers? Would you want to?
    >
    > >From what I understand, web services/messaging/remoting/COM+ are all

    > ways of allowing independent deployment of the application tier (I've
    > used some of these myself), but these come with their own costs and
    > complexities. For most .NET apps I'd favour clustering for simple
    > scalability. Am I missing something?
    >
    > Hope this makes sense
    >
    > Tobin
    >
    > Note that I'm not knocking the Web/App/Data server approach, I use
    > this with RubyOnRails all the time (Apache Server / Mongrels App
    > Servers / MySQL).
    >
    >
    =?Utf-8?B?UGV0ZXIgQnJvbWJlcmcgW0MjIE1WUF0=?=, Feb 13, 2007
    #2
    1. Advertising

  3. Guest

    On 13 Feb, 17:49, Peter Bromberg [C# MVP]
    <> wrote:
    > I'm not sure I understand your question. If you are talking about "tiers"
    > that usually refers to the logical, not physical (e.g. "data tier" "business
    > logic tier", etc)
    >
    > You can certainly set up an app in conformance with your "Medium Scale"
    > example - it's no big deal. Is your question related to "how to do that"?
    >
    > Peter


    Thanks for the reply, I'll try and be clearer!

    Essentially I'm asking if it's common to have a 3-server setup for a
    typical ASP.NET site rather than a 2-server setup. In the 3 server
    setup one server acts as a presentation server (web), another acts as
    an *application server*, and then the 3rd acts as a database server. I
    don't think I've ever seen this configuration in ASP.NET - the web and
    application server are usually one and the same.

    We have an advisor who is telling us that, for scalability, we should
    be aiming for this three server deployment model. However, I was
    trying to think how this might be achieved in .NET without having to
    re-write the site to use services, remoting or messaging. Our
    application doesn't seem to warrant the complexity that this would
    involve, and scaling can probably be done by mirroring & load
    balancing instead.

    Hope that makes some sense!

    Tobin
    , Feb 14, 2007
    #3
  4. Scalability is not necessarily improved by moving "pieces" of an application
    to separate physical machines. For example, when a SQL Server is located on a
    separate machine, more network latency comes into play for each SQL call than
    if it were on the same machine.
    There are a lot of factors to consider, and each application has different
    characteristics under load. Load testing is one way to compare the results of
    different deployment scenarios.
    Peter

    --
    Site: http://www.eggheadcafe.com
    UnBlog: http://petesbloggerama.blogspot.com
    Short urls & more: http://ittyurl.net




    "" wrote:

    > On 13 Feb, 17:49, Peter Bromberg [C# MVP]
    > <> wrote:
    > > I'm not sure I understand your question. If you are talking about "tiers"
    > > that usually refers to the logical, not physical (e.g. "data tier" "business
    > > logic tier", etc)
    > >
    > > You can certainly set up an app in conformance with your "Medium Scale"
    > > example - it's no big deal. Is your question related to "how to do that"?
    > >
    > > Peter

    >
    > Thanks for the reply, I'll try and be clearer!
    >
    > Essentially I'm asking if it's common to have a 3-server setup for a
    > typical ASP.NET site rather than a 2-server setup. In the 3 server
    > setup one server acts as a presentation server (web), another acts as
    > an *application server*, and then the 3rd acts as a database server. I
    > don't think I've ever seen this configuration in ASP.NET - the web and
    > application server are usually one and the same.
    >
    > We have an advisor who is telling us that, for scalability, we should
    > be aiming for this three server deployment model. However, I was
    > trying to think how this might be achieved in .NET without having to
    > re-write the site to use services, remoting or messaging. Our
    > application doesn't seem to warrant the complexity that this would
    > involve, and scaling can probably be done by mirroring & load
    > balancing instead.
    >
    > Hope that makes some sense!
    >
    > Tobin
    >
    >
    =?Utf-8?B?UGV0ZXIgQnJvbWJlcmcgW0MjIE1WUF0=?=, Feb 14, 2007
    #4
  5. jb Guest

    But, what do you mean with .net app?

    As I know, the .net app runs directly under IIS, you can not separate them

    Xus

    <> escribió en el mensaje
    news:...
    > Hi folks,
    >
    > We're looking for a CMS system for our organisation, and we're picking
    > potential solutions.
    >
    > We need something that is scalable cause we're a growing company, so
    > there's potentially 2000+ simultaneous users.
    >
    > It's been recommended that we favour applications which can be
    > separated into three separate physical tiers (web server, application
    > server, and sql server). The justification being that it's very
    > expensive to add additional application servers just because you're
    > web traffic increases.
    >
    > In my experience, I've never seen anyone deploy a typcial ASP.NET web
    > site in this way, where there is a separate application server.
    > Instead, I've seen IIS and the .NET App always live on the same
    > machine, possibly in a load balanced cluster etc (see below).
    >
    > Small Scale
    > =========
    > Server A - IIS, .NET App, MSSQL
    >
    > Small/Medium Scale
    > ==========
    > Server A - IIS, .NET App
    > Server B - MSSQL
    >
    > Medium Scale
    > ==========
    > Server A - Load Balancer
    > Server B - IIS, .NET App
    > Server C - IIS, .NET App
    > Server D - MSSQL
    > Server E - MSSQL Session State Server
    >
    > How would you go about deploying a "typical" .NET application across 3
    > tiers? Would you want to?
    >
    >>From what I understand, web services/messaging/remoting/COM+ are all

    > ways of allowing independent deployment of the application tier (I've
    > used some of these myself), but these come with their own costs and
    > complexities. For most .NET apps I'd favour clustering for simple
    > scalability. Am I missing something?
    >
    > Hope this makes sense
    >
    > Tobin
    >
    > Note that I'm not knocking the Web/App/Data server approach, I use
    > this with RubyOnRails all the time (Apache Server / Mongrels App
    > Servers / MySQL).
    >
    jb, Feb 14, 2007
    #5
    1. Advertising

Want to reply to this thread or ask your own question?

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. =?Utf-8?B?S3VsZGVlcA==?=

    Single-Signin across servers in same domain

    =?Utf-8?B?S3VsZGVlcA==?=, Nov 5, 2004, in forum: ASP .Net
    Replies:
    0
    Views:
    523
    =?Utf-8?B?S3VsZGVlcA==?=
    Nov 5, 2004
  2. =?Utf-8?B?Q0c=?=

    ASP.Net State Management across Web Servers

    =?Utf-8?B?Q0c=?=, Jan 13, 2005, in forum: ASP .Net
    Replies:
    1
    Views:
    294
    Kevin Spencer
    Jan 13, 2005
  3. =?Utf-8?B?bWFuZ2lh?=

    Three-across address labels on a Web page

    =?Utf-8?B?bWFuZ2lh?=, May 4, 2005, in forum: ASP .Net
    Replies:
    2
    Views:
    406
    =?Utf-8?B?U2hhbmU=?=
    May 6, 2005
  4. ET
    Replies:
    1
    Views:
    260
    David C
    Nov 1, 2009
  5. Ben
    Replies:
    5
    Views:
    112
Loading...

Share This Page