This section is kind of a no-brainer, but just in case it is your first time
thinking about scaling, it may be helpful. Building apps that can scale
with minimal effort is important for those applications that become a hit.
With Zend Framework, the pluggable and loose-coupled design allows you to replace
adapters and change functionality easily. Design with scalability in mind and
you shouldn't have much of a hard time scaling. It is also important to remember
that not everyone is going to have 100 million hits a month and optimizing when your
not even "live" is time not spent efficiently. It is the architecture that scales, not a language
or framework.
B.1. Terms
Vertical scaling, generally referred to as moving to more powerful hardware.
Although it is relatively easy to implement with almost no change in your application,
it is usually very costly as the price of performance hardware skyrockets
compared to the performance achieved. This usually benefits database
servers more than webservers. With vertical scaling you are also
centralising your setup, so there is a higher chance of downtime
due to a hardware failure.
Horizontal scaling is simply adding more servers, but more complicated in
comparison because applications must be designed to work on multiple servers.
The cost of scaling this way is much cheaper and the risk of a hardware
failure taking you offline is reduced. Adding more servers also means that
it takes more work to manage them.
Diagonal scaling is somewhere in between both of them. It is important
to scale both upwards and outwards.
Scale up wards and outwards