Scaling in cloud computing

·       Scalability refers to the idea of a system in which every application or piece of infrastructure can be expanded to handle increased load.
·       Systems have four general areas that scalability can apply to:

Ø  Disk I/O
Ø  Memory
Ø  Network I/O
Ø  CPU

·       Cloud Scaling Strategies

Ø  Horizontal scaling: means that you scale by adding more machines into your Cloud architecture so that they work as a single unit.
Ø  Vertical scaling: means that you scale by adding more power to the existing machines in terms of more CPU, RAM and storage.

·       There are essentially three ways to scale in a cloud environment: Manually, scheduled and automatic.

Ø  Manual scaling is just as it sounds. It requires an engineer to manage scaling up and out or down and in.
Ø  Scheduled scaling solves some of the problems with manual scaling. Based on your usual demand curve, you can scale out to, for example, 10 instances from 5 pm to 10 pm and then back into two instances from 10 pm to 7 am, then back out to five instances at 5 pm.
Ø  Automatic scaling (also known as autoscaling) is when your compute, database, and storage resources scale automatically based on predefined rules.

A practical example: Containers

Containers are a great example of Cloud infrastructure with maximum scalability: They enable both horizontal and vertical scaling and represent the most innovative and performing Cloud solution currently on the market.

No comments: