Databricks is a fully managed cloud-based unified analytics platform built on Apache Spark. It provides a collaborative environment for data engineers, data scientists, and analysts to process big data, conduct data science, and implement machine learning workflows.
Databricks simplifies the use of Spark by offering a managed environment where users can spin up clusters, collaborate using interactive notebooks, and access various built-in libraries for analytics, machine learning, and data engineering tasks.
This platform not only streamlines the development and deployment of big data applications but also promotes an environment of teamwork and innovation, enabling organizations to extract actionable insights from their data more efficiently.
Instance Cost: This is the cost of the underlying compute instances on which Databricks clusters run. These costs depend on the instance types and the duration for which the instances are running.
Databricks Unit (DBU) Cost: A Databricks Unit (DBU) is a unit of processing capability per hour, billed on a per-second usage basis. The cost depends on the type of cluster and its configuration. Each operation performed on Databricks consumes a certain number of DBUs.
Monitor and Analyze Performance Metrics:
It is essential to set up custom configurations to gather the metrics.
Enable Custom Metrics: To monitor performance metrics like CPU and memory usage, you need to enable custom metrics on your EC2 instances. This involves using initialization (INIT) scripts to send these metrics to AWS CloudWatch. Custom metrics provide deeper insights into cluster performance and help in making informed decisions.
Create INIT Scripts: Use INIT scripts to create custom namespaces in CloudWatch/Log Analytics for each cluster. This allows us to track performance metrics like CPU and memory usage for individual clusters. For instance, you can create an INIT script to capture metrics and send them to CloudWatch. This step ensures that all necessary performance data is collected systematically.
Attach INIT Scripts to Clusters: Attach the INIT scripts to the Databricks clusters. This ensures that the necessary performance metrics are collected and sent to CloudWatch/Log Analytics whenever the cluster is active. Regular monitoring of these metrics helps in identifying inefficiencies and optimizing resource usage.
Challenges in Databricks Cost Optimization:
Lack of Direct Performance Metrics: Earlier in Databricks, there were no direct performance metrics available. Performance metrics must be gathered from the underlying computing instances. Memory metrics require custom configurations to be reported to AWS CloudWatch/Log Analytics, adding another layer of complexity. This lack of direct visibility can make it challenging to optimize and manage costs effectively. Now in august Databricks made it available for the public access.
Limited Visibility into Resource Usage: Understanding which workloads or departments are driving up the costs can be challenging, especially in multi-tenant environments. This can make it difficult to allocate costs accurately and find optimization opportunities.
Databricks Cost Optimization Best Practices:
Enable Cluster Termination Option: During cluster configuration, enable the automatic termination option. Specify the period of inactivity after which the cluster should be terminated. Once this period is exceeded without any activity, the cluster will move to a terminated state, thus saving costs associated with running idle clusters.
Optimize Cluster Configurations: Choosing the right configuration for the Databricks clusters is essential for cost efficiency. Consider the following:
Select Appropriate Node Types: Match the node types to your workload requirements to avoid over-provisioning resources. By selecting the most suitable instance types, you can ensure that your clusters are cost-effective and performant.
DBU: Understanding the DBU consumption patterns and optimizing workloads can lead to significant cost savings.
Why CloudCADI for Databricks?
CloudCADI helps you in optimizing,
1.Autoscaling inefficiency
Though autoscaling in databricks brings enormous benefits, it can easily add up your cloud bills without adding any value. CloudCADI gives multiple actionable recommendations on the node resizing possibilities that can potentially save your databricks costs.
Example: Instead of 5 nodes of type – Standard_D4ads_v5 that costs $0.21 /h, you can alter it to 2 nodes of type Standard_D8as_v5 and realize 20% savings.
2.Cluster-node resizing inefficiency
CloudCADI analyzes the number of anomalies (inefficient CPU and Memory utilization) with its intelligent engine and gives recommendations on resizing.
Example: “Reduce the worker count from 8 to 5 for optimal usage”
Conclusion:
Optimizing costs on Databricks involves a combination of strategic configurations, attentive monitoring, and the use of best practices for the specific workloads. By implementing cluster termination policies, monitoring performance metrics, and optimizing cluster configurations, you can ensure that your Databricks environment is both cost-effective and efficient.
Want to explore CloudCADI? Call us today : Book a Demo
Author
Nandhini Kumar, is our Software Engineer L2 who was part of Databricks implementation team in CloudCADI.
Azure SQL Database cost optimization is a much sought after request we get from our customers. Azure SQL Database is a powerful, fully managed database-as-a-service (DBaaS) that eliminates the need for businesses to handle maintenance, security, and reliability. Despite its versatility, effectively managing costs within Azure SQL Database can be complex, especially when dealing with different purchasing models and configuration options. This is where CloudCADI steps in, providing the insights and automation necessary to optimize your Azure SQL Database investments.
Azure SQL Database Overview
Azure SQL Database offers flexibility with two main purchasing models:
vCore-Based Purchasing Model:
Customization: Users can select the number of vCores, memory, and storage speed, providing more control over database performance.
Scalability: Ideal for applications with specific resource needs, allowing for precise performance tuning.
DTU-Based Purchasing Model:
Simplicity: Users choose the number of DTUs, which represent a mix of CPU, memory, reads, and writes.
Predictability: This model offers fixed compute sizes, storage, and backup retention, simplifying budgeting and cost forecasting.
How CloudCADI Enhances Azure SQL Database Management
CloudCADI is a cloud cost optimization platform that helps businesses maximize their cloud investments. By offering granular insights and actionable recommendations on Azure SQL Database, CloudCADI ensures that your database configurations are both efficient and cost-effective.
1. Intelligent Benchmarking for Optimal Configuration Selection
When migrating to Azure SQL Database, choosing the correct compute tier is crucial for balancing performance and cost. CloudCADI analyzes your existing workloads and recommend the most suitable configuration—whether it’s the vCore or DTU model. This helps prevent over-provisioning and under-utilization of resources, ensuring that your databases run efficiently.
2. Dynamic Scaling with Serverless Compute Tier
For databases with unpredictable traffic patterns, Azure SQL Database’s serverless compute tier automatically adjusts CPU resources based on demand. CloudCADI continuously monitors these traffic patterns and provides recommendations on to leverage the serverless option. This ensures you only pay for the resources you use, leading to significant cost savings.
3. Optimizing Single Database Configurations
If your database has regular traffic and predictable computational needs, selecting the appropriate configuration is key. CloudCADI helps determine when to use the Provisioned vCore or DTU models for such databases. Furthermore, if one of your databases experiences dramatically low usage than others, CloudCADI can advise to resize the configuration to optimize both performance and cost.
4. Efficient Resource Management with SQL Elastic Pools
SQL Elastic Pools allow multiple databases to share resources, making it easier to manage fluctuations in usage. CloudCADI’s advanced analytics help you allocate resources across your databases more effectively, ensuring that you’re not overpaying for underutilized capacity. If a particular database is consuming a disproportionate amount of resources within an Elastic Pool, CloudCADI will recommend to resize the configuration, thus balancing cost and performance across your environment.
Cost Optimization Tips with CloudCADI
Effective cost management is crucial for any cloud-based database solution. CloudCADI provides several strategies to help you optimize your Azure SQL Database costs:
Right-Sizing Resources: CloudCADI analyzes your application’s needs and recommends the most appropriate database configuration. For example, it may suggest moving a high-usage database from an Elastic Pool to a Single Database model to reduce overall costs.
Performance Monitoring and Adjustments: CloudCADI continuously monitors key performance metrics such as CPU usage, DTU percentages, and deadlocks. Based on these insights, it provides actionable recommendations to scale down resources if they’re underutilized or to optimize queries for better performance.
Conclusion
CloudCADI is an indispensable tool for businesses using Azure SQL Database, helping them achieve optimal performance while controlling costs. Through intelligent benchmarking, dynamic scaling, and continuous performance monitoring, CloudCADI ensures that your Azure SQL Database configurations are tailored to your specific needs, making your cloud investment as efficient and cost-effective as possible. Whether managing a single database or a complex multi-tenant environment, CloudCADI provides the tools and insights necessary to maximize the value of your cloud infrastructure.
Author
Karthick Perumal leads our Product Engineering team with over 16 years of extensive IT experience. He is a certified cloud engineer. His calm and composed approach consistently drives the team forward, ensuring focus and motivation even in challenging circumstances.
As businesses continue to embrace Kubernetes for its scalability and agility, cost management becomes increasingly critical. We understand that managing cloud costs can be complex, especially in large and dynamic containerized environments. That’s why we’re here to provide you with practical insights and actionable tips to take control of your Kubernetes spending. In our previous blog on Kubernetes Cost Optimization Best Practices – Part 1, we covered the common cost optimization challenges and a few solutions. Let’s see a few more,
Taints & Tolerances
In Kubernetes, “taints” and “tolerations” are mechanisms that can be used strategically to optimize costs by efficiently managing the allocation of workloads to nodes within your cluster. They act as filters in the Kubernetes world. Some of its uses in optimization are,
Efficient Utilization:
Nodes can be ‘tainted’ based on their utilization or capacity, such as CPU or memory usage. This allows you to mark nodes that are underutilized or overutilized. Whereas pods that are designed to scale horizontally can have ‘tolerations’ for nodes with low utilization. When additional resources are needed, more pods can be scheduled on those nodes to efficiently utilize available resources without provisioning new nodes.
Cost Optimization:
You can create custom ‘taints’ to represent various cost-related attributes, such as GPU availability, network bandwidth, or specific hardware types. Also pods can be configured with ‘tolerations’ that align with your custom cost-based policies. This ensures that workloads are deployed on nodes that match their requirements while considering cost factors.
Example: Let’s say, your web application includes a background processing component that handles non-critical tasks like generating reports or processing non-urgent user requests. These tasks can tolerate occasional interruptions or delays without impacting the overall user experience.
For this case, Taint the nodes that are running on spot instances to indicate their cost-effectiveness but potential for interruptions.
Result: This taint marks these nodes as suitable for running cost-sensitive workloads.
To schedule less critical pods on spot instance nodes, define tolerations as below,
Result: These tolerations allow the pods to be scheduled on nodes with the “spot-instance” taint.
If a spot instance is reclaimed by the cloud provider, Kubernetes will automatically reschedule these pods on other available nodes, maintaining the desired level of service while optimizing costs.
Sleep Mode
You don’t need all workloads or resources to run 24/7. Especially during non-business hours and weekends. CPU, memory, or storage resources rack up the bills when they are left idle. Putting them into sleep mode with Cronjobs during non-business hours or HPA efficiently scales down the environment when not in use and scales up automatically when needed.
Example: If you want to put your Dev environment to ‘sleep mode’, here’s the code to scale them down at 5.00 P.M. everyday.
Node Pools
Node pools involves grouping nodes with similar characteristics like CPU, memory, etc. This helps in efficient resource management which in turn drives Kubernetes cost optimization. Different cloud providers offer a wide range of VM instance types optimized for various use cases. When you explore the offerings of your chosen cloud provider GCP, AWS, Azure, etc. you can identify instance types that align with your workload requirements. Pay attention to factors like CPU, memory, storage, network performance, and cost.
Kubernetes Cost Monitoring Tools
At Amadis as we always insist, spending is not a bottleneck as long as you SPEND RIGHT on your cloud resources. Spending right starts from analyzing your Kubernetes environment which is possible with Kubernetes cost monitoring tools.
CloudCADI simplifies your complex Kubernetes cost optimization process in a few clicks. Some of its key features are,
Pod-level showback: From your native cloud providers’ bills, you can get the charges of the clusters overall. Whereas in CloudCADI, you have the flexibility to drill down the charges at a lowest possible unit level – pod.
Node resizing: CloudCADI never stops with the Kubernetes cost and utilization overview. Furthermore, it gives intelligent recommendations on how to alter your resources with choices and savings opportunities. Cloud administrators can simply leverage these options rather than manually evaluating the options.
By implementing these cost optimization tricks and regularly reviewing your Kubernetes environment for inefficiencies, you can effectively manage your infrastructure costs while ensuring optimal performance and resource utilization.
Cloud FinOps products & tools are essential for enterprises to effectively manage, optimize, and control their cloud costs. They offer a plethora of benefits allowing organizations to make data-driven decisions, achieve cost savings, and maximize the value of their cloud investments. Let’s dig deep into some of its benefits.
What Are The Benefits of Cloud FinOps Tools?
1. Cost Optimization: They tell you where you can save.
Cloud FinOps tools help enterprises optimize their cloud spending by providing insights into usage patterns, identifying cost-saving opportunities, and enabling effective cost-management strategies. They allow to monitor and control cloud costs, avoid unnecessary expenses, and make informed decisions to optimize their cloud investments.
2. Financial Visibility: They break down your cloud spend.
Cloud FinOps tools offer financial visibility by providing detailed reports and analytics on cloud costs. They help enterprises understand their cloud spending across different services, business units, projects, or regions. This visibility enables better budgeting, forecasting, and cost allocation, empowering organizations to track and manage their cloud financials effectively.
3. Resource Efficiency: They show ways to leverage your cloud resources.
Cloud FinOps tools enable enterprises to optimize resource allocation and utilization. They help identify underutilized or idle resources, recommend rightsizing opportunities, and enable efficient scaling and provisioning of cloud resources. By optimizing resource usage, enterprises can eliminate wasteful spending and achieve better overall resource efficiency.
4. Cost Accountability: They turn cloud stakeholders financially accountable.
Cloud FinOps tools facilitate cost accountability by providing cost visibility to different stakeholders within the enterprise. They enable cost tracking and chargeback/showback mechanisms, allowing business units or teams to understand and manage their cloud spending. This promotes transparency, accountability, and cost-conscious decision-making throughout the organization.
5. Collaboration and Communication: They provide cross-functional collaboration.
Cloud FinOps tools foster collaboration between finance, IT, and business teams. They provide a common platform for discussions, cost analysis, and decision-making related to cloud spending.
6. Scalability and Growth: They align your financial goals with technical objectives.
Cloud FinOps tools support enterprises in scaling their cloud operations efficiently. As organizations grow and their cloud usage expands, these tools enable proactive cost management and scalability planning. They provide insights into the cost implications of scaling, help forecast future costs, and enable enterprises to align their cloud spending with business growth objectives.
Why Should You Choose CloudCADI?
CloudCADI (Cognitive & Actionable Data Insights) is an all-in-one cloud cost optimization tool that can supercharge your cloud cost management. From granular cost breakdowns to actionable recommendations, our tool provides the ultimate financial visibility and control.
While CloudCADI offers a wide range of benefits, we highlight three need-of-the-hour features that solved most of our client’s cost optimization challenges.
CloudCADI has Externalized Business Rule Engine (EBRE):
An externalized business rule engine (EBRE) refers to a software component or system that separates business rules from application code and stores them in an external repository or engine. It allows business rules to be managed independently of the application logic, enabling greater flexibility, maintainability, and agility in decision-making processes.
Some of its benefits include:
Business-User Friendly: An EBRE is designed to be accessible to business users and subject matter experts who have domain knowledge but may not possess programming skills. It provides a user-friendly interface to manage rules, empowering non-technical users to participate in the rule development process.
Agility and Flexibility: With an EBRE, CloudCADI allows business rules to be modified and updated independently of the underlying application logic. This promotes agility and flexibility in adapting to changing business requirements without the need for code changes or application redeployment.
Separation of Concerns: Externalizing business rules improves maintainability, modularity, and readability by allowing developers to focus on application logic while business experts concentrate on defining and managing the rules. It in turn promotes collaboration and reduces the time required to implement rule changes.
Target-driven approach: Business users have the option to set utilization targets and derive actionable insights & recommendations for execution. Like the traditional data center optimization models, this target-driven optimization using CloudCADI EBRE provides the technology team with the much-needed, end-state visualization before implementing the changes.
CloudCADI is Non-intrusive:
When an enterprise wishes to start cloud cost optimization with CloudCADI, all they need to give us is just a reader-level role for their cloud subscription. Our product starts its work right from there through the cloud service provider’s logs. Unlike other major cloud finops tools in the market, CloudCADI is agentless, (do not load agents), and exports any of your confidential data outside your secured networks.
A few benefits include:
Security: CloudCADI ensures the security and privacy of your cloud cost data. It sits within your cloud environment without any third-party external agents that require access to your sensitive cloud information.
Minimized disruption: CloudCADI identifies cost-saving opportunities without requiring significant changes to your existing infrastructure or application architecture. It analyses your cloud usage and spending patterns, providing recommendations to optimize costs while minimizing disruption.
Easy Implementation: CloudCADI can be implemented with minimal effort and configuration. It typically integrates with your existing cloud environment seamlessly. Within 2 weeks you can start optimizing your cloud infrastructure.
CloudCADI is Cloud-native:
CloudCADI is a cloud-native solution leveraging the cloud-native components for its deployment and functioning.
Some of its benefits are:
No additional compute: CloudCADI utilizes customers’ existing cloud services for its necessary data extraction required for optimization. Thus differs from many cloud finops tools in the market that writes separate scripts on the client instances consuming significant compute power and associated costs.
Agility: CloudCADI embraces the principles of agility, allowing for faster deployment and iteration cycles. They leverage containerization and monolithic architecture, enabling rapid updates and feature releases, thereby improving time-to-market.
Role-Based Access:
Not all cloud stakeholders require all cloud financials. While the business heads focus on the expenses overview for a defined period, cloud engineers will look for a granular breakdown that can lead them to the ultimate cause. CloudCADI has the flexibility to restrict or grant view permissions for users.
Self-Service Analytics / Dashboard View: You can grant or restrict user permissions to view cost summary, service category, performance, and/or highly utilized resources as per the user. For example, resources’ performance and highly utilized resources chart alone could be given to engineers who handle restructuring.
Advisor recommendations: This is our key feature that allows users to start optimizing almost immediately with multiple choices. This makes it more valuable to engineers rather than the CIOs. You can make this read-only access for them, so they focus on what is required.
Settings: You even have the facility to restrict CloudCADI usage settings like the cloud account information, tags, and members according to the user. This allows you to protect your secret cloud account credentials, usage, etc. intra-organization.
CloudCADI Integrates with Service Now:
Enterprises use ServiceNow ticketing for various reasons like centralized ticketing management, streamlined ticket workflows, self-service capabilities, and enhanced reporting.
If you are a large enterprise with multiple disconnected teams handling ‘n’ a number of cloud resources for diverse set deliverables and using ServiceNow as your ticketing software, you are in safe hands.
CloudCADI can be easily integrated with your ServiceNow in just a few seconds. Beyond the visualization of your cloud environment, this paves the way to take action on the optimization recommendations. With this, the cloud cost optimization becomes seamless eliminating manual error-prone communications and efforts.
Start Now!
Are you excited about the above features? We have just listed a few and there are many more to experience. Reach out to us for a demo today. Start optimizing your cloud investment without compromising your performance.
In today’s digital age, businesses are constantly looking for ways to improve their operations and remain competitive in the market. The cloud is one of the most significant advancements in technology that has revolutionized how businesses operate. Cloud computing has transformed the way companies store, manage, and access data, providing a more flexible and scalable approach to IT infrastructure. However, as technology advances, old practices become outdated, and it is essential to consider cloud modernization practices which in turn saves cloud expenses.
What is Cloud Modernization?
Cloud modernization refers to the process of updating existing cloud infrastructure to leverage new capabilities and ensure that it aligns with the latest industry standards. With the ever-increasing demand for agility, scalability, and security, cloud modernization can help businesses stay ahead of the curve. Let’s see some strategies for cloud modernization.
Use Serverless Computing
Serverless computing is another trend that has gained momentum in recent years. With serverless computing, businesses can run applications without having to manage servers or infrastructure. This approach can help businesses achieve greater agility and scalability, as they only pay for the resources they use.
Serverless platforms, such as AWS Lambda or Azure Functions, do not require any upfront costs or long-term commitments. You only pay for the actual execution time and the number of invocations. This cost structure is particularly beneficial for sporadic workloads or applications with unpredictable usage patterns, as you are not locked into paying for unused resources. This reduces operational overhead and associated costs for system admins or DevOps teams.
Optimize Resource Utilization
Finally, businesses can optimize their infrastructure costs by optimizing their resource utilization. By monitoring their cloud infrastructure usage, businesses can identify areas where they can reduce their resource utilization, such as idle instances or oversized resources. This approach can help businesses reduce their infrastructure costs by only paying for the resources they need. Cloud FinOps tools like CloudCADI effectively do this and come with more exciting features like the one-panel dashboard, externalized business rule engine, and non-intrusive deployment.
Microsoft recommends three modernization practices for maximized cloud results.
Application modernization
Application modernization is leveraging technological advancements for upgrading legacy applications to improve their functionality, performance, scalability, security, and user experience to suit fast-paced business needs.
Different approaches to consider are,
Re-arrange:
Lift and shift your legacy code to modern technologies without significant changes to the code.
Re-architect:
Redesign the application leveraging microservices or containerization approaches. These technologies enable more efficient resource utilization by allowing applications to scale up or down based on demand. With auto-scaling capabilities, organizations can dynamically allocate resources as required, minimizing idle resources and associated costs.
Re-build:
Build an entirely new application using modern frameworks, and languages from scratch while retaining the core business logic and functionality.
Re-place:
Replace the legacy application with commercially available SaaS solutions saving extensive development efforts. Retiring the legacy applications reduces the costs associated with maintaining and supporting outdated infrastructure and licenses, while also benefiting from the cost-effective, scalable, and managed services provided by the cloud platform.
Process Modernization
Bringing DevOps methodology into processes is the best modernization approach as it brings together planning, development, delivery, and operations. Microsoft Azure comes with a lot of DevOps tools like Azure Repos, Azure Pipelines, Azure Boards, etc. that can effectively help developers to speed up their processes when coupled with the Agile framework.
Database Modernization
Microsoft recommends Platform as a Service (PaaS) and Infrastructure as a Service (IaaS) adoption for cloud database modernization. Examples are, Azure SQL, Open-source SQL & NoSQL. Modernizing databases in the cloud allows organizations to take advantage of cloud-based infrastructure and eliminates the investment in expensive servers, storage systems, and networking equipment, organizations can leverage scalable and cost-effective cloud resources, paying only for what they use.
Conclusion
Cloud modernization is essential for businesses looking to stay ahead of the curve in today’s digital age. Adopting the above-mentioned best practices can achieve greater agility, scalability, and flexibility while reducing costs. With the right approach to cloud modernization, businesses can unlock the full potential of the cloud and stay ahead of the competition. Undoubtedly, it should be a continuous process for success at all levels.
“41.4% of cloud leaders are increasing their cloud-based services and products – Google Cloud Brand Pulse Q4 2022 survey.”
Before we unravel the areas where our budgets drained last year, we are already in the mid of February 2023. The macroeconomic downturn has gone rigorous in recent months and is threateningly widespread. The sooner the enterprises figure out their business sustainability areas, the safer their cash flow. Cloud expenses occupy a significant portion of any fast-paced digitally transforming enterprises’ overall budget. This article will show you the ways to optimize your cloud budgets for days to come.
1. Watch out for the cloud trends!
“Hyperscalers will face a period of rising costs and lower revenue growth” – Canalys.
Public cloud service providers like Azure, AWS, GCP, etc. are expected to hike their prices percentage to compensate for the current inflation ramifications. If you are a cloud-native or a cloud-dependent business, ensure your team planned the 2023 cloud budget considering a 20-30% price hike assumption. Update your existing cloud environment with recent cloud modernization practices.
2. Stay focused on business goals.
In response to worldwide inflation, if you think reducing your cloud resources count might control your cloud expenses, you are in the wrong direction!
Understand the business purpose before you touch any cloud resource. For example, if you are forecasting a 10 -15% increase in your flagship product/service Q1 sales that uses VMs, trimming down the VMs count might land your profits downfall.
3. Educate every stakeholder.
Cloud cost management is a continuous process involving finance, operations, and business teams. Certain enterprises are still in the migration phase. It is vital to bring financial prudence among every team member involved in the process.
Example: If one of your cloud engineers has scaled out Kubernetes cluster resources during an app dev stage and left it as such in the production stage even after a lot of unwanted functionalities are purged, it would compound the cloud bills. Educating each cloud practitioner before adopting and updating them at periodic intervals on how they are accounting for the bills is crucial.
4. Historical Data is Gold
Nothing tells us better than the past. Bundle up all your previous year’s cloud cost, and utilization data from your cloud bills. You can take the help of your cloud service provider’s native data analytics tools or third-party tools like CloudCADI. You can get the cost trends for a defined period. By observing the cost spikes and valleys we could find the department, time, and resource responsible for what percentage of cloud budgets.
For example, if a project’s cloud resource utilization is at its peak during business hours and less or none during the festival/holidays. These patterns could help predict the cloud budget for 2023 accordingly.
5. Collaboration serves the purpose.
Success is a collaborative process. We cannot blame the finance team every time there is a cloud budget overrun. Get a cost estimate from every team for the following year. Understand the fact that it is difficult for a team leader to predict a budget as they are afraid of the wrong forecast and becoming answerable to the management. Educate them that it is practical and 10-30% variance is acceptable. So, we get a number to start.
Don’t forget – Cloud Cost Optimization is the Key!
“CIOs Still Waiting for Cloud Investments to Pay Off” – Wall Street Journal
Gartner forecasts worldwide public cloud spending to cross $592 billion in 2023. While the expenses on the cloud constantly rocketing, ROI is still under question for most enterprises. Cloud technology seemed like an economical option with huge benefits like scalability, agility, flexibility, etc. during the crisis. The pay-as-you-go model from cloud service providers further eased the organizations to migrate their on-prem workloads at a faster pace in the last few years. Cloud practitioners started enjoying the luxury of cloud resources without worrying about their impact on the cloud budget. Rightsizing, cloud tagging, discounts, etc. are inevitably helpful to overall business growth.
Remember, how smart and strong may be your cloud budget, if not utilized on the right resources at the right time and in the right manner, you’ll end in negative ROI and a cloud resource deficit that can harm your end customer.
SPEND RIGHT on the cloud with CloudCADI and have a blast in 2023!
Cloud containers come with the flexibility to lift and shift applications to any environment, cloud or virtual, or bare metal without worrying about the virtual OS, hypervisors, etc. Simplified management, paced-up delivery, and agility compel cloud developers to hail containerization. Kubernetes aka k8s (if you are wondering what k8 means, it’s just a replacement of 8 letters “ubernete”) is a popular open-source containerization platform cloud developers adopt widely. According to a recent report by CNCF, there is a 67% increase in Kubernetes developers worldwide which manifests the popularity.
The sad news is the surge in adoption and usage comes with a compromise in the IT infrastructure budget. Enterprises could be wasting nearly 80% of Kubernetes expenses on unintentional resources that are not helping organizations to hit their goals as planned. Let’s see in this blog what are the challenges and ways to optimize.
Challenges in Kubernetes Cost Optimization
Charged as a whole:
A cluster contains multiple nodes within. Each node will, in turn, contain a varying number of containers. Every node that is present inside one cluster is not necessarily part of the same application as others. Each node may be handled by 20 different teams for different applications. But the cluster is charged as a whole or clusters together by the cloud service providers. Billing starts right when a container is deployed into a node. The additional cost of $2.4/day is charged for Kubernetes cluster maintenance, software license, disaster recovery, etc.
Showback and chargeback – Near Impossible:
These two processes are vital for enterprises to bring financial accountability. (Showback is the process that gives visibility to a business unit’s expenses on cloud resources usage for a particular period but not charged. Whereas chargeback is where the unit is informed as well as charged based on its utilization.) Tagging, which can aid the engineers in cost tracking is not possible in Kubernetes clusters.
Every penny we invest becomes worthy when it checks the list of features/output we planned. When they just stay at the expense side mapped to no production, then the ultimate source for the anomalies should be identified. But it is not as simple as it sounds for Kubernetes clusters. Spotting the team responsible for most of the expenses is daunting as each container may be utilized by different teams in the enterprise working on different deliverables. Each team’s Infrastructure budget and resource cost allocation varies on the other hand.
Multi-cloud adoption:
In Gartner’s recent survey, 81% of the respondents stated that they use 2 or more cloud service providers to avail of various benefits like overcoming vendor- lock-in, resource discounts, disaster recovery, etc. Kubernetes clusters will contain workloads from different cloud service providers like AWS, Azure, GCP, etc. which further twists the cost anomalies detection and Kubernetes cost optimization process.
Dynamic Autoscaling:
One of the key reasons for cloud engineers to choose the Kubernetes cluster is its autoscaling feature. Depending on the usage demand, Kubernetes scales up or down so the resources suffice the compute requirement during peaks and valleys. Further in horizontal autoscaling, containers scale out which may reach from 2 to 20 within a day. Kubernetes cost optimization turns complicated because of this unpredicted autoscaling.
Kubernetes Cost Optimization Best Practices
Let’s look at the optimal ways to trim the inadvertent expenses.
Quality of Services for Pods (QoS)
Kubernetes cluster offers cloud practitioners the flexibility to set different QoS classes to Pods. Based on this the Pods’ scheduling and removal become easier for cloud practitioners. It is of 3 types – Guaranteed, Burstable, and Best-Effort.
Guaranteed:
When cloud engineers need to have a Pod, whose instances are sufficient to handle a highly critical app, they can configure it to be a guaranteed QoS class. So, both the CPU & memory limits and requests are the same and set. As the name suggests it guarantees minimal resources (Requests are the minimum number of resources and limits are the maximum resources it can use)
Burstable:
A Burstable QoS class is assigned for a Pod when the vCPU or memory limit is more than the requests or not essentially the same. So, when the need arises for a spiked compute requirement, they can be utilized.
Best-Effort:
When both the limits and requests are not set, it is classified as a best-effort QoS class. Cloud engineers can avail for non-critical applications.
As we can clearly witness, Best-effort pods are the first choice for removal followed by Burstable and then Guaranteed.
As we saw earlier, the Kubernetes cluster is shared by various teams. There is a possibility that one team may consume most of the Pods leaving other teams scarce. Namespace-level Pod restriction can mitigate this issue (Namespace is a virtual cluster). ResourceQuota is the means through which we can limit Pods’ usage within a Namespace.
Kubernetes administrators create a ResourceQuota for each Namespace. Whenever a user creates or updates a Pod within a Namespace, the ResourceQuota system checks if the limits are exceeded, If it is crossing the limits, it returns a “403 FORBIDDEN” error denying the action.
LimitRange is another policy that helps with resource constraints individually. As the name goes limits the range of “limits & requests” within a Namespace.
3. Affinity
Pod/Node Affinity helps in influencing the pod scheduling that helps in resource optimization and, in turn the cost. Even though the scheduler does its job of equally spreading pods across the nodes, for some special cases like, when an application requires a specific hardware or licensing constraints, we can use Node Affinity to schedule pods onto specific nodes. This in turn avoids over provisioning of expensive resources and kubernetes cost management.
” 39% of enterprises with revenue 50M-1B USD uses Azure App Service” – Gartner
Azure App Service is one of the popular cloud services offered by Microsoft. IT services, finance, and manufacturing enterprises widely adopt App Services for their ample benefits. North America ranks on top with 51% followed by Europe, Middle East, and Africa marks 21%.
As enterprises invest a huge chunk of their cloud infrastructure budget in Azure app service, let’s see in this article the possible ways to optimize their expenses efficiently.
What is Azure App Service?
“Quickly build, deploy, and scale web apps and API on your terms” – Azure
Azure app service is a web-hosting platform from Microsoft. This PaaS (Platform as a Service) hosts more than 2M apps and sites designed with different coding languages (.Net, Python, etc.) on Azure as of now. It facilitates the users to just give their code and configuration files and focus on their projects while Azure takes care of the infrastructure maintenance, security, etc.
Released in 2013, offers significant benefits like,
Built-in scaling options(manual/customized)
Zero downtime deployments
Built-in CI/CD and operations monitoring
Strong Visual Studio and Visual studio code integration
Deployment slots accommodate faster app updates, testing, development
Automatic security patching
App Service Environment v3 allows network access external to your apps.
Allied services like Azure CDN, Azure Front Door, Azure Security Center, and Application Insights further simplify cloud operations
App Service comes with flexible pricing plans like free, basic service plan, standard service plan, premium v2/v3 service plan, isolated service plan, etc. Charging is based on the compute resources we utilize on a per-second basis. Analyzing the hosting needs itself solves half the problem eliminating the unintended bills.
For example, if your apps have low traffic volume, (CPU & memory usage) ‘The Basic Service Plan’ is more than enough starting from $0.018/hour instead of the ‘Standard Service Plan’ costing $0.095/hour.
2. Audit
Study the existing cloud app service usage thoroughly. As organizations boom over years developing various niche products, projects, and services, cloud services bundle up along with the underused or left out. When there is a change in the organization hierarchy or let’s say, the cloud infrastructure manager leaves the organization without documenting the left-out resources. The new employee continues with the current infrastructure. This will balloon the monthly cloud bills without adding any productive business outcomes. Periodically audit the App Service usage and safely remove the left out after checking its dependencies over other projects/apps.
3. Alternate
A wrong specification pick can easily pile up the bills. The initial stages of infrastructure setup wouldn’t involve a proper prediction of the compute requirement.
For example, let’s say a cloud engineer had chosen P2V2 with 420 total ACU and 7 GB memory costing $180.31 USD/month during the app service creation without knowing the app’s compute power requirement. Assume it hosts 4 apps. If the utilization is less than 50%, resize it to P1V2 with 210 total ACU charging half the costs of P2V2.
4. Combine
Look for options to progressively reorganize the app services. We can deploy different web apps and APIs under one App Service Plan by specifying proper configuration details during setup. But make sure the regions of App Service and App Service Plans are the same. Because specifications differ from region to region.
5. Understand the associated costs
It is crucial to understand that our bills will not only have Azure App Service as a line item. Additional costs also accrue like App Service Domain costs (per year), IP-based certificate bindings cost (Standard tier and above), Virtual network cost, Storage account cost, App Service Certificates cost, etc. These costs can still add up to the bills even after deleting all apps in App Service. Make sure you delete all these additional resources as well.
Want a Simple Solution?
CloudCADI ends your search for a one-stop Azure App Service cost optimization tool. It gives you all actionable insights and recommendations for effective App Service cost optimization under one dashboard with options to dive deep and check the root causes. Sounds simple? Call us today.
Enterprises globally prefer to use cloud cost optimization tools to maximize their cloud investments. While certain organizations use native tools provided by AWS, GCP, and Azure others tend to opt for homegrown tools or third-party tools. Few even mix up to reduce cloud spending. According to a report from report of the FinOps Foundation, enterprises use an average of 3.7 tools for their cloud cost optimization process. Let’s see in this article a few of the best cloud cost optimization tools you can evaluate for 2024.
Cloud Native – It leverages the power of cloud features like scalability, elasticity, etc. facilitating faster deployment
Externalized Business Rule Engine – It allows the user to play around with multiple cloud assets recommendations, so the user has the flexibility to choose as per their infrastructure and project needs.
Non-intrusive nature – It stays within your cloud environment eliminating the need to worry about the security breach and third-party intrusion
Role-based data access – Customizing the cost optimization data visibility based on roles (Engineering team, Finance team, etc.) is simple with Cloud CADI.
Showback- It allows you to drill down and find the root cause of the cost overruns to take immediate actions.
End-to-End Automation- It facilitates the seamless integration of ticketing tools like ServiceNow.
Alerts- It has customizable reporting& alert capabilities to give visibility over IaaS/SaaS/PaaS services and assets, resulting in a better understanding of activities in the cloud
Clients – Johnson & Johnson, Unisys, GSM Outdoors, Exafluence, DigiKey
Founded – 2019
HQ: New Jersey, USA
Other Tools
‘Finops Foundation‘ is a non-profit organization that was established to promote best practices, standards, and education in the emerging field of cloud financial management, recently released a report on “Different Usage Types of FinOps Tools” (ref. figure below). Let’s see some of the tools mentioned,
A native product of AWS cloud service provider helps to visualize, understand, and manage your AWS costs and usage over time. Few key features are,
Monthly costs report – AWS Cost Explorer includes a default report that helps you visualize the costs and usage associated with your top five cost-accruing AWS services and gives you a detailed breakdown of all services in the table view.
Hourly & resource level granularity – AWS Cost Explorer helps you visualize, understand, and manage your AWS costs and usage over a daily or monthly granularity.
Savings plan reports – It provides you with two reports to help analyse your Savings Plans purchases and saving opportunities – Savings Plans utilization report and Savings Plans coverage report.
Reservation reports – The reservation utilization report visualizes your aggregate reservation utilization and allows you to set a custom reservation utilization target. The reservation coverage report visualizes your overall reservation coverage and allows you to set a custom reservation coverage target.
Cloudability, a product of Apptio, ingests, normalizes, and structures cloud billing and usage data from across your public cloud ecosystem to actively manage spending and consumption to continuously improve the unit economics of cloud service. Few key features are,
Budgets & forecasting – Establish team budgets, accurately forecast, and track cloud spend
Cloud cost summary Dashboard – Correlate cloud spend to business value to make cloud investment decisions with confidence
Rightsizing recommendations- Stay informed of costs and act on anomalies and rightsizing opportunities by team, service, or project
True Cost Explorer – Accurately allocate all costs, including containers and support charges, to ensure a full chargeback of cloud costs to the business
Few Clients: ibotta, Agero, OLX Group, seek
Founded: 2011
HQ: Portland, Oregon, United States
Subsidiaries: Datahero, Inc., Digtal Mines Ltd., RipFrog, Inc.
Cloud Health is a product of VMWare, which delivers intelligent insights that help you optimize costs, improve governance, and strengthen your cloud security posture. Some of its few key capabilities are,
Resource organization & management – Cloud Health FlexOrgs helps in aligning cloud data with the business offering greater control of user access, sharing, etc.
Reporting & Dashboards- Filter and refine out-of-the-box graphical and tabular reports to correlate datasets for analysis against your business objectives.
Budget management and forecasting – Configure budgets to visualize your expected costs for the year in advance and compare it with actual spending as the year progresses.
Few Clients – Experian, Salesforce, Harman, Scholastic
Datadog Cloud Cost Management delivers cost data where engineers work and with resource level context like CPU, memory, and requests easily scoped to their services and applications so that they can take action and spend effectively. Some of its key features,
Instantly allocate your cloud costs across cloud providers and by product, service, and team, with out of the box and user defined tags
Identify the biggest cost changes and use powerful queries to drill down to resource-level spend
Make cost decisions with confidence with built in cost validation that ensures high data accuracy
A few Clients: Samsung, Siemens, Deloitte, Sony, Comcast, Maersk
If optimizing your expenses on Kubernetes is your ultimate goal, Kubecost can be a right fit.
Kubecost provides real-time cost visibility and insights for teams using Kubernetes, helping you continuously reduce your cloud costs. Few key features are,
Cost allocation – Breakdown costs by any Kubernetes concepts, including deployment, service, namespace label, and more.
Optimization insights – Receive dynamic recommendations for reducing spend without sacrificing performance.
Alerts & governance – Quickly catch cost overruns and infrastructure outage risks before they become a problem with real-time notifications
Azure Cost Management is a native tool from Microsoft Azure cloud service helps to leverage the cloud environment and implement financial governance in your organization. Few key features are,
Cost analysis – Track resource usage and manage cloud costs across all your clouds with a single, unified view while accessing rich operational and financial insights to make informed decisions.
Drive organizational accountability – Implement governance policies for effective enterprise cloud cost management and increase accountability with cost allocation and chargebacks.
Optimise cloud efficiency – Improve the return on your cloud investment by using continuous cost optimization and industry best practices.
Manage Azure and AWS together – Manage costs across Azure and AWS from a single location. Get insights based on data from both clouds to simplify your cost management processes.
Few Clients: Schneider Electric, over 70% of Azure’s enterprise clients use Azure Cost Management
A cloud-native tool from GCP aids in organizing cloud resources, taking control of your cloud costs, optimizing spending and savings. Key features go like this,
Resource hierarchy and access controls – Structure and organize your resource hierarchy for fine-grained management and cost allocation using organizations, folders, projects, and labels.
Reports, dashboards, budgets, and alerts – Get at-a-glance views of your current cost trends and forecasts with intuitive reports in the cloud console and set budgets to closely monitor your costs and alert stakeholders through email or Pub/Sub when exceeding defined budget thresholds.
Recommendations – View intelligent recommendations for optimizing your costs and usage.
CloudCheckr is now part of Spot (by NetApp) brings visibility and intelligence to help you lower costs, maintain security and compliance, and optimize resources. Features are,
Cost visualization – Experience the power of the industry’s easiest-to-create reports and share dashboards to get insight into key trends and what’s driving spend.
True intelligence – Understand why companies save 30% or more with smarter purchase recommendations and with hundreds of best practice checks to identify specific savings opportunities.
Single view – Align SecOps, InfoSec, DevOps and FinOps by ensuring strong security posture in the same platform that cost, resources and services are managed.
Customizable tools – Its customizable tools help to differentiate your service offerings and improve profitability.
It is a opensource cloud security, governance and management platform from Capital One that allows user to easily define rules to enable a well-managed cloud infrastructure, that’s both secure and cost optimized. Custodian supports managing AWS, Azure, and GCP public cloud environments. Significant features are,
Real-time compliance – Besides just providing reports of issues, Custodian can actively enforce the security policies you define.
Cost Management – Setup off-hours to save you money, by turning-off resources when they’re not being used. Garbage collects unused resources by looking into utilization metrics.
Run anywhere – Custodian can be run locally on an instance, or Serverless in AWS Lambda.
Simple DSL – Use Custodian to build complex workflows or simple queries, millions of policies can be constructed using our easy-to-read DSL.
A product of SoftwareOne is a single platform to transact software licenses and cloud subscriptions, view your entire on-premises and cloud software estate, while leveraging a combined view of your technology platforms and commercial agreements to make informed business decisions. It offers benefits like,
Visibility and accountability of software usage and spend
Identify software cost saving opportunities
Automation to drive operational efficiency
Insights for rightsizing and reducing compliance risks
With Flexera you can get visibility into cloud usage and costs for all your cloud accounts. You can evaluate and report on your most cost-effective regions and instance sizes, and dive deep into public and private cloud costs by application, category, business unit, cost center, department, or team.
Features,
Complete cost visibility – Get a complete picture of public and private cloud costs including compute, network, and storage with combined billing data and detailed usage information
Cost allocation by center/team – Tag cloud resources to track cloud budget and spend and enable invoice reconciliation and allocation to cost centers/teams with specific markups and markdowns on cloud costs
Cost anomalies alerting – Automatically calculated spend anomalies reporting gives you insight and the culprits behind spikes and reduction in cloud spending by a variety of variables
Robust cost monitoring – Analyze, forecast, budget, and report on cloud infrastructure costs by an assortment of factors, including cloud provider, account, and region
A few Clients: Walmart, Toyota, Shell
HQ: Itasca, Ilinois, United States
Founded: 1988
Summary
While there are abundant of tools available in the market, not every tool is suitable for everyone. Every business is different and so as their cloud needs. Adopt the right cloud FinOps/cloud cost optimization tool and start leveraging your cloud environment now. If your organization needs are unique and looking for a customizable cloud cost optimization tool with complete control of data, try CloudCADI.
Cloud resource provisioning took a paradigm shift from what it was before 10 years. It is now rapid and agile. Solutions like serverless cloud computing, and Infrastructure as a Code further simplify the scenario. Heavily consumed manual efforts are now redirected to core tasks. Cloud resource provisioning is no more a daunting task, but cloud cost optimization is.
Enterprises use multiple tools for cloud cost optimization. They prefer to stick with native cloud service provider tools for better reliability.
Example: Businesses using AWS cloud, can make use of,
AWS Cost Explorer – for managing and visualizing the cloud usage
AWS Cost Anomaly Detection – for detecting cloud spending abnormalities. This utilizes machine learning and statistical algorithms for accurate cost overage detection.
AWS Trusted Advisor- for recommendations on reducing costs, improving security, performance, etc.
Many other native tools are also available like AWS CloudWatch, and AWS Budgets that aid cloud cost optimization. Hovering over multiple tabs for information can complicate cloud practitioners’ decision-making.
Adopt a single solution that can unify all the results under one pane like CloudCADI that helps you to track, monitor, and restructure based on intelligent recommendations.
Step 8: Use Showback
Cost overages can occur from various sources. Overview of the cloud expenditure can only tell us how much we are wasting. Success of cloud cost optimization doesn’t stop right there. Identifying the source and rectifying the issue is the right way but it requires enormous effort.
Example: In Microsoft Azure, when we create a VM, a public IP address, network security group, and regular network interface is also created. When this VM is found to be unused for a longer period, the team decommission it to save the cloud costs. But if they miss decommissioning the other components (Public IP, Network interface, NSG) it still accounts for the monthly cloud bills.
Cost optimization reports should help us to filter it down and identify the lowest individual unit, the source of unintended spending.
CloudCADI can show you pod level details of cost anomalies.
Step 9: Map them
Every cloud cost optimization activity is directly coupled with the business benefits. List your business KPIs and benchmarks. Involve a stakeholder from every team like engineering, management, finance, and operations while figuring out KPIs. It’s crucial to map cloud spending with the business value it adds.
Example: Cloud spend per customer, cloud spend per application
This exercise will help you to deeply associate engineering activities with cost and make every stakeholder’s decision financially accountable.
Step 10: Keep in store
When you are aware of the roadmap and confident with the computing demand for the coming days, it’s safe to procure cloud resources well before. Bulk procurement in advance helps management on opting for better offers or discounts from service providers.
Example: Reserved Instances. AWS’ RI can provide up to 72% discount compared to “On-Demand” pricing. It also offers the flexibility to alter families, OS types, and tenancies when Convertible RIs are chosen.
Before choosing the cloud service provider audit the internal environment thoroughly. If you have multiple Microsoft applications, it is good to go with Azure which saves integration costs. If there is a need for a short-term compute resource, go with a “pay-as-you-go” pricing model that allows increasing or decreasing compute capacity on-demand and pay for minutes (VMs) or seconds (Container instances). Whereas, for low latency microservices, and big data processing, GCP is a better option.
Step 12: Don’t let it rest
Cloud cost optimization is not a one-time setup to build and leave aside. It is an ongoing process that is closely associated with business productivity and growth. When the organization scale, cloud dependency increases piling up the cloud resource volume to meet the growing demands. The need for faster delivery, customer experience, rapid innovations, and competition foster organizations to less worry about the selection, allocation, tracking, and costs of the cloud workloads. Generally, they lock in with the existing cloud vendors for easier procurement and support.
Final thoughts
The steps stated above are just a few. It is not the end of the cost optimization setup. As we discussed earlier, it is an iterative process that is to be carried out each day.
Does the entire process sound so complicated? It is not when you choose CloudCADI. If you would like to know how? allow us to explain more.
We use cookies and similar technologies on our website and process your personal data (e.g. IP address), for example, to personalize content and ads, to integrate media from third-party providers or to analyze traffic on our website. Data processing may also happen as a result of cookies being set. We share this data with third parties that we name in the privacy settings.
The data processing may take place with your consent or on the basis of a legitimate interest, which you can object to in the privacy settings. You have the right not to consent and to change or revoke your consent at a later time. For more information on the use of your data, please visit our privacy policy.
Below you will find an overview of all services used by this website. You can view detailed information about each service and agree to them individually or exercise your right to object.
Essential (1)
Essential services are required for the basic functionality of the website. They only contain technically necessary services. These services cannot be objected to. • Show service information