Просто идея или взлома.
div {
background-color: blue;
width: 10%;
transition: background-color 0.5s, width 0.5s;
font-size: 0;
}
div:hover {
width: 20%;
background-color: red;
}
img {
width: 100%;
height: auto;
visibility: hidden;
}
<div>
<!-- use an image with target aspect ratio. sample is a square -->
<img src="http://i.imgur.com/9OPnZNk.png" />
</div>
Так много вопросов, но все они хороши.
Что касается масштабирования, у вас есть несколько вариантов.
Первый - начать с одного блока. Вы можете увеличивать масштаб - с помощью более мощного бокса. EC2 имеют экземпляры разного размера. Это включает в себя миграцию серверов каждый раз, когда вам нужен ящик побольше.
Проще добавить серверы. Вы можете начать с одного экземпляра для Apache и MySQL. Затем, когда трафик возрастет, создайте отдельный экземпляр для MySQL и укажите в своем приложении этот новый экземпляр. Это создает хороший слой между приложением и базой данных. Похоже, это хорошая отправная точка, основанная на вашем трафике.
Затем вам, вероятно, потребуется больше мощности приложения (веб-серверы) или больше мощности базы данных (кластер MySQL и т. Д.). Ваши записи DNS могут указывать на пару передних компьютеров, на которых запущено какое-нибудь программное обеспечение для балансировки нагрузки (попробуйте Pound ). Эти серверы балансировки нагрузки распределяют запросы на ваши веб-серверы. В EC2 есть Elastic Load Balancing , который является альтернативой самостоятельному управлению и, вероятно, проще - я не использовал его лично.
Еще кое-что, о чем следует знать - EC2 не имеет постоянного хранилище . Вы должны сами управлять постоянными данными, используя Elastic Block Store. Это руководство - отличное руководство о том, как это сделать с помощью автоматического резервного копирования.
Я рекомендую вам приобрести несколько зарезервированных инстансов, если вы решите, что EC2 - это путь вперед. Вы сэкономите около 50% за 3 года!
Наконец, вас могут заинтересовать такие услуги, как RightScale , которые предлагают услуги управления по цене. Доступны и другие провайдеры.
Первый шаг - разделить проблемы. Я бы выделил отдельный сервер MySQL и, возможно, выделенный модуль memcached, в зависимости от того, насколько высока ваша нагрузка. Затем я бы отслеживал использование памяти и ЦП на каждой коробке и смотрел, где можно оптимизировать, где это возможно. Это можно сделать, создав новые коробки Media Temple. Я также порекомендовал бы Slicehost в качестве более дешевой и удобной для разработчиков альтернативы.
Еще несколько оптимизаций низкобюджетного развертывания PHP:
mod_rewrite
и более простых модулей Apache. Если вы предпочитаете более высокоуровневый подход «сделай сам», вы можете захотеть чтобы проверить Scalr ( код в Google Code ). Стоит посмотреть видео на их сайте. Он предоставляет масштабируемую среду хостинга с использованием Amazon EC2. Это технология с открытым исходным кодом, поэтому вы можете загрузить ее и реализовать самостоятельно на своем собственном сервере управления. (Коробка вашего медиа-храма, Возможно?) Scalr имеет предварительно созданные AMI (устройства EC2), доступные для некоторых распространенных вариантов использования.