ZigZag раскрывает особенности своей архитектуры - как функционирует Проект.
Самое главное о технологии Zigzag Photo – мы в облаке!
20 Окт, 2008
Автор: Сеид Мядиев — Архитектор проекта Zigzag Photo
Самое главное в технологии Zigzag Photo – это, безусловно, то, что ценные фотографии наших пользователей надежно и безопасно сохранены, независимо от объема всего ресурса или его загруженности. К примеру, каждая фотография, загружаемая на Zigzag Photo, сохраняется в пяти разных географических местах с целью ее резервного копирования. Более того, доступ ко всем частным фотографиям защищен криптографической подписью, а не просто длинной строкой прямой ссылки.
Такая высокая степень сохранности данных стала возможной для нашей команды благодаря использованию вычислительного облака компании Amazon Web Services.
- Код: Выделить всё
http://aws.amazon.com/
Это вычислительное облако известно тем, что представляет собой ту самую информационную инфраструктуру, на которой строятся все внутренние системы всемирно - известного магазина Amazon.com.
- Код: Выделить всё
http://amazon.com/
Так вот, в основу архитектуры Zigzag Photo были заложены несколько базовых сервисов этого облака, что и помогает нам обеспечить ожидаемое качество и надежность от нашего ресурса.
Итак, несколько слов о программной архитектуре Zigzag Photo:
Все страницы сайта полностью отделены от серверной части и представляют собой исключительно HTML, CSS и JavaScript файлы. Серверная часть реализована в виде программного интерфейса (API), функции которого вызываются клиентской стороной. Такое разделение позволяет нам вносить изменения в дизайн и верстку сайта, а также добавлять новые разделы, не сбивая работу серверной стороны.
Разработка Zigzag Photo привела к созданию динамичного кластера состоящего из инстанций Amazon Elastic Compute Cloud (EC2).
- Код: Выделить всё
http://aws.amazon.com/ec2
Размер нашего кластера можно менять в большую или меньшую сторону без изменения каких-либо настроек. Все инстанции периодически проверяют время отклика друг друга и при необходимости, автоматически запускаются дополнительные инстанции или на время отключаются бездейственные.
Примерный сценарий работы Zigzag Photo в облаке следующий. Как только фотография загрузилась, в нашей системе происходят несколько параллельных процессов, таких как: индексирование данных фотографии, создание 5 разных размеров фотографии, нанесение водяного знака на снимок, и т.д. Все эти процессы задействуют тот или иной сервис облака. Например, все фотографии хранятся в
Amazon Simple Storage Service (
S3). Весь индекс ведется в Amazon SimpleDB и включает в себя несколько десятков разных полей. Нанесение водяного знака и сохранение нового файла осуществляется обработчиком, запущенным в нескольких копиях на инстанции EC2. Такие функции, как изменение размера снимка, удаление всего альбома, распаковка ZIP-архива, и даже рассылка электронных сообщений пользователям, также исполняются разными обработчиками на EC2, которые асинхронно получают свои задания из разных очередей Amazon Simple Queue Service (SQS).
- Код: Выделить всё
http://aws.amazon.com/sqs
Благодаря тому, что проект Zigzag Photo полностью обитает в облаке, нашей команде не приходится беспокоиться о содержании собственного центра данных, что сопряжено с огромным количеством сложностей. Вместо этого, наши усилия направлены на улучшение работы существующих разделов сайта и создание новых. На этом раннем этапе развития Zigzag Photo, на ресурс поступает порядка 8000 новых фотографий каждую неделю, а online-заказы разнятся в размере от 10 Мб до более чем 1 Гб.
Мы всей командой радеем за пользователей Zigzag Photo и в знак этого, в наши самые ближайшие планы входит ряд работ по оптимизации и ускорению работы всего сайта.
- Код: Выделить всё
http://www.zigzagz.net/blog/?p=71