📖 Теория: Облачные вычисления и AWS

⚡ Ключевые понятия

Облако — аренда вычислительных ресурсов через интернет. AWS лидирует по числу сервисов и охвату регионов. Три модели: IaaS (вы управляете ОС и выше), PaaS (вы управляете приложением), SaaS (готовый продукт).

  • Region — географическая зона (например, eu-west-1 = Ирландия)
  • AZ (Availability Zone) — физически отдельный дата-центр внутри региона
  • Edge Location — точка кэширования CloudFront, ближайшая к пользователю
  • Pay-as-you-go — платите только за потреблённые ресурсы
  • Free Tier — 12 месяцев бесплатно для базовых сервисов

Главное: регион выбирается исходя из близости к пользователям, законодательных требований (data residency) и наличия нужных сервисов.

Что такое облачные вычисления

Облачные технологии — технологии распределённой обработки цифровых данных. Они дают пользователям в любой точке мира доступ к удалённому оборудованию, сервисам и программам. Современные облачные технологии заменяют отдельные базы данных или вычислительные мощности и даже целые дата-центры и сетевую инфраструктуру.

Облачные вычисления — модель предоставления вычислительных ресурсов (серверов, хранилищ, баз данных, сетей, программного обеспечения и аналитики) через Интернет. Вместо локального размещения физического оборудования пользователи арендуют нужные ресурсы у облачных провайдеров, таких как Amazon Web Services (AWS), Microsoft Azure или Google Cloud Platform.

💡 Ключевое преимущество: Нет нужды покупать и обслуживать физические серверы. Вы платите только за то, что фактически используете, и можете масштабироваться за минуты, а не месяцы.

История облачных вычислений

  • 1960-е годы: Концепция разделения времени (time-sharing), предложенная Джоном Маккарти, заложила основу для идеи облачных вычислений.
  • 1990-е годы: Развитие интернета и веб-технологий способствовало возникновению SaaS. В схемах телекоммуникаций и сетей начали использовать облачные символы для обозначения сложных инфраструктур.
  • 1996 год: Команда из Compaq впервые использовала термин «облачные вычисления» (cloud computing) в современном смысле — предоставление ресурсов и приложений через Интернет.
  • 2006 год: Amazon запустил Amazon Web Services (AWS), предоставив первый крупный публичный облачный сервис — Amazon S3 (Simple Storage Service).
  • 2010-е — наши дни: Быстрое развитие технологий облачных вычислений, увеличение числа провайдеров и услуг. Появление serverless, контейнеров, AI/ML-сервисов.

Типы облачных сервисов

Существуют три фундаментальных модели облачных сервисов. Они различаются по тому, что берёт на себя провайдер, а что остаётся под управлением клиента.

IaaS — Infrastructure as a Service

Провайдер предоставляет виртуализированную вычислительную инфраструктуру: серверы, хранилища, сети. Клиент управляет операционной системой, middleware, приложениями и данными.

  • AWS: Amazon EC2, Amazon VPC, Amazon EBS
  • GCP: Google Compute Engine (GCE)
  • Azure: Azure Virtual Machines

Когда использовать: нужен максимальный контроль над конфигурацией сервера, специфическая ОС, унаследованные приложения.

PaaS — Platform as a Service

Провайдер предоставляет платформу для разработки, тестирования и развёртывания приложений. Клиент управляет только приложением и данными, не беспокоясь об ОС и инфраструктуре.

  • GCP: Google App Engine
  • Azure: Microsoft Azure App Services
  • AWS: AWS Elastic Beanstalk, AWS Lambda (serverless — частный случай PaaS)

Когда использовать: хотите сосредоточиться на коде, а не на администрировании инфраструктуры.

SaaS — Software as a Service

Провайдер предоставляет готовое программное обеспечение через интернет. Клиент только использует продукт — он не управляет ни инфраструктурой, ни платформой, ни даже приложением.

  • Google Workspace (Gmail, Docs, Drive)
  • Microsoft Office 365 / Microsoft 365
  • Slack, Zoom, Salesforce

Когда использовать: стандартные бизнес-задачи (почта, документы, коммуникации).

💡 Аналогия с пиццей:
  • On-premises — готовите дома сами: закупаете продукты, тесто, духовку
  • IaaS — берёте в аренду духовку и кухню, продукты покупаете сами
  • PaaS — берёте готовое тесто и соус, добавляете только начинку
  • SaaS — заказываете готовую пиццу с доставкой

Типы облачного развёртывания

  • Public Cloud (публичное облако) — ресурсы принадлежат провайдеру (AWS, Azure, GCP), доступны широкой аудитории через интернет. Максимальная экономия и масштабируемость.
  • Private Cloud (частное облако) — инфраструктура используется одной организацией, может быть расположена локально или у провайдера. Больший контроль и безопасность.
  • Hybrid Cloud (гибридное облако) — сочетание публичного и частного облака с интеграцией между ними. Позволяет держать чувствительные данные локально, а пиковые нагрузки «сбрасывать» в публичное облако.

Преимущества облачных вычислений

  • Экономичность: модель pay-as-you-go — платите только за использованные ресурсы. Нет капитальных затрат на оборудование.
  • Масштабируемость: легко масштабировать ресурсы в соответствии с текущими потребностями, в том числе автоматически.
  • Надёжность: дублирование данных и резервирование обеспечивают высокую доступность.
  • Удобство: управление ресурсами через веб-интерфейс и API, доступно из любой точки мира.
  • Гибкость и инновации: доступ к новейшим технологиям (AI, ML, serverless) без необходимости покупать специализированное железо.

Сравнение облачных провайдеров: AWS, Azure, GCP

AWS, Azure и GCP — три крупнейших облачных провайдера, каждый из которых занимает уникальную позицию на рынке.

Провайдер Сильные стороны Целевая аудитория Доля рынка (2024)
AWS Наибольший набор сервисов (200+), самая широкая инфраструктура, зрелая экосистема Стартапы, enterprise, все отрасли ~31%
Azure Глубокая интеграция с продуктами Microsoft, гибридное облако Корпорации, госучреждения, Microsoft-стек ~25%
GCP Передовые AI/ML-технологии, собственная глобальная сеть Стартапы, Big Data, ML-задачи ~11%
⚠️ Проверить по документации: доли рынка меняются ежеквартально — актуальные данные смотрите в отчётах Statista, Synergy Research Group.

AWS Global Infrastructure

Глобальная инфраструктура AWS позволяет обеспечить высокую доступность, надёжность и производительность облачных услуг.

Регионы (Regions)

Регион — отдельная географическая область, включающая несколько изолированных дата-центров (зон доступности). Каждый регион полностью независим от других.

Примеры регионов AWS:

  • us-east-1 — Северная Вирджиния (США, самый старый и большой)
  • us-west-2 — Орегон (США)
  • eu-west-1 — Ирландия
  • eu-central-1 — Франкфурт (Германия)
  • ap-southeast-1 — Сингапур
  • ap-northeast-1 — Токио (Япония)
⚠️ Проверить по документации: AWS регулярно открывает новые регионы — актуальный список на aws.amazon.com/about-aws/global-infrastructure.

Как выбирать регион:

  • Близость к пользователям — минимизирует задержку (latency)
  • Законодательные требования — data residency: данные граждан ЕС должны храниться в ЕС (GDPR)
  • Доступность сервисов — не все сервисы доступны в каждом регионе
  • Стоимость — цены в разных регионах отличаются (us-east-1 обычно дешевле)

Зоны доступности (Availability Zones, AZ)

Зона доступности — физически отдельный дата-центр внутри региона с независимым питанием, охлаждением и сетью. Каждый регион содержит минимум 2–6 зон доступности.

Примеры AZ: us-east-1a, us-east-1b, us-east-1c

Развёртывание приложений в нескольких AZ обеспечивает высокую доступность (High Availability): если один дата-центр выходит из строя, приложение продолжает работать.

Edge Locations (точки присутствия)

Edge Locations — серверы кэширования, расположенные ближе к конечным пользователям, чем основные регионы. Используются сервисом Amazon CloudFront (CDN) для быстрой доставки статического контента.

⚠️ Проверить по документации: количество edge locations постоянно растёт — актуально более 600 точек присутствия.

Ключевые сервисы AWS

AWS предлагает более 200 сервисов. Вот основные категории и важнейшие сервисы:

Вычисления (Compute)

Amazon EC2 (Elastic Compute Cloud) — виртуальные серверы в облаке. По сути, аренда виртуальной машины с выбором ОС, CPU, RAM и дискового хранилища.
Особенности: разные типы инстансов (общего назначения, оптимизированные для вычислений, памяти, GPU), автоскалирование.
Аналоги: GCP Compute Engine (GCE), Azure Virtual Machines.
AWS Lambda — serverless-вычисления. Вы загружаете код (функцию), AWS запускает его в ответ на события. Не нужно управлять серверами — платите только за время выполнения.
Аналоги: GCP Cloud Functions, Azure Functions.

Хранилище (Storage)

Amazon S3 (Simple Storage Service) — объектное хранилище с высокой доступностью (99,99%) и надёжностью (11 девяток — 99,999999999%).
Классы хранения: Standard, Standard-IA (редкий доступ), S3 Glacier (архив).
Аналоги: GCP Cloud Storage, Azure Blob Storage.

Базы данных (Databases)

Amazon RDS (Relational Database Service) — управляемый сервис реляционных БД. Поддерживает MySQL, PostgreSQL, MariaDB, Oracle, Microsoft SQL Server, Aurora.
Аналоги: GCP Cloud SQL, Azure SQL Database.
Amazon DynamoDB — управляемая NoSQL база данных с предсказуемой производительностью при любом масштабе.
Аналоги: GCP Bigtable, Azure Cosmos DB.

Сети (Networking)

Amazon VPC (Virtual Private Cloud) — виртуальная изолированная сеть для ваших AWS-ресурсов. Настройте подсети, маршруты, security groups, internet gateway.
Аналоги: GCP VPC, Azure Virtual Network (VNet).
Amazon Route 53 — управляемый DNS-сервис. Маршрутизация по времени отклика, геолокации. Интегрируется с другими сервисами AWS.
Аналоги: GCP Cloud DNS, Azure DNS.

Pricing — ценообразование в AWS

AWS использует несколько моделей ценообразования:

  • Pay-as-you-go — платите за фактически использованные ресурсы. Нет минимальных обязательств и авансовых платежей.
  • Reserved Instances (RI) — резервирование на 1 или 3 года со скидкой до 75% относительно On-Demand цен.
  • Spot Instances — использование незагруженных мощностей AWS по цене до 90% ниже On-Demand, но AWS может прервать инстанс с уведомлением за 2 минуты.
  • Savings Plans — гибкая альтернатива Reserved Instances с обязательством потреблять ресурсы на определённую сумму в час.
AWS Free Tier — уровень бесплатного использования для новых аккаунтов:
  • 12 месяцев: EC2 t2.micro или t3.micro — 750 часов/месяц, S3 — 5 ГБ, RDS — 750 часов/месяц
  • Всегда бесплатно: Lambda — 1 млн запросов/месяц, DynamoDB — 25 ГБ
⚠️ Проверить по документации: лимиты Free Tier и поддерживаемые регионы могут меняться — актуальные сведения на aws.amazon.com/free.

Billing — управление затратами в AWS

AWS предоставляет мощные инструменты для контроля расходов:

  • AWS Billing Dashboard — сводка текущих расходов, прогноз на месяц, детализация по сервисам.
  • AWS Cost Explorer — визуализация и анализ исторических и прогнозируемых расходов с разбивкой по сервисам, регионам, тегам.
  • AWS Budgets — настройка бюджетных порогов с оповещениями по email или SNS при превышении заданных лимитов.
  • AWS Cost and Usage Report (CUR) — детализированный отчёт в S3 для глубокого анализа.
  • AWS Pricing Calculator — оценка стоимости до развёртывания ресурсов.

Governance — управление и безопасность

Governance в AWS — набор инструментов для управления доступом, контроля ресурсов и обеспечения соответствия требованиям:

IAM — Identity and Access Management

IAM позволяет управлять доступом к сервисам и ресурсам AWS:

  • Users (пользователи) — учётные записи для людей или приложений
  • Groups (группы) — объединение пользователей для управления правами
  • Roles (роли) — набор прав, который принимает сервис или пользователь временно
  • Policies (политики) — JSON-документы, определяющие разрешения (Allow/Deny) на конкретные действия с ресурсами
💡 Принцип наименьших привилегий (Least Privilege): Давайте пользователям и сервисам только те права, которые необходимы для выполнения их задач. Никогда не используйте root-аккаунт для повседневных операций.

Теги (Tags)

Теги — пары ключ-значение, которые прикрепляются к AWS-ресурсам. Используются для:

  • Группировки ресурсов по проектам, средам (dev/staging/prod), командам
  • Разбивки затрат в Cost Explorer по тегам
  • Автоматизации управления (AWS Resource Groups, Tag Policies)

AWS Budgets и оповещения

Настройте бюджетные пороги, чтобы не получить неожиданный счёт:

  • Оповещение при достижении 80% и 100% бюджета
  • Прогнозирование расходов на основе текущего потребления
  • Действия при превышении бюджета (например, автоматическое отключение EC2)

AWS Organizations

AWS Organizations позволяет управлять несколькими аккаунтами AWS из одного места:

  • Иерархия аккаунтов: management account → organizational units (OUs) → member accounts
  • Service Control Policies (SCP) — ограничения прав на уровне аккаунтов
  • Консолидированный биллинг — единый счёт для всех аккаунтов организации