
Бұл жазба автоматты түрде орыс тілінен аударылған. English
Жауаптардың бірі-мүмкіндігінше аз операциялық шығындармен дұрыс нәрсені жасау.
Біз автоскалингті қолдана аламыз
Автоматты масштабтау, сондай-ақ автоматты масштабтау ретінде белгілі, нақты жұмыс жүктемесіне негізделген ресурстардың сыйымдылығын автоматты түрде реттеуге мүмкіндік беретін бұлттық есептеу мүмкіндігі. Бұл мүмкіндік қолмен араласусыз сұраныстың әртүрлі деңгейлерін өңдеу үшін қол жетімді есептеу ресурстарының дұрыс көлемінің болуын қамтамасыз етеді. Автоматты Масштабтау Әдетте Amazon Web Services (AWS) және Microsoft Azure сияқты бұлттық орталарда жоғары қолжетімділікті сақтау, шығындарды оңтайландыру және жүйе өнімділігін жақсарту үшін пайдаланылады.
- Vertical Pod Autoscaling-VPA (Жоғары Және Төмен)
- Көлденең Подшипникті Автоскалалау-HPA (Шығу Және Кіру)
- Динамикалық Автоскалалау
- Болжамды Автоскалалау
- Оқиғаға Негізделген Автоскалалау
Оқиғаға Негізделген Автоскалалау белгілі бір оқиғаларға немесе шарттарға негізделген масштабтау әрекеттерін іске қосуға мүмкіндік береді. Мысалы, пайдаланушы трафигінің артуына, жаңа деректердің келуіне немесе белгілі бір жұмыстың басталуына жауап ретінде қолданбаңызды масштабтауға болады.
KEDA Kubernetes Оқиғасына Негізделген Автоматты Масштабтауды білдіреді, Бұл Kubernetes жүйесінде жұмыс істейтін контейнерлік жүктемелер үшін оқиғаға негізделген автоматты масштабтауды қамтамасыз ететін ашық бастапқы жоба. Ол kubernetes қолданбаларына кезекке келетін хабарлар, HTTP сұрауларының саны немесе реттелетін оқиға триггерлері сияқты сыртқы оқиғаларға негізделген масштабтауға мүмкіндік береді. KEDA сіздің қосымшаларыңызды тиімдірек, үнемді және жұмыс жүктемесінің өзгеруіне жауап беруге көмектеседі.
Неліктен Іс-Шара KEDA-Мен Бірге Өткізіледі
Кубернетес әртүрлі тәсілдермен автоөлшемді масштабтауға мүмкіндік береді: көлденең, тігінен немесе түйіндер бойынша.
- Тек стандартты kubernetes нысандарын қолдайды (орналастыру, күй жиынтығы, реплика жиынтығы) және метрика серверіне сүйенеді
- Олардың мінез-құлқын бақылаудың ешқандай жолы жоқ, сондықтан Олардың күткендей әрекет ететінін білу үшін Өзіңіздің Kpi көрсеткіштеріңізді әзірлеуіңіз керек. Осылайша, ЕГЕР HPA немесе VPA қандай да бір түсініксіз себептермен күткендей жұмыс істемесе, сіз нақты ескертулер алмайсыз.
- Теңшелетін көрсеткіштер негізінде автоскалалау ережелерін жасау үшін деректер көзімен үйлесімді метрикалық адаптер жоқ. Егер сізде метрикалық адаптер болмаса, ресурс көрсеткіштерін (CPU немесе жад) ұстануыңыз керек.

KEDA үлестірілген, бұлтқа негізделген қосымшаны құру кезінде кездесетін екі олқылықтың орнын толтырады
жаппай масштаб.
1. КЕДА сізге көбірек бақылау береді. Оларды іске қосудан айырмашылығы, сіздің даналарыңызды көбірек бақылау
қоғамдық бұлтта. Сіз бар kubernetes кластерін пайдалана аласыз және Өзіңіздің, Яғни Azure-ді іске қоса Аласыз
Функциялар, жалпы архитектураның басқа қолданбалы құрылыс блоктарының дәл жанында. КЕДА
масштабтау әрекеті үшін реттелетін шекараларды көрсетуге мүмкіндік береді.
2. ЕКІНШІ жағынан, KEDA сізге кубернеттегі орналастыруды сыртқы негізге сүйене отырып масштабтауға мүмкіндік береді
оқиғалар немесе көрсеткіштер. Кубернетесте масштабтау Үшін Көлденең Pod Автоскалерін (HPA) пайдалануға Болады
Кластер ішінде жасалған көрсеткіштерге негізделген орналастырулар. Әсіресе жүгіру кезінде
Кубернетес Azure Service Bus Сияқты сыртқы, бұлтқа негізделген қызметтермен үйлеседі,
сіздің қолданбалы артефактілеріңіз осы сыртқы көрсеткіштер бойынша масштабталуы керек.
KEDA осы қажеттіліктерді толықтырусыз қалай шешуге болатыны туралы құрылымдалған, жеңілдетілген стратегияны ұсынады
сіздің жалпы архитектураңызға үлкен күрделілік.
- Ресурстарды Тиімді Пайдалану
- Оқиғаға Негізделген Архитектура
- Масштабтан нөлге дейін шығындарды Оңтайландыру
- Икемді Интеграция(50-ден астам масштабтаушы)
- Жақсартылған Өнімділік
- Дәстүрлі HPA: әрқашан минималды бұршақтарды сақтайды → жоғары құны
- KEDA бос тұрған қолданбаларды нөлге дейін масштабтауға мүмкіндік береді
- Есептеу ресурстарын азайтады
- Мысал: пакеттік процессорды 0-ден 10-ға дейін масштабтау 70% - ға дейін үнемдейді%
KEDA оқиға көзін бақылайды және қандай да бір оқиғалардың бар-жоғын үнемі тексеріп отырады. Қажет болса, KEDA орналастырудың реплика санын ең аз реплика санына байланысты 1 немесе 0 мәніне орнату арқылы қандай да бір оқиғалардың бар-жоғына байланысты pod құрылғыңызды іске қосады немесе өшіреді. KEDA сонымен қатар 1-ге дейін және одан масштабтауды өңдейтін HPA көрсеткіштерінің деректерін көрсетеді.

- Масштабтаушы: сыртқы компонентке Қосылады (Мысалы, ServiceBus) және көрсеткіштерді алады (мысалы, кезек тереңдігі)
- Оператор (Агент): Орналастыруды "белсендіруге" Және Көлденең Pod Автоскалер объектісін құруға Жауапты
- Метрика Адаптері: сыртқы көздерден Көлденең Pod Автоскалеріне дейінгі көрсеткіштерді Ұсынады

- KEDA-Azure Функцияларын және басқа әзірлеу үлгілерін пайдалана отырып, хабарларды масштабталатын өңдеуге мүмкіндік беретін Кубернетестің үстіне салынған жұқа қабат. Бұл Сізге Azure Функцияларын Тікелей Azure-де іске қосқан кезде, әдетте, сахна артында болатын масштабтау және масштабтау операцияларын егжей-тегжейлі бақылауға мүмкіндік береді.
- KEDA-да Кірістірілген Бірінші дәрежелі Azure Функцияларын қолдау мүмкіндігі болса да, Ол Тек Azure Функцияларымен шектелмейді. Тұжырымдама Azure Service Шинасындағы хабарлар сияқты көрсеткіштер негізінде масштабталуы керек хабарға негізделген қолданбалардың барлық түрлері үшін жұмыс істейді.
- Шығындарды азайтыңыз, жауаптылықты жақсартыңыз
- Оқиғаларға негізделген қарқынды жұмыс жүктемелері үшін өте қолайлы
- Бұлтта және алдын ала қарауда жұмыс істейді
What is a good software?
One of answers is doing the right things, with as little cost in operations as possible.
How can we reduce operations costs?
We can use autoscaling
Autoscaling, also known as automatic scaling, is a cloud computing feature that allows you to automatically adjust the capacity of your resources based on actual workload. This capability ensures that you have the right amount of computing resources available to handle varying levels of demand without manual intervention. Auto Scaling is commonly used in cloud environments, like Amazon Web Services (AWS) and Microsoft Azure, to maintain high availability, optimize costs, and improve system performance.
Types of Autoscaling
- Vertical Pod Autoscaling — VPA (Up and Down)
- Horizontal Pod Autoscaling — HPA (Out and In)
- Dynamic Autoscaling
- Predictive Autoscaling
- Event-Driven Autoscaling
Event-Driven Autoscaling
Event-Driven Autoscaling allows you to trigger scaling actions based on specific events or conditions. For example, you can scale your application in response to increased user traffic, the arrival of new data, or the launch of a specific job.
KEDA
KEDA stands for Kubernetes Event-Driven Autoscaling, is an open-source project that provides event-driven auto-scaling for container workloads running on Kubernetes. It enables Kubernetes applications to scale based on external events, such as messages arriving in a queue, the number of HTTP requests, or custom event triggers. KEDA helps make your applications more efficient, cost-effective, and responsive to changes in workloads.
Why Event Driven with KEDA
Kubernetes allows you to autoscale in various ways: horizontally, vertically, or by nodes.
Disadvantages of another solutions
- Supporting only standard Kubernetes objects (deployment, stateful set, replica set) and relying on the metrics server
- There isn’t a way of observing their behavior, so you need to devise your own set of KPIs to see if they’re behaving as expected. So, if HPA or VPA aren’t working as expected for some obscure reason, you won’t receive precise alerts.
- There is not a metric adapter compatible with your data source to build autoscaling rules based on custom metrics. If you have no metric adapter available, you need to stick to resource metrics (CPU or memory).
KEDA vs Traditoinal Autoscalling

Why Event Driven with KEDA
KEDA fills two gaps which you will face while building distributed, cloud-native application at
massive scale.
1. KEDA gives you more control. More control over your instances in contrast to running them
in the public cloud. You can leverage existing Kubernetes cluster and run your, i.e. Azure
Functions, right next to other application building blocks of your overall architecture. KEDA
allows you to specify custom boundaries for scaling behavior.
2. On the other hand, KEDA lets you scale deployments in Kubernetes based on external
events or metrics. In Kubernetes, you can use Horizontal Pod Autoscaler (HPA) to scale
Deployments based on metrics generated inside of the cluster. Especially when running
Kubernetes in combination with external, cloud-based services such as Azure Service Bus,
your application artifacts have to scale on those external metrics.
KEDA provides a structured, streamlined strategy of how to address those needs without adding
much complexity to your overall architecture.
Key Benefits of KEDA
- Efficient Resource Usage
- Event-Driven Architecture
- Cost Optimization with scale-to-zero
- Flexible Integration (50+ scalers)
- Improved Performance
Potential Cost Savings
- Traditional HPA: always keeps minimum pods → higher cost
- KEDA enables idle apps to scale to zero
- Reduces compute resources
- Example: batch processor scaling from 0 to 10 saves up to 70%
KEDA architecture
KEDA monitors your event source and regularly checks if there are any events. When needed, KEDA activates or deactivates your pod depending on whether there are any events by setting the deployment's replica count to 1 or 0, depending on your minimum replica count. KEDA also exposes metrics data to the HPA which handles the scaling to and from 1.

Key components of KEDA
- Scaler: Connects to an external component (e.g., ServiceBus) and fetches metrics (e.g., queue depth)
- Operator (Agent): Responsible for “activating” a Deployment and creating a Horizontal Pod Autoscaler object
- Metrics Adapter: Presents metrics from external sources to the Horizontal Pod Autoscaler
Use Case example. WebApp, ServiceBus, Azure Function

Recap
- KEDA is a thin layer built on top of Kubernetes to allow scalable message processing using Azure Functions and other development models. It gives you more fine-granular control over scale-in and scale-out operations, which generally happen behind the scenes when running Azure Functions directly in Azure.
- Although KEDA has first-class Azure Functions support built-in, it is not limited to Azure Functions. The concept works for all kind of message-driven applications that has to be scaled based on metrics such as messages in an Azure Service Bus.
- Reduce costs, improve responsiveness
- Ideal for bursty, event-based workloads
- Works across cloud and on-prem