AWS Cost Optimization (FinOps)
Published: 2023-10-02 18:25:52

**_## Cost Optimization - Financial Solution:_**

In cloud cost is very important factor, to manage the cost in the cloud is very crucial and challenging task. In order to manage, plan, implement, and track the cost optimization tasks as an end-to-end financial management solution. It is put into use with native AWS services. By reducing the number of instances, setting up a baseline financial model, and using a charge back mechanism, the solution allows business stakeholders to save a significant amount of money.

To migrate and transform out of support On-Premise applications to Cloud Solutions. This enablement timely decommissioning of On-Premises workloads and save associated costs.

**_## Opportunity:_**

- End-to-end financial management reporting solution management.
- Cost Optimization of Cloud Application Lifecycle.
- Charge back mechanism.
- Automate Start/Stop of EC2 instances as well as RDS DB instances 
  at different schedules using AWS Lambda Functions, Tags which 
  can be saved huge cost.
- Current usage and scope of cost optimization.
- Risk associated with Cost optimization on Cloud Application with 
  financial trend & Lifecycle tracking.

**_## Solution:_**

- To find out the top spend drivers and reasons of high costs in
  infrastructure.
- The cost trend analysis and various cost optimization tools like 
  AWS Native Services.

This helps to AWS Compute Optimizer, Trusted Advisor, AWS Cost Management, AWS Budget services providing user-friendly dashboard and the tool comes with dynamic data reporting.

- To understand the current usage and scope of optimization.
- EC2 instances right sizing and baselined the instances for all 
  kind of workloads.
- Addition of governance layer in provisioning process to reduce 
  the increasing cost by determining the workload and defining the 
  instance type for it.
- Terminate un-used resources based on the tracking and trend 
  analysis.
- Automate Start/Stop of EC2 instances as well RDS DB instances at 
  different schedules using AWS EC2 Instance Scheduler, AWS Lambda 
  Functions, which can be saved huge cost.
- Create various life cycle rules on S3 buckets to reduce the 
  storage cost by archiving the old storage to deletion over the 
  period of time.
- Change the S3 bucket Standard tiering class to S3 Intelligent 
  tiering object storage class.
- Baseline the financial model and charge back mechanism for 
  various workloads.
- Monthly proposal for cost optimization is created using AWS 
  Native Cloud Services.

**_## Implementation Steps:_**

- With this reporting feature, we can understand the current usage 
  and scope of optimization.
- The instances right sizing and baseline instances.
- Add a governance layer in provisioning process to reduce the 
  increasing cost by determining the workload and defining the 
  instance type for it.
- Terminate un-used resources based on the tracking and trend 
  analysis. This exercise can be repeated by every week.
- Huge cost can be saved by scaling down the instances, which are 
  under-utilized.
- RDS DB Instances can be turned off during weekends & non- 
  business workings hours.
- Redshift cluster can be right sized with minimum nodes for the 
  same performance. Due to this right sizing, can be optimized a 
  huge cost per month.
- Monthly proposal for cost optimization can be created by using 
  AWS native services.
- Create various life cycle rules on S3 buckets to reduce the 
  storage cost by archiving the old objects for the automatic 
  deletion over the period of time such as after 14 days after 
  objects uploaded in the S3 bucket.
- Baseline the financial model and charge back mechanism for 
  various workloads.
- AWS backup policies can be implemented with less retention 
  period.
- AWS Cloudwatch logs can be retained with minimum retention 
  policy instead of never expiry.
- Delete the manual snapshots.
- Terminate/Release AWS resources such as EFS, ALB, NLB, VPC and 
  associated components, OpenSearch, Elasticache, RDS DB 
  Instances, ECS with Fargate, Direct Connect, Directory Services, 
  Workspaces, AWS Detective, Un-used EBS Volumes, EC2 Instances, 
  Backup Policies, S3 buckets, Auto Scaling Groups,Route53 Hosted 
  Zones, Record sets, Health Checks.
- Set “ZERO” capacity for Auto Scaling Groups in AWS Dev/Test 
  accounts.
- Apply the tags for Auto Scaling Group for Weekends and Non- 
  business working hours turn off policies for non-production AWS 
  accounts.
- Delete SNS topics, Cloudwatch logs which are unused.
- Migrate EBS Volumes from GP2 to GP3.
- Migrate from old generation instances family to new generation 
  instances family (eg. t2, m3, m4, c4 series to t3, t4, m6, m7, 
  c6 series).
- Migrate applications from current instances family to Graviton 
  Processor (GP3) instance family where can be saved up to 40% 
  cost and performance improvement.
- Migrate applications from On-Premises to AWS Cloud by using AWS 
  Migration Tool as AWS Application Migration (MGN) Tool.
- Refactor the workloads for applications modernization such as 
  Containerization, Microservices architecture, Serverless 
  architecture, Kubernetes Container Orchestration.