Словник хмарних обчислень: 30 основних термінів
30 найважливіших термінів хмарних обчислень, які повинен знати кожен розробник: регіони, зони доступності, безсерверність, IaC, IAM, автоматичне масштабування, керовані послуги, SLA і багато іншого — з реальними прикладами.
Хмарні обчислення мають свій власний словник — і це один з найважливіших словників для будь-якого сучасного розробника. Незалежно від того, читаєте ви документацію AWS, приєднуєтесь до команди DevOps, готуєтеся до сертифікації в хмарі або обговорюєте інфраструктуру в технічному інтерв’ю, ці терміни будуть постійно з’ являтися.
Цей довідник містить 30 найважливіших слів з хмарних обчислень, згрупованих за темами, з чіткими визначеннями і прикладними реченнями з реального світу.
Основи інфраструктури
Region
Регіон це географічна область, де хмарний провайдер управляє одним або декількома центрами даних. До регіонів AWS належать us-east-1 (Вірджинія), eu-west-1 (Ірландія), ap-southeast-1 (Сінгапур). Google Cloud і Azure мають еквівалентні регіональні підрозділи.
Кожна область є незалежною — ресурси у одній області не реплікуються автоматично до іншої. Вибір регіону впливає на затримку (відстань до ваших користувачів), сумісність (закон про місцезнаходження даних) і доступність служб (не всі служби доступні у всіх регіонах).
“Ми перенесли дані наших європейських користувачів з us-east-1 на eu-west-1, щоб відповідати вимогам GDPR щодо резиденції даних.”
Зона доступності (AZ)
** Зона доступності ** - це ізольований центр обробки даних (або кластер центрів обробки даних) в межах регіону. Область зазвичай має 3 або більше AZ. Вони фізично відокремлені, але з’єднані високошвидкісними з’єднаннями з низькою затримкою.
Розгортання у декількох зонах доступу забезпечує ** високу доступність ** — якщо відмова живлення або стихійне лихо вплине на одну з зон доступу, ваша програма продовжить обслуговувати трафік з інших зон доступу.
“Ми запускаємо три екземпляри нашого API — по одному на кожну зону доступності — тому один вихід з ладу AZ не викликає перерви.”
Віртуальна приватна хмара (англ. Virtual Private Cloud, VPC)
VPC є логічно ізольованою мережею в рамках інфраструктури хмарного провайдера. Ви визначаєте власний діапазон IP- адрес (блок CIDR), створюєте ** підмережі ** (відкриті і приватні), налаштовуєте ** таблиці маршрутизації ** і керуєте трафіком за допомогою ** груп безпеки ** і ** мережевих списків доступу до мережі **.
Типово, ресурси у VPC не доступні з Інтернету — вам слід явно налаштувати доступ. Це є основою безпеки мережі хмар.
“Всі наші екземпляри баз даних знаходяться у приватних підмережах без маршруту до Інтернету — лише сервери програм у публічній підмережі можуть до них дістатися.”
Підмережа (Public vs. Private)
** Підмережа ** це діапазон IP-адрес у межах VPC. ** Публічна підмережа ** має маршрут до інтернет- шлюзів — ресурси у цій мережі можуть надсилати і отримувати інтернет- трафік. ** Приватна підмережа ** не має прямого маршруту до Інтернету — ресурси у цій підмережі не є безпосередньо доступними з Інтернету.
Найкращий спосіб: розміщувати веб- сервери і балансувальники навантаження у загальнодоступних підмережах; розміщувати бази даних, кеши і внутрішні служби у приватних підмережах.
“Експонат бази даних RDS знаходиться у приватній підмережі — до нього можна дістатися лише з серверів програм, що належать до того ж VPC.”
Compute
Віртуальна машина (VM) / Приклад
** Віртуальна машина ** (називалася ** екземпляр ** у контексті хмар) є віртуалізованим сервером, що працює на спільному фізичному обладнанні. Ви можете обрати тип екземпляра (процесор, пам’ ять, сховища), операційну систему і налаштування мережі.
Приклади хмар обліковуються за годину або за секунду і можуть бути запущені, зупинені і завершені за потреби.
“Ми модернізували сервер застосунків з екземпляра t3.medium до екземпляра c6i.large — тип екземпляра з оптимізацією обчислень скоротив час відповіді API на 35%.”
Функція як послуга (англ. Function as a Service, FAS)
** Безсерверна ** модель виконання, за якої ви розгортаєте код без керування серверами. Хмарний провайдер розподіляє обчислення за потребою, автоматично масштабує (включаючи нуль) і стягує плату тільки за час виконання. Приклади: AWS Lambda, Google Cloud Functions, Azure Functions.
** Холодний запуск ** — це затримка, яка виникає, коли функцію викликають вперше після бездіяльності — надавальнику слід створити нове середовище виконання.
“Наша обробка зображень виконується як функція Lambda — вона виконується лише коли користувач завантажує файл, тому ми не платимо за неї у вільний час.”
Container
** Контейнер ** — це легкий, портативний блок програмного забезпечення, який пакує код, час виконання, залежності і налаштування. Контейнери мають спільне ядро ОС (на відміну від VM, які віртуалізують всю ОС). Docker є найпоширенішим контейнерним середовищем виконання; Kubernetes є найпоширенішим оркестратором.
“Кожна служба є контейнеризованою — розробник може запустити весь стек локально з docker-compose і виробниче середовище є ідентичним.”
Використовується для визначення ступеня вільності / вільної ємності
** Spot instance ** (AWS) або ** preemptible VM ** (GCP) - це хмарний екземпляр з великою знижкою, який може бути ** перерваний ** (припинений) провайдером за короткий час (зазвичай за 2 хвилини), коли їм потрібна потужність. Зазвичай на 60-90% дешевше, ніж екземпляри на запит.
Придатний для: пакетних завдань, навчання ML, CI/ CD, роботів без стану — будь- що, що може обробляти переривання і перезапуск.
“Наш конвеєр навчання ML використовує виключно Spot Instances — кожне завдання перевіряється кожні 10 хвилин, тому перерва втрачає лише кілька хвилин роботи, економлячи 75% на обчислювальних витратах.”
Автоматичне масштабування
** Автомасштабування ** автоматично змінює кількість запущених екземплярів відповідно до потреби. ** Масштабування назовні**: додає екземпляри, коли збільшується навантаження. ** Масштабування всередину**: вилучає екземпляри, коли зменшується навантаження. Спричиняє такі показники, як використання процесора, частота запитів або глибина черги.
- “Група з автоматичним масштабуванням підтримує мінімум 2 екземпляри і масштабується до 20 під час пікового навантаження. Ми заощадили 40% на вартості EC2, перейшовши від статичного надмірного забезпечення до автоматичного масштабування.”*
Storage
Зберігання об’єктів
** Об’ єкт зберігання ** зберігає дані як об’ єкти (файли) з унікальним ключем і метаданими, доступ до яких здійснюється за допомогою HTTP API. У каталогах немає ієрархії — об’ єкти — це лише ключі у просторі імен. Нескінченно масштабований, високопродуктивний (S3 пропонує 11 дев’яток — 99,999999999% продуктивності) і дешевий в масштабі.
Приклади: Amazon S3, Google Cloud Storage (GCS), Azure Blob Storage.
“Всі завантажені користувачем медіа зберігаються в S3 — файли надаються через CloudFront CDN, тому ми ніколи не платимо за вихід з кешованих активів.”
Блокове зберігання
** Блокова пам’ ять ** надає необроблене дискове сховище для віртуальних машин — еквівалентне жорсткому диску, під’ єднаному до сервера. Використовується для операційних систем, баз даних і даних програм, які потребують файлової системи. Приклади: AWS EBS (Elastic Block Store), GCP Persistent Disk.
“База даних PostgreSQL працює на екземплярі з 500 ГБ тома EBS gp3 — ми обрали gp3 замість gp2, тому що пропускну здатність можна налаштовувати незалежно від розміру.”
Egress (і Egress Cost)
** Вихід ** — це дані, що * виходять * з мережі постачальника хмарних послуг (в Інтернет або іншу хмару). Хмарні провайдери стягують плату за вихід; ** вхід ** (дані в) зазвичай безкоштовний. Егрізні витрати можуть бути значними для дата-інтенсивних застосувань.
- “Перенесення 1 ТБ даних з AWS в наш офіс коштує $ 90 в оплату виходу - це значний бюджетний розгляд при плануванні міграції даних або архітектур багатохмарних хмар.” *
Networking
Балансувальник навантаження
** Балансувальник навантаження ** розподіляє вхідний трафік між декількома екземплярами сервера. Він виконує перевірки стану і маршрутизує трафік тільки до здорових екземплярів. Типи: ALB (Application Load Balancer — HTTP/HTTPS, маршрутизація за допомогою шляхів), NLB (Network Load Balancer — TCP/UDP, дуже низька затримка).
- “ALB маршрутизує запити / api / * до серверної служби і / * до інтерфейсної служби. Якщо будь-який екземпляр не пройде 3 послідовні перевірки стану, він буде автоматично вилучено з цільової групи.”*
CDN (Content Delivery Network) — мережа доставки контенту
CDN — це глобально розподілена мережа крайових серверів, які кешують і обслуговують вміст поруч з кінцевими користувачами, зменшуючи затримку для статичних активів (зображень, CSS, JavaScript). Приклади: CloudFront, Cloudflare, Fastly, Akamai.
“Після налаштування CloudFront, час до першого байта для європейських користувачів впав з 450 мс до 35 мс, оскільки ресурси тепер обслуговуються з Франкфурта, а не з нашого американського походження.”
DNS (англ. Domain Name System) — система доменного імені
** DNS ** перетворює назви доменів, які можна прочитати людині (api.example.com) на IP-адреси. Хмарні провайдери пропонують керований DNS з такими функціями, як **перевірки стану **, **маршрутизація з відмовою **, **маршрутизація за геопозицією ** і **маршрутизація на основі затримки **. AWS Route 53 є звичайним прикладом.
“Ми використовуємо маршрут 53 з взвешенным маршрутизированием для розділення трафіку між двома регіонами — 90% до us-east-1 і 10% до eu-west-1 як поступове розгортання.”
Управління службами та базами даних
Служба управління
** Управління послугами ** це хмарна служба, яку обслуговує провайдер, де провайдер обробляє всі аспекти управління інфраструктурою: забезпечення обладнанням, латки ОС, резервні копії, відключення при відмові та масштабування. Ви використовуєте службу без керування основними серверами.
Приклади: Amazon RDS (керована реляційна база даних), Amazon ElastiCache (керований Redis/Memcached), Amazon SQS (керована черга повідомлень).
“Ми замінили наш самокерований кластер PostgreSQL на Amazon RDS Multi-AZ — автоматичне відключення, щоденне резервне копіювання і незначні оновлення версій тепер обробляються AWS. Наша команда зосереджується на дизайні схеми і оптимізації запиту.”
Реляційна база даних (англ. Relational Database)
** RDS ** - це служба реляційної бази даних AWS. Він підтримує PostgreSQL, MySQL, MariaDB, Oracle і SQL Server. Ключові можливості: автоматичне резервне копіювання, відновлення в певну точку часу, читання реплік, розгортання Multi-AZ для високої доступності, та моніторинг продуктивності.
“RDS Multi-AZ забезпечує автоматичне відключення — якщо первинний екземпляр не працює, AWS підвищує резерв до первинного і оновлює кінцеву точку DNS протягом 60-120 секунд.”
Повідомлення Queue / SQS
Черга повідомлень ** повідомлень ** розділяє компоненти, надаючи можливість виробнику записувати повідомлення до черги, яку споживач читає у своєму власному темпі. Це поглинає піки трафіку і запобігає перевантаженню нижніх служб. AWS SQS (Simple Queue Service) — найпоширеніша керована черга.
- “Служба обробки замовлень публікує події у SQS — якщо служба виконання тимчасово не працює, замовлення безпечно відправляються до черги і обробляються, коли вона відновлюється. Жодних замовлень не втрачено.»*
Безпека і доступ
IAM (Менеджер ідентифікацій та доступу)
** IAM ** — це система хмарних прав доступу — вона керує тим, хто (користувачі, ролі, служби) може виконувати які дії на яких ресурсах. Вона дотримується принципу найменших привілеїв: кожна служба повинна мати мінімальні права доступу, необхідні для її функціонування.
Поширений шаблон: екземпляр EC2 має ** роль IAM **, яка дозволяє йому читати з S3, але нічого іншого.
- “Функція Lambda використовує роль IAM, яка дозволяє тільки s3:GetObject на одному конкретному контейнері. Якщо функція компрометована, нападник не може отримати доступ до будь-якого іншого ресурсу AWS. *
Група безпеки
** Група безпеки ** — це віртуальний брандмауер для екземплярів EC2 та інших ресурсів. Він контролює вхідний і вихідний трафік на рівні екземпляра через правила дозволу на порт, протокол і джерело / призначення. Групи безпеки мають статус — якщо ви дозволите вхідний трафік, автоматично буде дозволено і зворотній трафік.
“Група безпеки бази даних дозволяє вхідний трафік на порт 5432 лише з групи безпеки серверів програм — не з Інтернету або з будь- якої іншої служби.”
Секретний/секретний менеджер
Хмарні менеджери секретів ** (AWS Secrets Manager, GCP Secret Manager, HashiCorp Vault) безпечно зберігають і контролюють доступ до реєстраційних даних, API-ключів, паролів баз даних і сертифікатів. Вони дозволяють автоматичну таємну поворот без перерозгортання програм.
“Пароли баз даних зберігаються в AWS Secrets Manager і автоматично змінюються кожні 30 днів — програма отримує поточний пароль під час запуску, тому в коді немає твердих паролів.”
Інфраструктура як код і розгортання
Інфраструктура як код (IaC)
** IaC ** це практика керування хмарною інфраструктурою за допомогою файлів коду (YAML, JSON або мови, специфічної для домену), а не клацання в консолі. Зміни контролюються версіями, переглядаються колегами і застосовуються за допомогою автоматизації. Приклади: Terraform, AWS CloudFormation, Pulumi, CDK.
*“Ніхто не клацає на консолі — вся інфраструктура визначена у Terraform. Запити на збирання змін до інфраструктури потребують двох схвалень. Якщо хтось випадково вилучає ресурс, terraform apply відновлює його протягом декількох хвилин. *
Підтримка C/C++
Конвейєр CI/CD є автоматизованим потоком роботи, який збирає, тестує і розгортає зміни коду. CI (Continuous Integration): автоматичне збирання і тестування при кожному натисканні. CD (Continuous Delivery/Deployment): автоматичне перенесення перевіреного коду на стадію розробки або виробництва.
- “Кожен запит на завантаження запускає конвеєр CI — тести модулів, тести інтеграції і сканування безпеки. Якщо всі перевірки пройдуть і PR буде схвалено, об’єднання з main автоматично розгортається до виробництва через конвеєр CD.”*
Блакитний/зелений розгортання
** Розгортання синього/ зеленого ** підтримує два ідентичні виробничі середовища. Поточний випуск є « синім »; нова версія розгортається на « зеленому ». Діапазон зміни кольору з синього на зелений негайно (або поступово). Якщо у новій версії є проблеми, відновлення буде здійснено миттєво — поверніться до синього кольору.
“Ми використовуємо сині/зелені розгортання для випусків з нульовим часом простою — зелене середовище запускає нову версію і проходить перевірки стану перед переходом на інший трафік. Rollback takes 30 seconds.»
Канарські острови
Canary release поступово випускає нову версію для невеликого відсотка користувачів («canary»), перш ніж розширити її для всіх. Це обмежує радіус вибуху при поганому розгортанні. Якщо у канарії буде показано підвищений рівень помилок або погіршену продуктивність, розгортання буде зупинено.
- “Ми розгорнули нову модель рекомендацій як 5% канарку — вона працювала разом з існуючою моделлю протягом 48 годин. Без зниження показників, ми розширили до 100%.”*
Контроль і управління
Січових Стрільців / І
- ** SLA ** (Договір про рівень обслуговування): контрактне зобов’ язання клієнтам (наприклад, 99, 9% щомісячного часу роботи)
- ** SLO ** (Service Level Objective): внутрішня мета (наприклад, 99, 95% часу роботи, 99- ти перцентильний затримка < 200 мс)
- ** SLI ** (Service Level Indicator): метрика, яку ви фактично вимірюєте (наприклад, виміряний час роботи, виміряна затримка P99)
“Наша угода SLA обіцяє 99, 9% доступності. Наш внутрішній SLO становить 99,95% — ми даємо собі буфер вище зобов’язань клієнта. SLI з нашого моніторингу підтверджують, що ми перевищили SLO минулого місяця.”
Спостережливість (логи, метрики, сліди)
** Спостережливість ** це здатність розуміти внутрішній стан системи, вивчаючи її виходи. Три стовпи:
- ** Журнали **: текстові записи подій
- ** Метрика **: числові вимірювання за часом (% процесора, частота запитів, частота помилок)
- ** Traces **: записи шляху запиту через служби
- “Ми інструментуємо кожну службу з OpenTelemetry — журнали надходять до CloudWatch, метричні дані до Prometheus/Grafana, а розподілені сліди до Jaeger. Коли попередження спалахує, ми можемо побачити точний слід, який спричинив помилку.”*
Помилка бюджету
** Бюджет помилок ** — це максимально допустимий час простою або рівень помилок за певний період часу, отриманий з SLO. Якщо ваш SLO становить 99, 9% доступності на місяць, ваш бюджет помилок становить 0, 1% × 43, 200 хвилин = ~43 хвилини часу простою. Після того, як бюджет буде вичерпано, нові розгортання будуть призупинені до відновлення надійності.
- “Ми використали 60% нашого бюджету на помилки в одному випадку минулого тижня — команда розробників зараз у режимі заморожування нових можливостей, поки ми не доставимо поліпшення надійності, які спричинили інцидент.” *
Проверка здоров’я
** Перевірка стану ** — це періодичний зонд, який надсилається службі для перевірки правильності її відповіді. Балансувальники навантаження та оркестратори (Kubernetes) використовують перевірки стану для маршрутизації трафіку тільки до здорових екземплярів. Два типи:
- ** Пробка живості **: чи живий процес?
- ** Пробування готовності **: чи готовий екземпляр до прийняття трафіку?
“Зонд готовності викликає /health/ready — він повертає 503 доки пул з’єднань бази даних не буде розігріто. Це запобігає тому, щоб балансувальник навантаження відправляв трафік до екземпляра, який все ще ініціалізується.”
Швидкий довідник: хмарний словник на перший погляд
| Term | Short definition |
|---|---|
| Region | Geographic area with one or more data centres |
| Availability Zone | Isolated data centre within a region |
| VPC | Your private network in the cloud |
| Load Balancer | Distributes traffic across instances |
| Auto-scaling | Automatically adjusts instance count to match demand |
| Serverless | Run code without managing servers; pay per execution |
| Object Storage | S3-style flat file storage accessed via HTTP |
| Managed Service | Cloud-operated service: no infrastructure to manage |
| IAM | Cloud permission system — who can do what |
| IaC | Define infrastructure as code; version-controlled |
| SLO / SLA / SLI | Service reliability targets, contracts, and measurements |
| Canary release | Gradual rollout to a small % before full deployment |
| Error budget | Allowed amount of downtime within an SLO period |
| Egress | Outbound data leaving the cloud provider network |
| Health check | Periodic probe to verify a service is responding correctly |
Вивчення хмарного словника дає складний відсоток - кожна сертифікація AWS, перегляд архітектури, роль DevOps і технічне інтерв’ю черпають з цих самих 30-50 основних термінів.