Хьюстон, у нас проблема. Дизайн систем на отказ, паттерны разработки внутренних сервисов облака Amazon Архитектуры, масштабируемость

Доклад принят в программу конференции
Василий Пантюхин
Amazon Web Services

Начинал Unix-админом в .ru-компаниях. Потом 6 лет занимался большими железками Sun Microsystem, затем 11 лет проповедовал дата-центричность мира в EMC. Естественным путем эволюционировал в приватные облака. Выпрыгнул из зоны комфорта и подался в публичные клауды.
Сейчас архитектор Amazon Web Services в странах Европы, Ближнего Востока и Африки. Техническими советами помогаю жить и развиваться в облаке AWS.

Тезисы

Программные и аппаратные компоненты решения постоянно ломаются, ведут себя непонятно и непредсказуемо. Кошмар разработчика? Да нет, совершенно обычная ситуация. Для распределенных систем такое поведение нормально и является следствием эффекта масштаба и банальной статистики. Именно поэтому Design for failure является базовым принципом при проектировании облачных сервисов AWS. Системы изначально строятся так, чтобы сделать незаметным ущерб от известных и даже пока еще неизвестных сбоев и максимально быстро восстанавливать свою штатную работу.

Мы обсудим некоторые причины отказов сервисов и на их примере разберем паттерны проектирования распределенных систем, используемыми разработчиками Amazon. Поговорим о том, что такое Cell-based architecture, Constant Work, Shuffle Sharding, и пр. Используйте подходы AWS в своих собственных решениях.

Другие доклады секции Архитектуры, масштабируемость