Physical Infrastructure: Compute II
Learn about horizontal and vertical scaling as well as event-driven architecture.
Horizontal scaling vs. vertical scaling
Traditionally, whenever we run out of resources on a server, we extend its capabilities by adding more RAM (memory), disk space, or CPU to make it more capable. This model is called vertical scaling or scale up since we are beefing up the specifications of the same machine to make it more capable. Cloud makes it easier for us to scale up or down to adjust to our application's workload at any given time.
With cloud computing, we get another model called horizontal scaling or scale in. In this model, rather than making our VM bigger, we simply add another VM of the same size and keep adding or removing it as our workload fluctuates. This type of scaling makes it easier to achieve the cloud scale, which would be difficult to reach with vertical scaling. However, to benefit from this type of scaling, we need to write applications in a certain way that they are stateless. Cloud platforms automate this process to make it just a click of a button for us. Imagine culminating the careers of thousands of IT professionals in a slider to add or remove a whole bunch of VMs!
Keep in mind that it is still possible to use both ...