Skip to content

Commit

Permalink
Merge pull request #39 from alphauslabs/gcp
Browse files Browse the repository at this point in the history
gcp recommendations
  • Loading branch information
ninyolittle authored Nov 18, 2024
2 parents 0514c30 + 560a5ba commit d0fa0d4
Show file tree
Hide file tree
Showing 4 changed files with 147 additions and 16 deletions.
4 changes: 2 additions & 2 deletions docs/octo/recommendations/about.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
# About Recommendation Feature
Recommendation is a cost optimization feature offered by Octo that helps users effectively manage expenses. Designed for multi-vendor environments, including AWS, GCP, and Azure, it currently supports AWS, with plans to extend to other platforms in the future. This feature also consolidates recommendations from AWS Cost Explorer, Cost Optimization Hub, and Trusted Advisor, providing comprehensive insights into cost-saving opportunities. It empowers users to make informed decisions and optimize their cloud expenditures efficiently.
Recommendation is a cost optimization feature offered by Octo that helps users effectively manage expenses. Designed for multi-vendor environments, including AWS, GCP, and Azure, it currently supports AWS and GCP, with plans to extend to other platforms in the future. This feature also consolidates recommendations from AWS Cost Explorer, Cost Optimization Hub, and Trusted Advisor, etc providing comprehensive insights into cost-saving opportunities. It empowers users to make informed decisions and optimize their cloud expenditures efficiently.

## Sources
Currently, we rely on two primary sources for these recommendation data: AWS and Octo-generated recommendations. AWS-generated recommendations originate from various AWS features or services such as Cost Explorer, Cost Optimization Hub, and Trusted Advisor. In contrast, Octo generates additional recommendations that encompass insights not covered by these AWS sources, providing users with a more comprehensive view of potential optimizations for their cloud environment. This dual-source approach ensures that Octo users have access to a wide range of actionable insights to enhance their cost management strategies.
Our recommendation data comes from three main sources: AWS, GCP, and Octo-generated recommendations. AWS recommendations are derived from services like Cost Explorer, Cost Optimization Hub, and Trusted Advisor, while GCP recommendations come from the Recommendation Hub. Octo adds another layer by generating unique recommendations that cover additional insights not addressed by AWS or GCP (though GCP insights aren't available through Octo generated). This combination gives Octo users a broader spectrum of actionable insights to improve their cloud cost management strategies.

## Apply Recommended Action
!!! warning "This is not included in the current version."
Expand Down
4 changes: 2 additions & 2 deletions docs/octo/recommendations/costexplorer.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# Cost Explorer
AWS Cost Explorer is a powerful tool that provides comprehensive insights into your AWS spending and usage. It allows users to visualize, understand, and manage their AWS costs and usage over time through customizable reports and interactive graphs. This helps organizations optimize their cloud spending by identifying cost drivers, trends, and opportunities for savings.<br>
AWS Cost Explorer is a powerful tool that provides comprehensive insights into their AWS spending and usage. It allows users to visualize, understand, and manage their AWS costs and usage over time through customizable reports and interactive graphs. This helps organizations optimize their cloud spending by identifying cost drivers, trends, and opportunities for savings.<br>

AWS offers several cost optimization recommendations through tools like AWS Cost Explorer:

Expand All @@ -24,7 +24,7 @@ AWS offers several cost optimization recommendations through tools like AWS Cost
| THREE-YEAR | Longer commitment period with greater savings. |


<b>Rightsize EC2 Instance Recommendations</b>: These recommendations analyze the EC2 instance usage and suggest resizing or modifying instance types to better match your workload requirements. By rightsizing instances, users can eliminate unnecessary costs and improve performance efficiency.<br>
<b>Rightsize EC2 Instance Recommendations</b>: These recommendations analyze the EC2 instance usage and suggest resizing or modifying instance types to better match their workload requirements. By rightsizing instances, users can eliminate unnecessary costs and improve performance efficiency.<br>

<b>Terminate EC2 Instance Recommendations</b>: AWS Cost Explorer also provides recommendations to terminate underutilized or unnecessary EC2 instances. This helps in reducing costs by eliminating instances that are not actively contributing to workload requirements or are no longer needed.

Expand Down
129 changes: 129 additions & 0 deletions docs/octo/recommendations/recommendationhub.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,129 @@
# Recommendation Hub

Google Cloud Platform also offers a recommendation system that provides actionable insights to help users optimize their cloud infrastructure. Leveraging analyses of resource utilization, configurations, and established best practices, it generates personalized recommendations tailored to each environment. Like AWS Trusted Advisor, GCP’s recommendations are categorized into cost optimization, performance, reliability, security, and sustainability, giving users a comprehensive view of potential improvements.

In Octo, all cost optimization recommendations from GCP Recommendation Hub will be collected and displayed in a centralized view. This allows users to quickly identify opportunities for savings and more efficient resource allocation, aligning with their financial and operational goals.

## Compute Engine
??? info "Idle Virtual Machine"
### Idle Virtual Machine
<b>GCP Resource Type</b><br>
Virtual Machine<br><br>
<b>Optimization Type</b><br>
Usage<br><br>
<b>Category</b><br>
Stop<br><br>
<b>Description</b><br>
Compute Engine provides idle VM recommendations to help users identify virtual machine (VM) instances that have not been used over the previous 1 to 14 days. Users can use idle VM recommendations to find and stop idle VM instances to reduce wasting resources and reduce your compute bill.<br><br>
<b>Criteria</b><br>
• Compute Engine generates recommendations about idle VM instances based on historical usage metrics. By default, the historical observation period is 14 days, or, for new VMs, starting one day after VM creation. By changing the default observation period, users can customize the recommendations that they receive. For more information, see [Configure idle VM recommendations](https://cloud.google.com/compute/docs/instances/configuring-idle-vm-recommendations){target=_blank}
<br><br>
<b>Potential savings</b><br>
Save 100% of the cost of that vm. For more information, see [VM pricing](https://cloud.google.com/compute/vm-instance-pricing){target=_blank}.<br><br>
<b>Recommended Action</b><br>
Stop Vitrual Machine<br><br>
<b>How will Octo implement the recommended action?</b><br>
Not implemented yet.<br><br>
</p>
??? info "Idle IP Address"
### Idle IP Address
<p>
<b>GCP Resource Type</b><br>
Compute Engine IP Address<br><br>
<b>Optimization Type</b><br>
Usage<br><br>
<b>Category</b><br>
Delete<br><br>
<b>Description</b><br>
This recommendation identifies IP addresses that are allocated but not actively in use within your Google Cloud environment. Idle IP addresses can incur unnecessary costs without providing any value to your infrastructure. Releasing or deleting these addresses can help reduce expenses and optimize resource allocation.<br><br>
<b>Criterias</b><br>
The IP address hasn't been attached to any resource for at least 15 days.<br><br>
<b>Potential savings</b><br>
Save 100% of the cost of that IP address. For more information, see [External IP address pricing](https://cloud.google.com/vpc/network-pricing#ipaddress){target=_blank}.<br><br>
<b>Recommended Action</b><br>
Release or delete IP Address.<br><br>
<b>How will Octo implement the recommended action?</b><br>
Not implemented yet.<br><br>
</p>
??? info "Idle Persistent Disk"
### Idle Persistent Disk
<p>
<b>GCP Resource Type</b><br>
Compute Engine Disk<br><br>
<b>Optimization Type</b><br>
Usage<br><br>
<b>Category</b><br>
Delete<br><br>
<b>Description</b><br>
This recommendation highlights persistent disks in Google Cloud that are provisioned but not currently attached to any virtual machine. Unused disks continue to incur storage charges, adding to overall costs without delivering value.<br><br>
<b>Criterias</b><br>
There are two approaches to address this recommendation effectively.<br><br>
First criteria: <br>
• The Persistent Disk was created at least 15 days ago.<br>
• The Persistent Disk was never attached to a VM.<br>
• The Persistent Disk is blank.<br>
• The Persistent Disk isn't bound to GKE Pods.<br><br>
Second criteria:<br>
• The Persistent Disk was detached for at least 15 days.<br>
• The Persistent Disk isn't bound to GKE Pods.
<br><br>
<b>Potential savings</b><br>
If the first criteria are met, users can save 100% of the cost of that disk. If the second criteria are met, maintenance costs can be reduced by 35% to 92%.<br><br>
<b>Recommended Action</b><br>
For the first option, users should proceed with the permanent deletion of the disk. For the second criteria, users are advised to create a snapshot of the persistent disk before deleting it. This approach allows users to incur a lower cost, as they will be charged for the snapshot rather than the disk itself.<br><br>
<b>How will Octo implement the recommended action?</b><br>
Not yet implemented.<br><br>
<b>Is rollback possible?</b><br>
Users cannot restore the disk for the first option, as it is permanently deleted. However, for the second option, users can restore it using the snapshot created.
</p>
??? info "Idle Custom Image"
### Idle Custom Image
<p>
<b>GCP Resource Type</b><br>
Compute Engine Custom Image<br><br>
<b>Optimization Type</b><br>
Usage<br><br>
<b>Category</b><br>
Delete<br><br>
<b>Description</b><br>
This recommendation identifies custom images stored in Google Cloud that are not actively in use. Retaining unused images can lead to unnecessary storage costs over time. Removing idle custom images helps reduce storage expenses and ensures that only relevant resources are maintained.<br><br>
<b>Criteria</b><br>
• The image wasn't used to create a disk for at least 15 days.<br>
• The image isn't used in any instance template.
<br><br>
<b>Potential savings</b><br>
Save 100% of the cost of that image. For more information, see [Disk and image pricing](https://cloud.google.com/compute/disks-image-pricing){target=_blank}.<br><br>
<b>Recommended Action</b><br>
Release or delete IP Address.<br><br>
<b>How will Octo implement the recommended action?</b><br>
Not implemented yet.<br><br>
</p>

## Kubernetes Engine
??? info "Idle GKE Cluter"
### Idle GKE Cluster
<p>
<b>GCP Resource Type</b><br>
GKE Cluster<br><br>
<b>Optimization Type</b><br>
Usage<br><br>
<b>Category</b><br>
Delete<br><br>
<b>Description</b><br>
This recommendation identifies Google Kubernetes Engine (GKE) clusters that are currently not being utilized. Idle GKE clusters can lead to unnecessary operational costs, as they incur charges even when no workloads are running.<br><br>
<b>Criterias</b><br>
• There are zero Pods in the Running state outside of the kube-system and gmp-system namespace in the cluster metrics events logs for the cluster during the last 30 days.<br>
• There are zero nodes or zero node pools in the cluster metrics events logs for the cluster during the last 30 days<br>
• CPU utilization (averaged over 1 hour) is below 7% and there has been no change in object count during the last 30 days.
<br><br>
<b>Potential savings</b><br>
Save 100% of the cost of that cluster. For more information, see [Kubernetes Engine pricing](https://cloud.google.com/kubernetes-engine/pricing#google-kubernetes-engine-pricing){target=_blank}.<br><br>
<b>Recommended Action</b><br>
Delete GKE Cluster
!!! warning "Considerations when deleting idle clusters"
Before you delete an idle cluster recommended by the Idle Cluster Recommender, consider the following possibilities:<br><br>
1. Does anyone use the cluster? For example, a cluster might be intentionally idle if its purpose is to maintain failover capacity.<br>
2. Should the cluster be scaled down instead of deleted? For example, a cluster running a useful workload might have low utilization and be identified as idle because more resources were provisioned than necessary.
<b>How will Octo implement the recommended action?</b><br>
Not implemented yet.<br><br>
</p>
26 changes: 14 additions & 12 deletions mkdocs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -55,13 +55,15 @@ nav:
- "octo/channel-management.md"
- "octo/alerts-management.md"
- "Recommendation":
- "octo/recommendations/about.md"
- "AWS Generated Recommendations":
- "octo/recommendations/costexplorer.md"
- "octo/recommendations/costoptimizationhub.md"
- "octo/recommendations/trustedadvisor.md"
- "OCTO Generated Recommendations":
- "octo/recommendations/octo/aws.md"
- "octo/recommendations/about.md"
- "AWS Generated Recommendations":
- "octo/recommendations/costexplorer.md"
- "octo/recommendations/costoptimizationhub.md"
- "octo/recommendations/trustedadvisor.md"
- "GCP Generated Recommendations":
- "octo/recommendations/recommendationhub.md"
- "OCTO Generated Recommendations":
- "octo/recommendations/octo/aws.md"
- "octo/unitcost.md"
- "Blue API":
- "blueapi/overview.md"
Expand Down Expand Up @@ -94,10 +96,10 @@ extra:
link: /docs-ja/
lang: ja
social:
- icon: fontawesome/brands/linkedin
link: https://www.linkedin.com/company/alphaus/
- icon: fontawesome/brands/github
link: https://github.com/alphauslabs
- icon: fontawesome/brands/linkedin
link: https://www.linkedin.com/company/alphaus/
- icon: fontawesome/brands/github
link: https://github.com/alphauslabs

markdown_extensions:
- admonition
Expand All @@ -119,4 +121,4 @@ markdown_extensions:
- pymdownx.mark
- pymdownx.tilde
- md_in_html
- footnotes
- footnotes

0 comments on commit d0fa0d4

Please sign in to comment.