[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [SAGE] number of eggs in a basket
If you are virtual web hoster you might have a seperate web 'service'
for each client. (Some web service providers give you your own real or
virtual machine to play in/keep you isolated from others). If you have a
big enough business, it's quite conceivable that you could have a
thousand services running.
The definition of 'distinct service' varies depending on the business
that you're in. There's easily a thousand different services running in
just one of the Data Centres that I work in (and there are four more DCs
with that level of complexity just in our San Jose campus). Fortunately,
only a limited number of the services require redundancy, and some of
the redundancy is necessary for scaling (as in www.cisco.com) as well as
failure tolerance.
Yes, we're a 'large enterprise'. (:-)
- Richard Chycoski (Cisco Systems, Inc.)
Bevan C Bennett wrote:
> Xev Gittler wrote:
>
>> David Parter wrote:
>>
>>> We believe very strongly in only one service per server.
>>
>> That works on a small scale. However, it can be extraordinarily
>> wasteful in the large scale. Given the size of even the smallest
>> machines, a single service can use a minuscule amount of the CPU.
>> While this won't make much of a difference on one machine, 1000
>> machines each running at a trivial utilization level, is an expensive
>> waste of resources, regardless of how cheap each piece of hardware is.
>
>
> In what sort of crazy environment would you need to implement 1000
> different services? Even if you're assuming maximum redundancy and
> throwing 2 servers at each service (which, if their load is 'trivial'
> isn't needed for load balancing) that's still 500 different services!
>
> Normally I see more on the order of 12-20 different services, and I'm
> having a hard time trying to come up with a plausible scenario that
> would use more than 30 truly distinct services.
>
> Even in large enterprises, it's primarily the number of clients that
> scales up, not the number of services being provided, so I don't see
> this as being a valid argument.
>
>> Clearly, you need to balance service requirements vs. criticality vs.
>> stability, etc, but managing services, and running multiple ones on a
>> machine, perhaps migrating them as necessary is a more effective use
>> of resources. I don't want to suggest that you should do this on
>> huge, expensive machines, but there is a sweet spot for this
>> hardware, and it is more capacity than most services require.
>
>
> I absoultely agree that you need to balance your particular needs when
> setting out the number of baskets, and doubling up on 'lightweight'
> services is of course a more efficient use of your hardware, if that
> is important to your situation. However, having the services separate
> is generally a much for efficient use of -you- (and your time), as
> others have already explained.
>
> In all my places of employment so far, when I came in there were one
> or two servers that were running every service all together. Over
> time I slowly acquire additional (often smaller) server hardware and
> separate out the services onto dedicated hardware and, as I have done
> so, debugging and maintainance has -always- gotten easier. As an
> added bonus, doing this properly helps to harden your network against
> attacks, as each box has fewer possible points of entry, and an
> exploit in a particular service will only effect that service.