It's about open source softwares

Monday, February 1, 2016

Reduce Cloud bill by 30-40%

Now a days everybody is fascinated about cloud technologies because of its ease, scalability, availability, cost efficiency, independence, etc. Some of them already using cloud for their organizations, some are moving to cloud or exploring cloud to drive value for their businesses. 

Many public CSP (cloud service providers) like Azure, AWS, Google App Engine uses PAY-AS-GO model i.e. you need to pay whatever you are using. Before cloud era an organizations are investing lot of bucks in hardware for setting up infrastructure in data-centers. Maintaining that infrastructure adds more efforts and cost to that. Cloud provides three service models i.e Infrastructure as a service, platform as a service, software as a service. By using these models you can focus on your business values rather than setting and maintaining infrastructure (CSP does that for you).

While leveraging cloud features and functionality you need to be very cautious about cloud usage and its bills. Nobody wants pay extra right? Below are the simple ways that can helps you reduce cloud cost to great extents.

Choose resource type, size, location carefully

Most of the cloud bill comprise of virtual machine usage. choosing correct virtual machine size, type or location will cut your bill.
  • Type
In azure resource has multiple types like basic, standard or premium. These types dictates resources with particular features e.g. virtual machine has basic and standard type, in basic type we are not able to configure auto-scaling and load-balancing functionality for VM and in later we are able to do. Likewise for storage accounts we have standard or premium type. We need to use premium type to use replication feature. 
Select basic or standard type for non production (development/test) instances which doesn't requires load-balancing or auto-scaling features. Selecting correct type saves you around 20-25% of cost.
  • Size
Correct estimation of instance size is very important in cloud because cost is directly proportional to VM size you use. Overestimating the instance size for product will adds unnecessary cost to your bill. Monitor the past usage statistics of instances and decide the correct instance sizes.
  • Location
Depending on the geography charges of cloud resource various. For example costing of Azure resource in East Asian data-centers are cheaper than USA, Europe data-centers. You can host non production instances like development or test in these location to save some cost. 

Setup Auto-scaling

As we know software or services are not used heavily all the time. For example E-commerce, shopping portals serving average traffic during day time and negligible at night. It have heavy traffic during sales, festivals. Auto-scaling in cloud is nothing but increasing or decreasing number of instances (virtual machines) depending on workload. By setting up auto-scaling functionality to infrastructure serves gives flexibility to serve varying workload along with cost benefits. 
There are two type of auto-scaling present in cloud. You need to identify which one to use depending on software or service nature.
  • Scale Out-In
In this case number of instances are increases or decreases depending on active workloads(CPU, Memory, IOPS). It is commonly used and there is no downtime experience during auto-scaling. 
  • Scale Up-Down
In this case size of instance are increase or decrease depending on experience of past workload trends. In this we experience some downtime during auto-scaling.

Setup scheduling

Starting and stopping of non production instances (development or test) during office hours saves the cost of 12-14 hrs per day. Again keeping instance off on weekends saves cost more hours. You can use software or scripts to setup the schedule for instances. Many CSP also provides scheduling features.

Monitor underutilized resources

Use cloud monitoring tools or scripts which will identify the underutilized instances depending on some threshold values like,

  • CPU Usage < 15%
  • Network Usage < 10 MB
  • Disk IOPS < 100
Identifying those instances and stopping or downsizing them will save wastage of money.

Use linux instances

In cloud linux instances are always cheaper than Windows instances. For operating system independent software use of linux instances, it will saves some bucks for you. Instances hosting Jenkins, Git, Redmine and many more can be host in Linux instance.


Free subscription, Discounts and others

Every CSP provides free subscriptions, announces discounts on services or resources, you need to constantly explore your CSP providers schemes to save few more bucks. Follow the best practices while implementing the infrastructure, analyse bills every month carefully, I am sure you will find something which will help you to reduce cloud bill.

These are the few tips by which you can reduce cloud expenses. Like these tips??
GO implement these tips in your cloud infrastructure and throw a party to CLOUD TEAM after seeing next month bill. :P

Share: