Scalability—the ability to modify the capabilities of your infrastructure to meet your changing application requirements—is one of the most compelling benefits that attracts customers to the cloud.
Scaling on-premises resources usually requires that you adequately plan for any future scenario well in advance. You need to analyse existing infrastructure or applications requirements, then forecast for future growth. Deploying the infrastructure, planning connectivity, addressing security along with all required components can be complicated—and take months to deliver. The challenges and limitations of this approach are some of the main reasons driving customers to the cloud. Add to that, the Capex model and the processes around it are no longer acceptable to the business as organizations prefer to have the infrastructure they need, immediately—plus the ability to pay only for the resources used.
The cloud offers customers agility and scalability to meet their business requirements without paying for resources that aren’t required. You can pay only for what you need or use—and that’s it. Plus, in the cloud, customers are equipped to scale out their infrastructure vertically or horizontally to meet their demand.
Vertical Scalability is when a virtual machine (VM) is adjusted to meet the projected demand; e.g., changing a VM from a smaller instance to a larger instance, thereby increasing the compute, RAM, and I/O to meet demand (scaling up). In this example, the application running on the VM remains unchanged, but the application has more resources to utilize. This is best suitable for monolithic/legacy applications. Vertical scaling can be achieved on-premises today, but the time it takes to deliver the infrastructure poses the challenge. Likewise, physical infrastructure and virtualization platforms can be scaled on-premises, yet the process can take months—while scaling up and down in the cloud can be achieved in minutes.
With vertical scaling you are restricted by the size of the physical host (i.e., the underlying platform). You cannot scale up more than the resources that exist on a host. If the demands of your workload surpass the resources available from the underlying infrastructure, you’ll need to explore other scalability options.
is when you provision more (or remove) infrastructure to meet a workload requirement. Scaling out increases the number of VMs, compute, RAM, and I/O. This example is best suited for decoupled/microservices applications where each application can scale independently and work together to serve the same purpose. As an example, you can scale out web services during a marketing event to accommodate the anticipated workload. Horizontal scaling can be achieved on-premises with the same limitations as vertical scaling. In the cloud, though, scaling out and in can be achieved in minutes – and the brave will state that horizontal scaling is limitless. Your mileage may vary.
Fortunately, cloud customers may incorporate both vertical scaling and horizontal scaling. For example, you may design your databases to scale vertically when required, and scale horizontally once the vertical limitation is reached. This scenario provides more time to plan your infrastructure.
With the evolution of technology, customers increasingly want the ability to scale their infrastructure on-the-fly. This leads to the discussion of elasticity, and just how quickly a company can dynamically add and remove resources from its infrastructure without impacting operations – but that will be the subject of another blog post.
To learn more about scalability in the Cloud, I encourage you to follow the conversation at #CloudExperts or #BuiltForTheCloud, or reach out to your Teradata account executive.