Cloud Elasticity
The term cloud elasticity refers to the ability of a cloud service to grow and shrink resources to match the demand from an application workload. The dynamic elements of an elastic cloud are compute CPUs, memory and storage. The provision and contraction of resources are usually automatic and driven by cloud monitoring software.
Cloud Elasticity Versus Scalability
There are two forms of scalability. Vertical scalability or scale-up describes the process of adding more resources to existing infrastructure. Horizontal scalability or scale-out describes the process of adding copies of an application and associated resources, such as adding web servers to handle additional users.
Benefits of Cloud Elasticity
Some of the common reasons why a business can benefit from cloud elasticity include:
- Gain greater business agility. Provision cloud infrastructure as needed.
- Reduce IT administrative efforts. Cloud service providers provision and maintain servers and storage.
- Spread expenses over time. Use a cloud operational expendure (OpEx) model with pay-as-you-go expenses. On-premise data centers and servers are a fixed capital expenditure (CapEx) that a business must purchase upfront and host and pay for all the time.
- Pay for what you need. Provisioned applications can be stopped and have compute resources deallocated outside work hours, for example. Seasonal workloads can be provisioned as needed.
- Eliminate capacity planning. Cloud elasticity provides resources on demand so that a company does not need to estimate future application growth and purchase hardware in advance to meet anticipated demand.
- Gain from economies of scale. Cloud providers buy IT infrastructure at a scale that no business can match. Cloud service providers pass on some of those saving to customers, making it cost-efficient to use their cloud services.
Using Cloud Elasticity for Service Quality
Quality of Service (QoS) applies specific metrics for availability and performance for different classes of service. In a video call use case,for example, audio processing can take precedence over video quality. For an application service, a business-critical service can be assigned a higher priority than another. In the case of a mobile phone retailer, a store may prioritize sales transactions over all other applications, provisioning cloud infrastructure accordingly.
Most businesses run multiple cloud applications on a single cloud service and assign policies to different service levels. Businesses can use cloud monitoring services to enforce service levels. Customer-facing applications typically have precedence over internal applications. For example, transaction processing systems might have sub-second response time requirements. In this case, the business can set the cloud service to maintain a pool of application servers ahead of those that are currently active to minimize noticeable startup latency.
Cost Control With Cloud Elasticity
An essential element of a cloud business case centers around cost control. The ability to scale back provisioned resources as demand decreases enables a business to be more efficient by not wasting money on dedicated computing and storage as they did with traditional on-premises servers. In the early days of cloud computing, organizations could subscribe to dedicated servers with fixed memory and storage sizes. Today, businesses can architect applications as microservices which scale horizontally and no longer require large, dedicated servers.
Autoscaling Microservices
Microservices enable service-side applications to have higher availability and resilience to failure. Elastic microservices can be containerized and still be elastic to scale up or down containers to match demand effectively. Microservices can be built to use single or multiple container sets that can be provisioned in groups.
Actian Solutions Offer Cloud Elasticity
The Actian Data Platform is designed to offer customers the full benefits of cloud elasticity by providing the ability to quickly shrink or grow CPU capacity, memory, and storage resources. As user load increases, containerized servers are provisioned to match demand. Storage is provisioned independently from compute resources to support compute or storage-centric analytic workloads. Integration services can be scaled in line with the number of data sources and data volumes.