Облачные вычисления
Cloud Architecture Design
AWS Well-Architected Review выявил: Netflix переплачивала $20M+ в год за неоптимальную архитектуру. Snapchat перешёл с App Engine на собственную инфраструктуру Google Cloud и сэкономил $9M за год. Архитектурные решения - это финансовые решения.
- **Amazon Prime Day:** Архитектура на пике: stateless ECS Fargate за 5 минут масштабируется с 200 до 2000 инстансов. SQS декаплит checkout от inventory. DynamoDB On-Demand: 2 триллиона API запросов за Prime Day без единого change.
- **Netflix Multi-Region:** Active-Active в us-east-1 и us-west-2. Aurora Global Database: failover за < 1 минуту при региональном сбое. Global Accelerator: 30% снижение latency для глобальной аудитории через AWS backbone.
- **Stripe:** 99.999% uptime SLA. Multi-region Active-Active. RPO=0 через синхронную репликацию между us-east-1 и eu-west-1. При $1B+ дневном объёме платежей - каждая минута downtime стоит миллионы.
Design Scalable
Масштабируемая архитектура строится вокруг нескольких принципов: stateless compute (горизонтальное масштабирование без синхронизации состояния), decoupling через очереди (SQS/Kinesis), asynchronous processing для тяжёлых операций, шардирование данных для масштабирования БД. AWS Well-Architected Framework определяет 6 столпов: Operational Excellence, Security, Reliability, Performance, Cost, Sustainability.
Patterns для масштабирования: CQRS (Command Query Responsibility Segregation) - разделение read и write моделей. Event Sourcing - хранение событий, не текущего состояния. Saga Pattern - распределённые транзакции через компенсирующие события. Database per Service - каждый микросервис владеет своими данными.
Почему stateless compute критичен для горизонтального масштабирования?
Multi Region
Multi-region архитектура обеспечивает: низкую глобальную латентность (Route53 Latency-based routing), resilience при региональных сбоях, соответствие GDPR (данные в EU). Паттерны: Active-Passive (failover в secondary region), Active-Active (запросы идут в оба региона). Aurora Global Database: primary в us-east-1, читаемые реплики в eu-west-1 с latency репликации < 1 секунда.
Global Accelerator vs CloudFront: CloudFront кеширует контент на edge, GA маршрутизирует TCP/UDP через AWS backbone к ближайшему здоровому endpoint (без кеша). Для API: Global Accelerator снижает latency на 30-60% через anycast routing. Для статики: CloudFront более эффективен.
Для чего используется Route53 Latency-based routing в multi-region архитектуре?
Disaster Recovery
Disaster Recovery (DR) стратегии от дешёвой до дорогой: Backup & Restore (RPO часы, RTO часы), Pilot Light (минимальная инфраструктура всегда включена, RPO минуты), Warm Standby (уменьшенная копия prod всегда работает, RPO секунды), Multi-Site Active-Active (нулевой RPO/RTO, максимальная стоимость). Выбор зависит от RTO/RPO требований и бюджета.
RPO (Recovery Point Objective) - максимально допустимая потеря данных: RPO=1h -> можно потерять до 1 часа данных. RTO (Recovery Time Objective) - максимальное время восстановления: RTO=15min -> сервис должен восстановиться за 15 минут. Для финансовых систем: RPO=0 (zero data loss), RTO<1min. Для CMS: RPO=24h, RTO=8h.
Pilot Light DR стратегия держит в DR регионе что именно?
Cost Efficient
Cost-Efficient Architecture - проектирование с учётом стоимости как NFR (Non-Functional Requirement). Serverless для переменной нагрузки: Lambda (0 стоимости при 0 трафике). Spot Instances для batch processing (80% скидка). Graviton3 для постоянных нагрузок (40% дешевле x86). S3 Intelligent-Tiering для данных с непредсказуемым паттерном доступа. Удаление неиспользуемых ресурсов (AWS Cost Anomaly Detection).
Serverless vs Containers трейдофф: Lambda - $0 при 0 запросах, cold start 100-500ms. ECS Fargate - оплата за время работы Task. При постоянной нагрузке > 1M req/month Fargate/ECS дешевле Lambda. Lambda лучше для event-driven и spiky нагрузок. Инструменты: Infracost (cost estimation в PR), AWS Cost Anomaly Detection, Trusted Advisor.
При каком сценарии ECS Fargate становится дешевле AWS Lambda для одной функции?
Итоги
- **Scalable Architecture:** Stateless compute + external state (Redis, S3, RDS). Decoupling через SQS/Kinesis. ECS Auto Scaling на CPU > 60%. CQRS + Event Sourcing для read/write масштабирования.
- **Multi-Region + DR:** Route53 Latency routing -> ближайший регион. Aurora Global Database < 1s репликация. DR стратегии: Backup (RPO/RTO часы, +10%) -> Pilot Light (1-4h, +15%) -> Warm Standby (15-60min, +50%) -> Active-Active (near zero, +200%).
- **Cost-Efficient:** Serverless для spiky нагрузок. Fargate/ECS для стабильной высокой нагрузки. Spot для batch. Graviton3 для все постоянные compute. Cost Anomaly Detection для мониторинга.
Связанные темы
Cloud Architecture объединяет все аспекты облачного инжиниринга:
- AWS Well-Architected Tool — AWS WAF Review оценивает архитектуру по 6 столпам и дает конкретные рекомендации с приоритизацией по риску и ROI
- Chaos Engineering — AWS FIS (Fault Injection Simulator) тестирует resilience: inject regional failures, kill instances, add latency - проверяет что DR и Multi-Region работают на практике
- FinOps и Cost Attribution — Resource tagging (team, env, service) + AWS Cost Explorer для cost attribution по командам. Infracost в CI pipeline показывает стоимость PR до merge
Вопросы для размышления
- Как рассчитать TCO (Total Cost of Ownership) для перехода с on-premise на AWS, включая миграцию, обучение команды и изменения в процессах?
- Когда имеет смысл строить Active-Active multi-region вместо Active-Passive: какие финансовые и технические критерии используются?
- Как организовать chaos engineering для тестирования multi-region failover без влияния на production пользователей?