Англійська мова для розробників Azure Container Apps

Вивчайте англійську лексику для Azure Container Apps: середовища, версії, вхід, автоматичне масштабування KEDA, інтеграція Dapr, керований профіль і секрети.

Azure Container Apps — це керована платформа Microsoft для запуску контейнеризованих мікросервісів і завантажень, керованих подією, без управління Kubernetes безпосередньо. Сервіс має власну термінологію, яка відрізняється від сирого Kubernetes, і знання правильних англійських термінів є необхідним для написання чітких runbooks, архітектурних документів і звітів про інциденти в міжнародних інженерних командах.

Ключовий словник

** Середовище ** — спільна межа, яка групує одну або декілька контейнерних програм разом, забезпечуючи загальну віртуальну мережу, робочий простір журналювання і налаштування Dapr. “Відправте API і фоновий процесор до одного середовища, щоб вони могли спілкуватися через внутрішню віртуальну мережу без відкриття публічної кінцевої точки.”

** Ревізія ** — незмінний знімок налаштувань програми- контейнера, який створюється кожного разу, коли ви оновлюєте код програми, змінні середовища або правила масштабування. “Нова версія отримує 10% трафіку; як тільки ми підтвердимо, що в Application Insights немає помилок, ми пересунумо 100% і деактивуємо стару.”

** Ingress ** — налаштування, які керують тим, як програма- контейнер отримує зовнішній або внутрішній трафік HTTP, включаючи закінчення TLS і прив’ язку до нетипового домену.

  • « Встановити зовнішній вхід і дозволити трафік на порту 8080; платформа автоматично оброблятиме TLS з керованим сертифікатом. » *

** Автомасштабування KEDA ** — автоматичне масштабування за допомогою подій, що працює на основі Event Driven Autoscaler, заснованого на Kubernetes, який масштабує репліки вгору або вниз на основі зовнішніх джерел подій, таких як глибина черги або частота запитів HTTP.

  • “Ми налаштували автоматичне масштабування KEDA для нашої черги Service Bus, тому програма обробки масштабується від нуля до 20 реплік за накопиченням повідомлень.” *

** Дапр інтеграція ** — вбудована підтримка для Distributed Application Runtime sidecar, який забезпечує виклик сервісу, pub/sub повідомлення, і управління станом через стандартизований API. “З ввімкненою інтеграцією Dapr, служба замовлень публікує події за допомогою Dapr pub/sub API без будь-яких залежностей від SDK, специфічних для хмари.”

** Керований профіль ** — керований Azure-сервісний принцип, який надає контейнерній програмі доступ до інших ресурсів Azure без зберігання унікальних даних у коді або налаштуваннях. “Призначити керований профіль до програми-контейнера і надати йому статус Key Vault Secrets User, щоб ми могли вилучити зображення з твердо закодованого рядка з’єднання.”

** Секретний ** — зашифроване значення з назвою, яке зберігається на рівні програми- контейнера і вводиться до контейнерів як змінні середовища або монтується як файли томів під час виконання.

  • “Зберігати пароль бази даних як секрет і вказувати на нього у визначенні змінної середовища, а не вбудовувати його у налаштування ревізії.” *

** Правило масштабування ** — визначення, підтримуване KEDA, яке вказує, які метричні дані викликають масштабування і які пороги визначають, коли додавати або вилучати репліки. “Додати правило масштабування HTTP з порогом одночасних запитів 100, щоб програма ніколи не ставила запити у чергу під час піків трафіку.”

Звичайні фрази

  • «Просування стадіонного перегляду до виробництва шляхом поступового переміщення руху»
  • «Програма в даний час прикріплена до однієї рецензії; ввімкніть режим декількох рецензій для підтримки синьо-зеленого розгортання.»
  • «Dapr обробляє повторні спроби і переривання схеми на рівні sidecar, тому наш код програми залишається чистим»
  • «Ми повинні повернути секретну базу даних; оновити її на рівні середовища і викликати нову рецензію»
  • «Вхідний порт призначення повинен відповідати директиві EXPOSE у вашому Dockerfile.»

Приклади висловлювань

Під час написання підручника з розгортання:

  • “Створити нову версію за допомогою оновлення мітки зображення контейнера. Маршрутизувати 20% вхідного трафіку до нової рецензії і контролювати частоту помилок в Log Analytics протягом 30 хвилин до завершення переходу. *

Під час пояснення керованого профілю аудитору безпеки: “Контейнерна програма використовує системно-призначений керований профіль для автентифікації з Azure SQL Database. У штампі, налаштуваннях ревізії або сховищі не зберігаються жодних даних для реєстрації.”

Під час опису архітектури автоматичного масштабування у документі проектування:

  • “Ми покладаємося на автоматичне масштабування KEDA з масштабуванням Service Bus. Мінімальний рахунок репліки дорівнює нулю в непікові години, зменшуючи вартість приблизно на 60% порівняно з розгортанням фіксованого розміру. “*

Професійні поради

  • Використовуйте ** рецензію **, а не “розгортання”, коли обговорюєте Container Apps конкретно - незмінність і семантика розділення трафіку відрізняються від стандартного розгортання розгортання Kubernetes.
  • При обговоренні KEDA, згадуйте конкретний масштабувальник (HTTP, Service Bus, Storage Queue) — «автомасштабування за подією» є надто неясним для оглядів архітектури.
  • Віддавайте перевагу ** керованому профіль** перед « службовим принципом з таємницею клієнта » у будь- якій дискусії щодо безпеки; це сигналізує про розуміння гігієни уповноважених осіб.
  • У розмовах ** Dapr **, вкажіть, чи використовуєте ви sidecar для виклику служб, керування станом або pub/ sub — кожен з цих параметрів має різні характеристики надійності.

Практичні вправи

  1. Колега запитав, в чому різниця між середовищем і контейнерною програмою. Напишіть два речення, що пояснюють зв’ язок.
  2. Вам слід розгорнути нову версію вашого API без перерв. Опишете у трьох реченнях кроки, які ви б зробили для перегляду і розділення трафіку.
  3. Пояснити молодшому розробнику, чому керований профіль краще за зберігання рядків з’ єднання у змінних оточення.

Навігація та зв’язок

Будьмо чесними — робота в глобально розподіленій команді, особливо в такій, яка зосереджена на DevOps і хмарних технологіях, таких як Azure Container Apps, означає, що ви витратите значну кількість часу на спілкування за допомогою переглядів коду, каналів Slack і описів запитів на витягування. Ключ не тільки в тому, щоб знати слова для цих речей, але і використовувати їх точно, щоб передати значення і уникнути неоднозначності. Погано сформулований коментар може звести нанівець цілу гілочку функцій; неясний опис PR може призвести до нескінченного перегляду вперед і назад.

Розглянемо наступний сценарій: Ви щойно завершили реалізацію KEDA (Kubernetes Event-Driven Autoscaling) у середовищі Azure Container App для автоматичного масштабування вашої програми на основі використання процесора. Під час перегляду коду старший інженер висловлює занепокоєння щодо політики масштабування. Просте “Це добре” не впорається. Замість цього ви відповідаєте: « Переглянуто налаштування масштабування KEDA. Я змінив пороги scaleUp і scaleDown до 70% і 50% процесора відповідно, вирівнюючи з метою нашої команди для проактивного масштабування. Я також додав докладні коментарі, які пояснюють причину цих значень у файлі YAML — це допомагає забезпечити, щоб майбутні супровідники розуміли процес прийняття рішень. » Це демонструє не лише те, що ви реалізували KEDA, але і те, що ви розглянули її наслідки і чітко задокументували ваші аргументи.

Іншою поширеною ситуацією є інтеграція Dapr (Distributed Application Runtime) в існуюче контейнерне застосування. Запит може прийти через Slack: «Гей команда, чи можемо ми інтегрувати Dapr для управління державою? Це буде чудово для обробки наших потоків подій. ” Відповідь повинна бути більш структурованою. Ви можете відповісти описом PR, наприклад, таким: « Впроваджено канали стану Dapr для керування даними сеансу користувача у програмі- контейнері. Це використовує вбудовані функції Dapr для розподілених транзакцій і зменшує з’єднання між службами. Ми налаштували backend стану Redis, що пропонує високу доступність і масштабованість. Код включає в себе всебічну документацію про те, як налаштувати і використовувати канал стану, разом з інтеграційними тестами, що демонструють його функціональність. ”

Важливо пам’ятати, що чітка, точна мова - це більше, ніж просто технічна точність; це про сприяння співпраці і мінімізації непорозумінь. Використання фраз на кшталт «вирівнювання з метою нашої команди», «зменшення з’єднання», або явне вказати ваші аргументи за вибором дизайну демонструє професіоналізм і будує довіру в процесі розробки. Це також допомагає під час розв’ язання проблем — докладні описи проблеми, її контексту і вашого запропонованого рішення є безцінними.

# Example KEDA Scaler Configuration (Illustrative)
apiVersion: scalers.k8s.io/v1beta2
kind: HorizontalPodAutoscaler
metadata:
  name: my-container-autoscaler
spec:
  scaleTargetRef:
    apiVersion: apps/v1
    kind: Deployment
    name: my-app-deployment
  minReplicas: 1
  maxReplicas: 10
  metrics:
  - type: Resource
    resource:
      name: cpu
      target:
        type: Utilization
        averageUtilization: 70

Поширені запитання

Про що ця стаття "Англійська мова для розробників Azure Container Apps"?

Вивчайте англійську лексику для Azure Container Apps: середовища, версії, вхід, автоматичне масштабування KEDA, інтеграція Dapr, керований профіль і секрети.

Чи безкоштовна ця стаття?

Так. Усі статті на CoderSlingo, включно з цією, доступні безкоштовно без реєстрації.

Скільки часу займає читання "Англійська мова для розробників Azure Container Apps"?

Приблизно 8 min.