Picture Credit: Unsplash
Current trends show that moving to Cloud has many competitive benefits including removing the need to maintain servers on-site.
Moving to Cloud Can Be Costly - Here Is How To Control the Cost of the Databases
The loads on a database within a system vary depending on the needs of the business at any given time. Higher loads require a higher tier which increases the costs, however, as the need fluctuates, it is not required to be on this higher cost tier at all times. Cloud allows businesses to change the tier of the databases on-demand, which allows businesses to use and pay for only what they need at any given time.
Companies that use virtual machines must pay to keep them running all the time. Cloud computing is an easy alternative for companies looking for cost-effective ways to manage and take advantage of Cloud infrastructure.
In every application system or a business, there is always a time where the system will be at its peak due to an increase in the number of people using the application, the number of customers buying the products/services, and the number of clients using that system.
- Every business will have its own peak time frame varying for all the applications.
- By doing a peak analysis, businesses can identify when the peak of their product/services occurs. This is also the time to generate the most revenue and forecast any downtime during this duration which had a direct impact on customer experience.
- Peak requires the product to be at its best and the system to hold the load. If it is not handled properly, the system can crash resulting in a major downtime.
Let’s assume, an apparel company will have its peak around November and December during the holiday season. The servers and the databases need to be at their best and performance should be at an all-time high. If it is performing at a lower tier and more customers are shopping at the same time, the server will get slower and might even crash, which will prove to be a huge loss for the company. To handle the peak well, retailers must make sure the databases are performing at their best.
How To Scale Databases:
Scaling can be performed in 2 ways:
Manual Scaling:a Software Engineer manages the changes on the servers and the process requires continuous attention. This method has a risk of human errors and could need more resources which can slow scaling and increase costs.
Auto Scaling:Allows databases and servers to scale automatically through predefined rules (performance tier, schedule, max and min value threshold), which ensures that the application is always available, effective, and supportive in preventing performance problems and outages, without incurring an extra cost.
The time frame of the peak of the company varies based on its offerings and can be scheduled and scaled accordingly. For example, there are several products/services that might have peaks on weekends so it allows businesses to come up with a weekly schedule.
Below is an example of how to reduce costs using auto-scaling during a weekly schedule where the peak is on the weekends:
At peak (weekends), keep the DB’s at 1000 Database Throughput Unit (DTU) / Premium P6 (Tier name in Azure SQL DB) - this will cost around $3,650 per month.
- Bring down the DTU to 250 at non-peak hours, which will cost $912.50 per month.
- Set the DTU value to 1000 during the weekends and 250 on weekdays, which will cost $1,642 monthly in total.
The savings will be approximately $2,000 per month while creating an opportunity to save a lot on multiple databases, which is probably more than or equivalent to the salary of an engineer implementing this algorithm to the system depending on the area.
The following is a graph of the example:
Here are a couple of tutorials that explain how to automate the scaling of Azure SQL DB’s:
Auto Scaling Helps Ensure the Cloud Budget Is Used Efficiently
In a nutshell, to capture the most business possible during peak times, make sure there are no lags at the time of the peak. Also when there is no need for the databases to run at the top tier, bring them down to reduce costs using auto-scaling. This will optimize the system on Cloud and limit the cost of using databases.
How Nisum Can Help
Nisum helps clients perform assessments of applications to determine Cloud-readiness, and then partners with clients in modernizing applications as well as defining a migration strategy to run on a Cloud platform. We design secure, scalable, and high-performing applications that save money by incorporating automation and reducing resources. To know more about our services, contact us.