John Lim Wrote: 
> Hi, 
>  
> I like the PHP language the way it is with some exceptions.  Private 
> members and methods are essential from a security view-point, and 
> perhaps 
> application variables, but that's about it.  My main problem with PHP's 
> direction is that it seems stuck at the low-end of the corporate world. 
>  
> Let me explain. I'm developing extranets with PHP and occasionally I 
> get a checklist of required features from a customer. Features such as: 
>  
>  - clustering, 
Beowulf for process clustering, LVS for performance clustering. 
 
>  - management of server farms, 
 
There are many good beowulf tools for this. 
 
>  - transparent fail-over, 
 
LVS 
>  - load balancing 
LVS 
 
>  - application deployment without restarting server 
Beowulf tools. 
 
>  - advanced queueing 
Queuing of what? 
 
>  - database connection pooling 
PHP has an amount of this with persistent connections. 
 
>  
> I believe that many of these features should probably not be part of 
> the language, or are already available as separate libraries or can be 
> implemented without modifying PHP, as Smarty has proved with templates. 
> However there is no one central resource that explains where you can 
> find the knowledge or source code to implement this. Is there any 
> company addressing all these issues. Let me know! 
>  
> For example, one spec I had to comply for a recent proposal was - NO 
> SINGLE POINT OF FAILURE. I looked at msession and I asked myself, does 
> it provide support for a backup session server on failover? Reading the 
> docs, I think not. Of course a database-backed session handler can 
> provide failover support, but where can I get proven tested code that I 
> know is reliable without having to write it myself? 
 
The "No single point of failure" mantra is very over-rated and, well,  
impossible. There is *always* a single point of failure somewhere. Even 
if you have two geographically separate installations with different power 
companies, and different ISPs, chances are, somewhere, you will be carried 
by some common backbone. 
 
The "No single point of falure" only works in closed systems like 
aircraft, satilites, and spaceships. Data centers and internet providers 
always have exposure because quality of service is beyond the control of 
the IT manager, it is an open system. 
 
It does not matter *who* you are, you will have a failure in your system. 
You must evaluate your risk tollerance, first understanding that 100% no 
risk is an impossibility. Once people accept that risk is unavoidable, they 
are ready to estimate what they can take. 
 
If you don't mind a probabilty of an hour downtime a year, you can build a  
datacenter much more cheaply than if you can't accept the probability of 
10 minutes downtime. You have to, however, accept that *no* downtime is 
not an option. 
 
I am not a fan of 100% fully redundant systems. I think the expense of  
such systems are rarely justified, and unless you have REALLY done the 
work to understand what all your points of failure are, you are wasting  
your time and money. 
 
I remember a company dictating "fully redundent" systems, two alteon 
load balancers, a small cluseter of PHP servers, etc. The ISP was not  
redundant, so they still had a failure. 
 
The liklihood of a failure at the ISP was more than the likelihood of 
equipment failure. They spent a lot of money that they did not need  
to spend and created a false sense of security. 


-- 
PHP Development Mailing List <http://www.php.net/>
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to