Сейчас это не про те облака, что летают (хотя там есть разные виды: перистые, кучевые, слоистые…). Это про облака, которые считают. Это целый мир разных компонентов, для разных целей. Итак,
1. Вычисления (Compute):
Сердце облака — вычислительные мощности, которые позволяют запускать приложения и обрабатывать данные. Сюда входят виртуальные машины, контейнеры и бессерверные функции.
- Виртуальные машины (VM): полноценные виртуальные компьютеры с собственной операционной системой. Обеспечивают высокую изоляцию и подходят для приложений, требующих полного контроля над ОС.
Примеры: AWS (Amazon) EC2, Azure Virtual Machines, GCP (Google) Compute Engine - Контейнеры: лёгкие изолированные среды, использующие ядро хост-ОС. Позволяют быстро запускать, масштабировать и переносить приложения, особенно в архитектуре микросервисов.
Примеры: Docker, AWS ECS/Fargate, Azure Container Instances, GCP GKE - Бессерверные функции (Serverless): выполнение кода без управления серверами. Платформа автоматически масштабируется и оплачивается только фактическое время выполнения. Подходит для событийных задач, API и фоновых процессов.
Примеры: AWS Lambda, Azure Functions, GCP Cloud Functions
Простая аналогия:
Виртуальная машина — как отдельный компьютер,
контейнер — как коробка с приложением,
а бессерверная функция — как кнопка: нажал → код выполнился → ресурсы освободились.
2. Хранение данных (Storage):
Облачные платформы предлагают разные виды хранилищ:
- Блочное хранилище (Block Storage): делит данные на блоки и подключается к виртуальной машине как обычный диск. Отлично подходит для баз данных и операционных систем.
- Объектное хранилище (Object Storage): хранит файлы как объекты с метаданными, доступные через API. Идеально для бэкапов, мультимедиа и больших файлов.
- Файловое хранилище (File Storage): предоставляет общий файловый доступ с иерархией папок и файлов, похожий на сетевой диск. Удобно для приложений, которым нужен совместный доступ к файлам или стандартные файловые пути.
Примеры платформ:
- AWS: EBS (блоки), S3 (объекты), EFS (файлы)
- Azure: Disk Storage (блоки), Blob Storage (объекты), Files (файлы)
- GCP: Persistent Disk (блоки), Cloud Storage (объекты), Filestore (файлы)
3. Сети и коммуникации (Networking):
Сетевые сервисы отвечают за то, как компоненты приложения общаются между собой и с пользователями.
- Виртуальная сеть (VPC / VNet): изолированное сетевое пространство внутри облака, где размещаются серверы, базы данных и сервисы. Позволяет контролировать IP-адресацию, маршрутизацию и безопасность.
- Балансировка нагрузки (Load Balancing): распределяет входящий трафик между несколькими экземплярами приложения, повышая отказоустойчивость и производительность.
- CDN (Content Delivery Network): сеть серверов по всему миру, которая доставляет контент пользователям с ближайшей точки, уменьшая задержки.
Примеры платформ:
- AWS: VPC, Elastic Load Balancer, CloudFront
- Azure: Virtual Network, Load Balancer, Azure CDN
- GCP: VPC, Cloud Load Balancing, Cloud CDN
Простая аналогия:
частная дорога (VPC),
диспетчер потоков (Load Balancer)
и склады ближе к клиентам (CDN).
4. Базы данных (Databases):
Облачные базы данных позволяют хранить и обрабатывать данные без ручного администрирования серверов.
- Реляционные базы данных (SQL): подходят для структурированных данных, транзакций и строгих схем.
- Нереляционные базы данных (NoSQL): предназначены для гибких схем, больших объёмов данных и высокой масштабируемости.
- Полностью управляемые сервисы: платформа берёт на себя резервное копирование, обновления и масштабирование.
Примеры платформ:
- AWS: RDS, Aurora (SQL), DynamoDB (NoSQL)
- Azure: SQL Database, Database for PostgreSQL, Cosmos DB
- GCP: Cloud SQL, Firestore, Bigtable
5. Инструменты управления и разработки (Dev & Management Tools):
Эти сервисы помогают разворачивать приложения, следить за их состоянием и автоматизировать процессы.
- Инфраструктура как код (IaC): описание облачных ресурсов в виде конфигураций, которые можно повторно разворачивать.
- Мониторинг и логирование: сбор метрик, логов и алертов для понимания, как работает система.
- CI/CD и автоматизация: автоматическая сборка, тестирование и деплой приложений.
Примеры платформ:
- AWS: CloudFormation, CloudWatch, CodePipeline
- Azure: Resource Manager, Monitor, Azure DevOps
- GCP: Deployment Manager, Cloud Monitoring, Cloud Build
Простая аналогия:
инструкции (IaC),
приборная панель (мониторинг)
и автоматический конвейер доставки кода.