Cloud Architecture Vocabulary: 80 Essential Terms for AWS, Azure, and GCP (англійською)
Майстер хмарної архітектури: IaaS, PaaS, SaaS, VPC, IAM, безсерверний, FinOps, хмарні шаблони, стовпи Well-Architected Framework і ще 70 термінів.
Хмарні архітектори розробляють системи, які є надійними, безпечними, економічними і масштабованими. Їх словник охоплює концепції інфраструктури, конкретні хмарні послуги, архітектурні шаблони і фінансові операції — всі вони задокументовані англійською мовою в AWS, Azure і GCP. Цей посібник містить 80 термінів, які вам потрібні для обговорення, проектування і презентації архітектур хмар.
Сервісні моделі Cloud
Інтернет як послуга (IaaS)
IaaS забезпечує віртуалізовані обчислення, зберігання і мережеві можливості — ви управляєте віртуальними машинами, операційними системами і програмним забезпеченням. Приклади: AWS EC2, Azure Virtual Machines, GCP Compute Engine.
Платформа як послуга (PaaS)
** PaaS ** надає керовану платформу для запуску програм — ви керуєте кодом і налаштуваннями; провайдер керує середовищем виконання, ОС і інфраструктурою. Приклади: AWS Elastic Beanstalk, Azure App Service, GCP App Engine.
Програмне забезпечення як послуга (SaaS)
У ** SaaS **, провайдер керує всім — ви просто використовуєте програму. Приклади: Gmail, Salesforce, GitHub. Контекст архітектури: вибір SaaS проти створення власного.
Функція як послуга (англ. Function as a Service, FaaS)
FaaS запускає окремі функції на запит — нульове управління сервером, автоматичне масштабування, оплата за виклик. Приклади: AWS Lambda, Azure Functions, GCP Cloud Functions.
«Ми перенесли завдання з зміни розміру зображення до функції Lambda — вона масштабується від нуля до 10 000 викликів без будь-якого забезпечення»
Національний хмарочос
Cloud-native програми розроблені спеціально для хмари - контейнеризовані, засновані на мікросервісах, керовані через API, CI / CD-розгорнуті і горизонтально масштабовані.
Моделі розгортання хмар
Публічна хмара
** Публічна хмара ** є інфраструктурою, що належить і управляється провайдером (AWS, Azure, GCP) і спільно використовується декількома клієнтами, ізольованими віртуалізацією і IAM.
Приватна хмара
Приватна хмара є виділеним інфраструктурою для однієї організації — на місці або в центрі обробки даних. Більше контролю, більша вартість.
Гібридна хмара
Гібридна хмара поєднує в собі публічну та приватну хмари, з можливістю з’єднання між ними (VPN або Direct Connect). Дозволяє зберігати конфіденційні дані локально під час перенесення до публічної хмари.
Кількість хмар
Мульти-хмарна стратегія використовує двох або більше провайдерів публічної хмари — для стійкості, уникнення блокування продавцем або доступу до певних послуг.
Наприклад, 1-й ступінь / 1-й ступінь
On-premise (або on-prem) інфраструктура належить і експлуатується організацією у власних центрах даних. Контраст з хмарами.
Колонія (ісп
** Колокація ** означає розміщення ваших власних серверів у центрі обробки даних сторонньої компанії — ви володієте обладнанням; вони забезпечують фізичну безпеку, живлення і охолодження.
Основні концепції
Region
Регіон — це географічна область, що містить декілька Зон доступності (AZ). Вибір регіону поблизу користувачів зменшує затримку; вимоги до відповідності можуть вимагати певних регіонів.
Зона доступності (AZ)
AZ це фізично відокремлений центр обробки даних в межах регіону, з незалежним живленням, охолодженням і мережею. Розгортання по декількох AZ забезпечує стійкість до помилок.
Адміністративний центр — смт Попасна
Крайові розташування (точки присутності) є вузлами CDN, що знаходяться ближче до користувачів, ніж головний регіон — використовуються CloudFront (AWS), Azure CDN і Cloud CDN (GCP) для кешування вмісту і зменшення затримки.
Availability
Доступність — це відсоток часу, протягом якого служба працює і є доступною. 99.9% = 8,7 годин бездіяльності/рік; 99.99% = 52 хвилини/рік; 99.999% = 5 хвилин/рік.
Elasticity
** Еластичність ** — це можливість автоматичного збільшення або зменшення обсягу ресурсів відповідно до попиту — забезпечення більшої пропускної здатності під час піків навантаження і звільнення її, коли попит зменшується.
Networking
Віртуальна приватна мережа (VPN)
** VPC ** — це ізольована віртуальна мережа в хмарі. Містить підмережі, таблиці маршрутизації, інтернет- шлюзів і груп безпеки.
Subnet
** Підмережа ** це діапазон IP- адрес у межах VPC. ** Публічні підмережі ** мають маршрути до інтернет- шлюзів; ** приватні підмережі ** не мають.
Група безпеки
** група безпеки ** — це віртуальний брандмауер, який керує вхідним і вихідним трафіком до екземплярів. Застосовано на рівні екземпляра.
Список контролю доступу до мережі (NACL)
** Network ACL ** — це брандмауер без стану на рівні підмережі — правила оцінюються окремо для вхідного і вихідного трафіку.
VPN / Direct Connect / ExpressRoute
- VPN — зашифрований тунель через публічний інтернет, що з’ єднує локально з хмарним VPC
- AWS Direct Connect / Azure ExpressRoute / GCP Cloud Interconnect — виділене приватне мережеве з’єднання з хмарою; нижча затримка, більш постійна пропускна здатність, ніж VPN
CDN (Content Delivery Network) — мережа доставки контенту
CDN кешує контент на країх світу, обслуговуючи запити з найближчого вузла. Зменшує затримку для статичних ресурсів (зображень, JS, CSS).
Compute
Автоматичне масштабування
** Автоматичне масштабування ** автоматично змінює кількість екземплярів у групі відповідно до потреби (процесор, частота запитів) або розкладу. Забезпечує достатню пропускну здатність без перевантаження.
Балансувальник навантаження
** Балансувальник навантаження ** розподіляє вхідні запити між декількома екземплярами сервера. Типи:
- ALB (Application Load Balancer) — Шлях 7 (HTTP/HTTPS), маршрутизація за допомогою шляхів і вузлів
- ** NLB ** (балансування мережевого навантаження) — шар 4 (TCP/ UDP), надзвичайно низька затримка для високої пропускної здатності
Контейнер / Докер
контейнер пакує програму зі всіма її залежностями у переносимий, ізольований блок. Docker є стандартним контейнером для виконання.
8-й окремий гірськострілецький полк (8 ГО) (нім
Kubernetes є стандартною платформою оркестрування контейнерів. Управління службами Kubernetes: EKS (AWS Elastic Kubernetes Service), AKS (Azure Kubernetes Service), GKE (Google Kubernetes Engine).
Storage
Зберігання об’єктів
** Об’ єкт зберігання ** зберігає неструктуровані дані як об’ єкти (файли + метадані + унікальний ідентифікатор). Масивно масштабований, міцний (11 дев’яток) і дешевий. Приклади: S3 (AWS), Azure Blob Storage, GCS (GCP).
Блокове зберігання
** Блочне зберігання ** надає необроблені томи зберігання з низькою затримкою, змонтовані до екземплярів, на кшталт віртуального жорсткого диска. Приклади: EBS (AWS), Azure Managed Disks, GCP Persistent Disk.
Зберігання файлів
** Сховище файлів ** надає спільні файлові системи з доступом через мережу. Приклади: EFS (AWS Elastic File System), Azure Files, GCP Filestore.
Життєвий цикл
Правила ** циклу життя ** автоматично переносять об’ єкти на дешевші рівні зберігання (наприклад, Нечастотний доступ, Гляціор) або вилучають їх після визначеного періоду часу.
Керування ідентифікацією та доступом
IAM (Менеджер ідентифікацій та доступу)
IAM керує тим, хто може робити що у хмарному середовищі — користувачі, ролі, правила і права доступу.
Найменший Привілей
Принцип найменших привілеїв означає надання мінімальних необхідних прав доступу. Ролі IAM не повинні мати права доступу типу шаблон (* ) у виробничому середовищі.
Role
Роль IAM — це профіль з правами доступу, які можуть бути надані надійним суб’ єктам — іншій службі, користувачеві або головному обліковому запису. Ролі краще за довготривалі ключі доступу.
Обліковий запис служби / керований профіль
Обліковий запис служби (GCP/GCP) або керований профіль (Azure) є профілем для завантаження (VM, Lambda, pod) — дозволяє службам робити виклики API без зберігання унікальних даних.
MFA (Multi-Factor Authentication) — багатофакторна автентифікація
** MFA ** вимагає другого фактора перевірки (програма TOTP, апаратний ключ) крім пароля. Обов’ язковий для доступу до консолі хмарного обслуговування.
Надійність і стійкість
Висока доступність (HA)
Висока доступність - це проектування систем, які залишаються функціональними, незважаючи на помилки компонентів - зазвичай через надлишковість у багатьох AZ.
Толерантність до помилок
** Відмінна стійкість до помилок ** йде далі, ніж HA — система продовжує працювати правильно навіть при відмові компонентів, без будь-якої деградації.
Відновлення після аварії (DR)
** DR ** це план і процес відновлення операцій після серйозної несправності (виключення регіону, вимог викупу, випадкового вилучення). Визначено за RPO і RTO цілі.
Реконструкція (Reconstruction)
** RPO ** це максимально прийнятна втрата даних у часі — наскільки назад можна відновити дані?
Реконструкція (Reconstruction)
** RTO ** — максимально прийнятний час відновлення — як довго система може бути не на зв’ язку?
Автоматичний перемикач
** Circuit breaker ** це шаблон дизайну, який виявляє повторювані помилки в нижній службі і «відкриває» - тимчасово зупиняє запити, щоб дати службі час на відновлення. Захищає від каскадних помилок.
Інженерія хаосу
** Хаотична інженерія ** це практика навмисного введення невдач у виробництво для перевірки стійкості. Популярний завдяки серіалу Chaos Monkey.
Фінансовий менеджмент та управління ризиками
FinOps
FinOps це практика, яка приносить фінансову відповідальність за хмарні витрати - інженерні, фінансові та продуктові команди співпрацюють з метою видимості, розподілу та оптимізації витрат.
На запитання
** На запит ** ціни нараховуються за те, що ви використовуєте за секунду / годину, без зобов’язань. Гибкий, але найдорожчий.
Резервований екземпляр / План економії
Зарезервовані екземпляри (AWS) / Зарезервовані обсяги (Azure, GCP) пропонують знижки (до 75%) в обмін на 1- або 3-річні зобов’язання.
Використовується для визначення ступеня вільності / вільної ємності
Spot Instances (AWS) / Preemptible VMs (GCP) / Spot VMs (Azure) використовують запасні обсяги хмарної пам’яті зі знижкою 60-90% — можуть бути припинені за короткий час. Придатний для пакових завантажень з підтримкою помилок.
Rightsizing
** Виправлення ** означає вибір типу екземпляра, який відповідає фактичному використанню ресурсів — уникнення надмірно (дорого) або недостатньо (повільно) обладнаних екземплярів.
Капітальні витрати проти операційних витрат
- CapEx (Капітальні витрати) — початкові інвестиції в обладнання; центри обробки даних на місці
- OpEx (операційні витрати) — витрати на постійне використання; хмарні обчислення
TCO (Total Cost of Ownership) — загальна вартість власності
** Аналіз TCO ** порівнює повну вартість на місці проти хмари - включаючи обладнання, енергію, об’єкти, персонал, ліцензування і альтернативні витрати.
Рефінансування / Showback
Chargeback повертає витрати на хмару внутрішнім командам. Showback повідомляє про витрати без формального розрахунку. Обидва вимагають мітки ресурсів за командою і продуктом.
Добре розвинена інфраструктура
** AWS Well-Architected Framework ** визначає шість стовпів:
- ** Операційна досконалість ** — розгортання, моніторинг і систематичне вдосконалення
- ** Безпека ** — захист даних і систем
- ** Надійність ** — відновлення після аварій і задоволення попитів
- ** Ефективність продуктивності ** — ефективне використання ресурсів
- ** Оптимізація витрат ** — уникайте непотрібних витрат
- Стабільність — мінімізація впливу на довкілля
«The Well-Architected Review визначив два HRI (High Risk Items) в стовпі надійності — ми не маємо автоматичного відключення для первинного RDS»
Архітектурно-будівельний огляд
** Добре спроектований огляд ** оцінює навантаження на роботу з шести стовпів і виробляє список пріоритетних поліпшень.
Корисні фрази
В обзорах архитектуры:
- “Дизайн відповідає надійності стовпа - ми розгортаємо через три AZ з автоматичним відключення.”
-
- “Головний компроміс - це вартість проти затримки - використання репліки читання в тому ж регіоні додає $ 400 / місяць, але зменшує затримку P95 на 40%.” *
В обсуждениях ФинОпс:
- “Наш рахунок за обчислення збільшився на 30% в останньому кварталі, незважаючи на рівний трафік — аналіз розмірів показує, що у нас є 40 екземплярів з менш ніж 5% використання процесора.”
** В планах по ликвидації наслідків аварії: **
-
- “РПО становить 15 хвилин, досягається за допомогою синхронної реплікації до стану очікування у другій AZ. RTO становить 10 хвилин — виміряно в нашому останньому тренуванні з відмови.»*
Practice
Перевірте ваші знання з хмарних технологій за допомогою ** Набір вправ з архітектури хмар та фінансових операцій ** і ** Набір DevOps & Cloud ** — це поняття, що стосуються інфраструктури, вартості та архітектури.
Досліджуйте ** Архітектурний стиль — класицизм ** для вправ, практики написання (ADR, пропозиції) і підготовки до інтерв’ ю.