Trusted answers to developer questions
Trusted Answers to Developer Questions

Related Tags

cloud
azure
security
communitycreator

What is high-load application architecture on AKS?

Boris Zaikin

Grokking Modern System Design Interview for Engineers & Managers

Ace your System Design Interview and take your career to the next level. Learn to handle the design of applications like Netflix, Quora, Facebook, Uber, and many more in a 45-min interview. Learn the RESHADED framework for architecting web-scale applications by determining requirements, constraints, and assumptions before diving into a step-by-step design process.

Imagine we have a popular e-Commerce application that needs to survive Black Friday.

The application architecture should be based on the following components:

  • Azure Kubernetes Services (AKS) with the Kubernetes Cluster Autoscaler is used as the main distributed environment and mechanism to scale compute power under load.

  • Istio’s service mesh improves cluster observability, traffic management, and load balancing.

  • As a central logging system, Azure Log Analytics and Azure Portal Dashboards are used.

E-Commerce Application Architecture Example

The figure above shows that the AKS cluster contains nodes represented as virtual machines under the hood. The Autoscaler is the main component here. It scales up the node count when the cluster is under high load. It also scales the node down to a standard size when the cluster is under normal load.

Istio provides the data plane and control plane, assisting with the following:

  • Load balancing

  • TLS termination

  • Service discovery

  • Health checks

  • Identity and access management

  • Configuration management

  • Monitoring, logs, and traffic control

Please note that the architecture includes the Dev, Test, Staging, and Production stages. The formula for the highly available Kubernetes cluster is having separate clusters per stage. However, for Dev and Test, we can use a single cluster separated by namespaces to reduce infrastructure costs.

We use Azure Log Analytics agents and the Portal to create a dashboard for additional logging reinforcement. Istio contains a lot of existing metrics, including those for performance and options to customize them. We can then integrate it with a Grafana dashboard.

Lastly, you can also set up a load test using Istio.

Please check out the following shots for more information regarding this topic:

RELATED TAGS

cloud
azure
security
communitycreator

CONTRIBUTOR

Boris Zaikin
Copyright ©2022 Educative, Inc. All rights reserved

Grokking Modern System Design Interview for Engineers & Managers

Ace your System Design Interview and take your career to the next level. Learn to handle the design of applications like Netflix, Quora, Facebook, Uber, and many more in a 45-min interview. Learn the RESHADED framework for architecting web-scale applications by determining requirements, constraints, and assumptions before diving into a step-by-step design process.

Keep Exploring