[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.