X

Reimagining Startup and Enterprise Innovation

Startups Prepare for Ups and Downs with Autoscaling

Vikas Raina
Principal Cloud Architect, Oracle for Startups

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.

Autoscaling for infrastructure services

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.

  • Simply configure the autoscaling feature of Oracle Cloud and remove any bottlenecks related to load.
  • Then set up appropriate scaling limits with a minimum number of instances and incremental/decremental value.
  • Define the scheduling type and policies.
  • That’s it.

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. 

How to approach autoscaling as a startup

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.

Setting up autoscaling in the Oracle Cloud console 

Autoscaling is one of the key Oracle Cloud Infrastructure offerings. This quick video will walk you through the setup. 

 

Step by Step Instructions

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.

More considerations

For a project like this to be successful, you need to do a few things first.

  • Benchmark before building autoscaling to understand the needs of the load.
  • Define scaling conditions diligently.
  • Keep all the variable components stored in other places and not in the compute machines.
  • Keep Database server isolated from the instance pool.
  • Ensure you have enough limit of CPUs for scaling out.
  • The server settings need to be managed as a code.
  • Test it before deploying it in Production.

For more information on autoscaling, please check out the video. And remember, as part of the Oracle startup program we are happy to help with migrations that include autoscaling.

Enrolled startups can request migration support in the Startup Portal. 

 

Be the first to comment

Comments ( 0 )
Please enter your name.Please provide a valid email address.Please enter a comment.CAPTCHA challenge response provided was incorrect. Please try again.