Skip to content

Commit

Permalink
Merge pull request #12134 from paolosalvatori/eks-to-aks-revamp-paolos
Browse files Browse the repository at this point in the history
Updates to AKS for Amazon EKS professionals articles
  • Loading branch information
v-dirichards authored Jun 21, 2024
2 parents ef6db6a + f2de8c3 commit 2c81814
Show file tree
Hide file tree
Showing 4 changed files with 113 additions and 24 deletions.
35 changes: 33 additions & 2 deletions docs/aws-professional/eks-to-aks/cost-management-content.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,29 @@ With On-Demand Instances, you pay for compute capacity by the second, with no lo

- AWS Spot Instance prices vary. AWS sets the price depending on long-term supply and demand trends for Spot Instance capacity, and you pay the price in effect for the time period the instance is up.

## Azure Kubernetes Service cost analysis

An [Azure Kubernetes Service (AKS)](/azure/aks/what-is-aks) cluster relies on various Azure resources such as virtual machines, virtual disks, load-balancers, and public IP addresses. These resources can be utilized by multiple applications, which might be managed by different teams within an organization. The consumption patterns of these resources can vary, resulting in varying contribution towards the total cluster resource cost. Additionally, some applications may have footprints across multiple clusters, making cost attribution and management a challenge.

For scenarios where a cluster contains a single workload, [Microsoft Cost Management](/azure/cost-management-billing/cost-management-billing-overview) can be used to measure cluster resource consumption under the cluster resource group. However, some scenarios are not natively covered by that solution alone, for example:

- Granular breakdown of resource usage, such as compute, network, and storage.
- Distinguishing between individual application costs and shared costs.
- Analyzing costs across multiple clusters in the same subscription scope.

To increase cost observability, AKS has integrated with Microsoft Cost Management to provide detailed cost drilldowns at Kubernetes constructs like cluster and namespace. This integration enables cost analysis at the Azure compute, network, and storage categories.

The AKS cost analysis addon is built on [OpenCost](https://www.opencost.io/), an open-source project for usage data collection. It provides cost visibility by reconciling data with your Azure invoice. The post-processed data is directly visible in the Cost Management cost analysis portal. For more information, see [Azure Kubernetes Service cost analysis](/azure/aks/cost-analysis).

### Cost Definitions

In the Kubernetes namespaces and assets views, you will see the charges, such as:

- **Idle charges:** Represents the cost of available resource capacity that wasn't used by any workloads.
- **Service charges:** Represents the charges associated with services like Uptime SLA and Microsoft Defender for Containers.
- **System charges:** Represents the cost of capacity reserved by AKS on each node to run system processes required by the cluster.
- **Unallocated charges:** Represents the cost of resources that couldn't be allocated to namespaces.

## AKS cost basics

Kubernetes architecture is based on two layers, the control plane and one or more nodes or node pools. The AKS pricing model is based on the two Kubernetes architecture layers.
Expand Down Expand Up @@ -218,14 +241,22 @@ Cost governance is the process of continuously implementing policies or controls

- Explore open-source tools like [KubeCost](https://www.kubecost.com) to monitor and govern AKS cluster cost. You can scope cost allocation to a deployment, service, label, pod, and namespace, which provides flexibility in showing and charging cluster users.

## Reference Material

Here are some reference materials that can help you further understand and utilize AKS cost analysis:

- [Azure Kubernetes Service cost analysis](/azure/aks/cost-analysis)
- [Webinar: Tools and Tips for Unparalleled Cost Transparency on AKS](https://www.youtube.com/watch?v=p15XAKy14WQ)
- [OpenCost project on GitHub](https://github.com/opencost/opencost)

## Contributors

*This article is maintained by Microsoft. It was originally written by the following contributors.*

Principal authors:

- [Laura Nicolas](https://www.linkedin.com/in/lauranicolasd) | Senior Software Engineer
- [Paolo Salvatori](https://www.linkedin.com/in/paolo-salvatori) | Principal System Engineer
- [Paolo Salvatori](https://www.linkedin.com/in/paolo-salvatori/) | Principal System Engineer
- [Laura Nicolas](https://www.linkedin.com/in/lauranicolasd/) | Cloud Solution Architect

Other contributors:

Expand Down
7 changes: 3 additions & 4 deletions docs/aws-professional/eks-to-aks/cost-management.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,9 @@
metadata:
title: Cost management for Kubernetes
description: Understand Kubernetes cluster and workload costs, see how to optimize and govern costs, and compare Azure Kubernetes Service (AKS) and Amazon EKS options.
author: lanicolas
ms.author: lanicola
ms.date: 12/30/2022
author: paolosalvatori
ms.author: paolos
ms.date: 06/21/2024
ms.topic: conceptual
ms.service: architecture-center
ms.subservice: azure-guide
Expand All @@ -23,4 +23,3 @@ summary: Understand Kubernetes cluster and workload costs, see how to optimize a
thumbnailUrl: /azure/architecture/browse/thumbs/control-plane-and-nodes.png
content: |
[!include[](cost-management-content.md)]
---
20 changes: 13 additions & 7 deletions docs/aws-professional/eks-to-aks/index.md
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
---
title: AKS for Amazon EKS professionals
description: Read about the Azure Kubernetes Service (AKS) managed solution, configurations, best practices, and similarities and differences with Amazon EKS.
author: lanicolas
ms.author: lanicola
ms.date: 12/30/2022
author: paolosalvatori
ms.author: paolos
ms.date: 06/21/2024
ms.topic: conceptual
ms.service: architecture-center
ms.subservice: azure-guide
Expand All @@ -27,12 +27,18 @@ The articles compare AKS with Amazon EKS for the following Kubernetes design are
- [Cost optimization and management](cost-management.yml)
- [Agent node and node pool management](node-pools.yml)
- [Cluster governance](governance.md)
- [Workload Migration](migrate-eks-to-aks.md)

These articles provide recommended architectures and practices to improve AKS deployment security, compliance, management, and observability. For basic AKS implementation, see [Baseline architecture for an Azure Kubernetes Service (AKS) cluster](/azure/architecture/reference-architectures/containers/aks/secure-baseline-aks) and [AKS landing zone accelerator](/azure/cloud-adoption-framework/scenarios/app-platform/aks/landing-zone-accelerator).
These articles provide recommended architectures and practices to improve AKS deployment security, compliance, management, and observability. Specifically, the [Migrate EKS to Azure Kubernetes Service (AKS)](migrate-eks-to-aks.md) article provides strategies for migrating typical stateless and stateful workloads. For basic AKS implementation, see [Baseline architecture for an Azure Kubernetes Service (AKS) cluster](/azure/architecture/reference-architectures/containers/aks/secure-baseline-aks) and [AKS in an application landing zone](/azure/cloud-adoption-framework/scenarios/app-platform/aks/landing-zone-accelerator).

AKS isn't the only way to run containers in Azure, and Amazon EKS is only one of the container options for Amazon Web Services (AWS). These articles don't compare Azure services like Azure Container Apps, Azure Container Instances, and Azure App Service with AWS services like Amazon Elastic Container Service or AWS Fargate.

For more information about other Azure services that can host containerized workloads, see [Choose an Azure compute service](/azure/architecture/guide/technology-choices/compute-decision-tree) and [Compare Container Apps with other Azure container options](/azure/container-apps/compare-options).
For more information about other Azure services that can host containerized workloads, see the following articles:

- [Choose an Azure compute service](/azure/architecture/guide/technology-choices/compute-decision-tree)
- [Choose an Azure container service](/azure/architecture/guide/choose-azure-container-service)
- [Compare Container Apps with other Azure container options](/azure/container-apps/compare-options)
- [General architectural considerations for choosing an Azure container service](/azure/architecture/guide/container-service-general-considerations)

The following articles compare Azure and AWS core platform components and capabilities:

Expand All @@ -52,8 +58,8 @@ The following articles compare Azure and AWS core platform components and capabi

Principal authors:

- [Laura Nicolas](https://www.linkedin.com/in/lauranicolasd) | Senior Software Engineer
- [Paolo Salvatori](https://www.linkedin.com/in/paolo-salvatori) | Principal Service Engineer
- [Paolo Salvatori](https://www.linkedin.com/in/paolo-salvatori/) | Principal Service Engineer
- [Laura Nicolas](https://www.linkedin.com/in/lauranicolasd/) | Cloud Solution Architect

Other contributors:

Expand Down
Loading

0 comments on commit 2c81814

Please sign in to comment.