Make the most of your cloud deployment with Active Assist
Staff Developer Advocate, Google Cloud
Make the most of your cloud deployment with Active Assist
Why are so many companies moving to the cloud? One reason we hear quite often is cost reduction. The elasticity of cloud services, or its ability to scale up or down as needed, means paying only for what you use. Right up there on the list of reasons is security. This is because developing in the cloud enables greater visibility and governance over your deployment's resources and data. Customers also migrate to the cloud to increase reliability and performance (through cloud vendor-provided backups, disaster recovery, and SLAs). And finally, reduced maintenance and better manageability in the cloud eases the burden on IT operations teams, freeing them up for more strategic projects.
However, on this journey to realizing the cost savings, scalability, increased security, performance, reliability, and manageability of the cloud, it can sure feel like you're sitting in the cockpit of a 747.
That's because the cloud is complicated! The vastness of the cloud (hundreds of products within Google Cloud and counting!) can make it difficult to take full advantage of the wide range of opportunities and optimizations it brings. Constantly tuning your deployment can quickly become tedious work due to the sheer magnitude of options.
That's why we want to make sure everyone using Google Cloud knows about Active Assist.
Active Assist brings together information from your workloads' usage, logs, and resource configuration, and then uses machine learning and business logic to help proactively optimize deployments in exactly those areas that draw us to the cloud: cost, security, performance, reliability, manageability, and even sustainability.
A Peek at Active Assist Solutions
Let's start by taking a look at a few recommender tools for cost optimization that are part of the broad portfolio of Active Assist solutions.
Cost Optimization Recommenders
The cloud makes it easy to spin up virtual machines and pay only for the time that resources are running. However, there can be cases when a quick prototype or experiment leaves machines running that are not actively in use or that may require less virtual CPUs and memory than allocated. Active Assist can help with both situations, proactively bringing visibility to cost optimization opportunities and minimizing the need for manual audits, a tedious task, especially when dealing with a multitude of projects.
A video version of a few of the recommenders that help minimize cloud costs.
Idle VM Recommender
Idle VM recommender identifies virtual machines that haven't been used in the last 14 days and notifies you so you can shut them down or remove them from your project. Active Assist uses system metrics to classify the virtual machines as idle when they meet the following criteria:
the VM has had CPU utilization less than 0.03 for 97% of the time during the observation window
the VM has received less than 2600 bytes per second for 95% of the VM runtime, and
the VM has sent less than 1000 bytes per second 95% of the time.
Active Assist can also help you identify other idle resources, including idle Cloud SQL instances, and idle resources associated with virtual machines, such as IPs, persistent disks, and custom images.
VM Machine Type Recommender
VM Machine Type recommender can help you optimize the resource utilization of your virtual machine instances by suggesting a machine type configuration that is more efficient for the workloads running on it. For example, if it identifies an application running on the virtual machine that has had a prolonged period of low memory usage, it will recommend switching to a machine type with less memory than currently allocated. If you decide to apply the recommendation, you can lower the costs associated with your virtual machine. The recommendations are generated using CPU and memory utilization metrics over the last eight days.
Another solution, the predictive autoscaler, goes beyond recommendations and takes an active role in your deployment!
Predictive autoscaling uses machine learning capabilities to not just respond to capacity needs, but to forecast them. It creates VMs ahead of growing demand, allowing enough time for your application to initialize. Its forecasting model continuously learns and adapts to weekly and daily patterns for your deployment using your instance group’s CPU history. For example, if your app usually needs less capacity on the weekend, the forecast will capture that.
Learn more about predictive autoscaler in this video.
Unattended Project Recommender
We can't wrap up this section without highlighting Unattended project recommender, which provides recommendations that help you discover, reclaim, and remove unattended projects. This helps optimize cost, security, and sustainability in one go! And what’s even more interesting is that it provides the carbon emission reduction impact for each “unattended project”, showing the emissions you will save if you delete the project and release all its resources.
Be sure to check other cost optimization recommenders in the portfolio:
BigQuery Slot recommender - helps you optimize BigQuery spend with slot reservations
Cloud SQL overprovisioned instance recommender - helps you resize overprovisioned SQL instances
Managed instance group machine type recommender - helps you rightsize the machine types of machine instance groups
Committed Use Discounts - helps you reduce costs through commitments
How Do I Use Active Assist?
Active Assist surfaces its insights and recommendations in several ways:
Cloud Console UI through the Recommendations Hub and in-context (within specific services pages)
Exporting recommendations to BigQuery to get all your recommendations as a BigQuery dataset for trend analysis or building dashboards
Active Assist generates most insights and recommendations for free; however, check the pricing page to see if your support plan offers the BigQuery Export capability and to review API quotas.
To dip your toes in and try out some of the Active Assist solutions in your own deployment, we suggest checking out these recommenders first, since they are among the easiest to understand and apply to your deployments: