18.02 Scaling

 

Horizontal
Scaling:

      
Scaling horizontally takes place through an increase in the number of
resources (e.g., adding more hard drives to a storage array or adding more
servers to support an application). This is a great way to build Internet-scale
applications that leverage the elasticity of cloud computing.

Vertical
Scaling:

       
Scaling vertically takes place through an increase in the specifications
of an individual resource (e.g., upgrading a server with a larger hard drive,
adding more memory, or provisioning a faster CPU). On Amazon EC2, this can
easily be achieved by stopping an instance and resizing it to an instance type
that has more RAM, CPU, I/O,or networking capabilities. This way of scaling can
eventually hit a limit and it is not always a cost efficient or highly
available approach. However, it is very easy to implement and can be sufficient
for many use cases especially as a short term solution.