Autoscaling, in brick and mortar industry terms, is dynamic capacity planning. It is an extremely efficient and cost-effective method of handling workloads that do not yet exist. It removes inefficiencies from the system as well as helping to get a grip on capital expenditures.
Autoscaling works on the Instance pool concept. Resources are made available per current requirements with provision to add more automatically when the utilization increases, and deactivate additional resources when utilization decreases. Autoscaling provides the application with much-needed elasticity to the application and handles the occasional surge in traffic.
Most platform services offered on Oracle Cloud include in-built elasticity or autoscaling, but what about infrastructure services?
Imagine a company like video conferencing service Zoom, whose CPU utilization went through the roof during the global Covid-19 lockdown. If they were an on-premise hosting company, they would have been frantically buying expensive servers to meet the suddenly expanding load. But when the loads go down, they would be stuck with extra hardware.
Movie theaters are another example. Demand is normally steady, until a huge number of patrons log onto the website to buy tickets during the holiday season or before a hotly anticipated blockbuster gets released.
Both examples show the benefits of autoscaling, which is designed to manage these kinds of situations. With autoscaling, there is no need to buy any expensive hardware or create VMs from the image manually.
Since compute time is charged only for the instances that are attached to the instance pool, the application is only using as many instances as are required at a given time, optimizing costs and resource utilization.
Plan your current capacity in the cloud and create a pool of instances to handle any spike in a workload whenever needed. The cloud resources remain available but do not cost money until used. Once the peak capacity period passes by, the added machines are terminated while the system goes back to original capacity status. The new instances are added as per the memory or CPU utilization threshold.
Autoscaling scales up or scales down the resources that get attached to the application stack based upon predefined criteria.
Autoscaling saves capital expenditure and protects the system from going down because of unmanageable loads on the resources. Autoscaling simplifies scalability as the Oracle cloud handles all the demand by horizontal scaling, adding resources, or removing resources as per run time utilization without any human inputs or monitoring.
Autoscaling is one of the key Oracle Cloud Infrastructure offerings. This quick video will walk you through the setup.
1. Set up the server which you want to scale up and down based upon utilization.
2. Create instance configuration of this server. (This action is akin to taking a snapshot of the instance; the scaled-up instances will always be created from this image.)
3. Create instance pool from instance configuration.
4. Create autoscaling configuration from instance pool.
5. Create and define load balancer. When new instances are added to the pool, this defines how the load will be shared.
6. Define instance pool. (Attach instance configuration here, define a maximum number of instances to start with, and attach the Load Balancer.)
7. Define Autoscaling configuration. At this point, you determine whether to make this time-based vs. metric- or performance-based. You can also configure the cool-down period, scale in and out quantum, etc.
8. You are now all set to face any expected or unexpected spike in load.
For a project like this to be successful, you need to do a few things first.
Enrolled startups can request migration support in the Startup Portal.