Capacity management changes drastically with virtualization. The changes can be largely grouped into 2 areas:
- Operationally, virtualization changes the IT infrastructure team from system builder to service provider. The application team no longer own the physical infrastructure, and it is now a shared infrastructure. This creates a two-tier capacity management:
- At the VM level, capacity management is done by the application team. They determine the size of their VM, and then buy the capacity from the infrastructure team. They need to adjust the size, as oversizing leads to performance issues.
- At the physical infrastructure level, the infrastructure team must perform capacity management as a single team. The joint team must take care of computing, networking, storage, and DR. The mindset has to change from that of a system builder to a service provider.
- Architecturally, the infrastructure moves from a bespoke system to standardized hardware. The application team no longer need to dictate the specifications of the hardware. For example, they do not specify a server brand, model, and CPU frequency. They can only specify how many virtual CPU they need. Sometimes, especially in a large environment, they can only choose small, medium, or large vCPU, and all of these have been preconfigured.
Once you split capacity management into the two distinct layers, it will become natural and it will transform the infrastructure team into the service provider model. You need to see the application team as a customer who does not need to know about the detailed specification of your infrastructure. You provide them a service. To achieve this, you need to unify the three components (compute, network, and storage) as one integrated capacity planning. It is no longer sufficient to look at them as 3 separate components managed by 3 different teams.
In the next post, I will provide some tips on doing capacity management at the VM level. After that, you should review capacity management at the Infrastructure level.