Перенос интернет-магазина в облако

  1. Перенос интернет-магазина в облако - введение
  2. Единственный экземпляр в AWS - уровень 1
  3. Один экземпляр в AWS и база данных в RDS - уровень 2
  4. Один экземпляр, RDS и статические файлы, хранящиеся в S3 - уровень 3
  5. Один экземпляр, RDS и статические файлы, хранящиеся в S3, сеансы в Amazon ElastiCache - уровень 4
  6. Один экземпляр, RDS и статические файлы, хранящиеся в S3 - VPC с VPN, что означает повышение уровня...
  7. HA - два экземпляра, база данных в RDS, файлы в S3 - уровень 6
  8. HA - два экземпляра, база данных в RDS multi-AZ, файлы в S3 - уровень 7
  9. HA - два экземпляра, база данных в RDS multi-AZ, файлы в S3, сеансы в Amazon ElastiCache с HA - уровень 8
  10. Мы используем Route 53 и CDNa Amazon CloudFront - уровень 9
  11. Запускаем автомасштабирование - уровень 10
  12. Мы добавляем услуги - SES - уровень 11
  13. Резервное копирование - уровень 12
  14. Перенос интернет-магазина в облако (PrestaShop, Magento, Quick.Cart, OpenCart, VirtueMart, osCommerce,...

Трудно представить бизнес, который может пострадать больше, если веб-сайт не работает, чем интернет-магазин (это риск для всей индустрии электронной коммерции). Вот почему перемещение интернет-магазина в облако требует все большего числа субъектов электронной коммерции. Пряность добавляется тем фактом, что 40% интернет-пользователей покидают магазин, если он не загружен менее чем за 3 секунды. Как будто этого было недостаточно, целых 79% пользователей менее охотно возвращаются в магазин, когда у предыдущих покупок возникали проблемы со скоростью работы. Так что есть над чем поработать.

Перенос интернет-магазина в облако - введение

Подавляющее большинство трафика в интернет-магазинах исходит от поисковых систем и систем сравнения. После того, как кто-то нашел и выбрал ваш магазин, вы не можете позволить веб-странице не загружаться. Поскольку он будет «закрыт», клиент перейдет по другой ссылке и, вероятно, не вернется. Интернет-магазины работают на различных платформах, как проприетарного, так и готового программного обеспечения, таких как PrestaShop, Magento, Quick.Cart, OpenCart, VirtueMart, osCommerce, WooCommerce и других. Каждое решение имеет свои преимущества и недостатки, но независимо от платформы, окончательное решение должно попасть в сеть. Выбор этого места не всегда делается с должной осмотрительностью. Запускаем магазин, все отлично работает. Вопрос в том, как защищен хостинг? Какова доступность поставщика услуг? Через какое время восстановятся данные? Популярные услуги хостинга обычно не обеспечивают круглосуточную поддержку, а SLA (обычный уровень доступности услуг) рассчитывается в долгие часы или даже дни. Даже если SLA не будет соблюдено, будет плохое утешение в 50 злотых в качестве компенсации, если магазин не работал в течение двух дней. 4ч провал не кажется длинным, верно? Хорошо, но перерыв с 17:00 до 21:00 в Черную пятницу звучит гораздо хуже.

Если вы серьезно относитесь к своему бизнесу электронной коммерции, вы должны предположить, что каждый элемент инфраструктуры может дать сбой. Обещания поставщика услуг всегда будут пустыми, если вы не защитите себя серьезно - начиная с дублирования каждого элемента магазина и заканчивая сохранением копии сайта в другом месте, отличном от оригинала, - готовой к запуску в случае полного сбоя с поставщиком услуг.

Адаптация инфраструктуры к нагрузке, которая является переменной для каждого магазина, останется отдельной проблемой. Независимо от того, чем вы торгуете, существуют периоды большей и меньшей нагрузки в день или годовой цикл (праздники, день детей / матери / отца, день святого Валентина и т. Д.). Или во время регулярного продвижения.

Это облако, которое позволяет вам снизить бизнес-риски, обеспечивая при этом привлекательные условия для гибкого соответствия ресурсов вашим потребностям. В конечном итоге вы снизите затраты на ведение бизнеса. Кроме того, постоянное размышление о том, может ли что-то перестать работать, отвлекает вас от размышлений о бизнесе и от того, что вы знаете лучше всего.

Давайте посмотрим, как ваша инфраструктура может развиваться в Amazon AWS По мере развития бизнеса и ответственного подхода к его поддержанию. Вы найдете ответ здесь, поскольку облако масштабирует свою «мощность» в зависимости от ваших потребностей. С нашей помощью вы также посчитаете расходы на содержание магазина в облаке Amazon. Вы можете начать с небольших ресурсов и по мере роста вашего бизнеса (или вы будете готовы к следующим шагам по адаптации вашего магазина к облаку) - добавьте больше блоков, увеличив масштабируемость и надежность платформы.

Каждый ваш следующий шаг будет увеличивать время безотказной работы, гибкость, масштабируемость и доступность веб-сайта, и, наконец, оставшиеся элементы головоломки будут заботиться о мельчайших аспектах инфраструктуры.

Единственный экземпляр в AWS - уровень 1

Единственный экземпляр в AWS - уровень 1

Инфраструктура является отражением одного сервера или VPS. Вы можете найти эту опцию в любом облаке и за его пределами. Это первый шаг, потому что, перенося хостинг интернет-магазина в облако, вы можете извлечь выгоду из этого факта - в любой момент вы можете увеличить ресурсы экземпляра, добавить больше ЦП или ядер, ОЗУ и расширить диск. Все это сделает магазин недоступным всего за несколько минут, и вам не придется ни переносить, ни переносить, ни копировать что-либо, писать кому-либо. Экономия времени и средств неоспорима, потому что вы можете вносить изменения в любое время и платить только за часы работы больших ресурсов.

Один экземпляр в AWS и база данных в RDS - уровень 2

Один экземпляр в AWS и база данных в RDS - уровень 2

Это версия, которая впервые начинает использовать преимущества облачных вычислений. Мы прикрепляем базу данных, расположенную в службе RDS (служба реляционной базы данных), к нашему единственному экземпляру. Вам не нужно устанавливать Mysql, Postgres или другую базу данных (Amazon Aurora, Oracle, MSSQL, MariaDB) - мы выбираем ее как сервис и нас интересуют только данные, RDS позволяет вам выбирать нужные ресурсы и легко масштабировать их при необходимости. Кроме того, мы можем легко создавать резервные копии, автоматически (даже независимо), и сохранять их в другом регионе в корзине S3, к которым имеют доступ только мы, и получить гарантию того, что никто не удалит внезапно все эти данные. Экземпляр занимается обслуживанием веб-сайта, там работает приложение магазина, будь то Prestashop или Magento, и подключается к службе RDS к базе данных. И база данных является одним из наиболее загруженных мест в интернет-магазине, поэтому вы не только распределяете нагрузку на две службы, но и помогаете диагностировать проблемы, нагрузки и т. Д. Кроме того, вы можете менять ресурсы отдельно - экземпляр EC2 со службой или RDS отдельно. , Огромное удобство и гибкость - в конце концов, все дело в облаке - когда вы ожидаете большой трафик всего за несколько дней или недель. Вы покупаете больше ресурсов, не беспокоясь и платя за инфраструктуру, которая 90% года ничего не делает. Использование RDS также дает другие прибыли, но о них позже.

Один экземпляр, RDS и статические файлы, хранящиеся в S3 - уровень 3

Один экземпляр, RDS и статические файлы, хранящиеся в S3 - уровень 3

Мы медленно достигаем сердца облака. Наш магазин получит гибкость и возможность изменения инфраструктуры, когда избавится от записи важных данных в самом экземпляре. Мы можем получить это, переместив файлы магазина на S3. Это квинтэссенция Amazon Web Services, исторически первой службы в облаке. Простое в использовании файловое пространство без ограничений по количеству или пространству, масштабируемое, обладающее невероятной избыточностью и возможностью ведения записей. В то же время нам не нужно ничего резервировать или смотреть на ограничения, мы платим только за объем данных, передачу, количество чтений и записей в файле. AWS гарантирует доступность S3 на 99,99% (что-то может не работать в течение 0,5 с в месяц). Вы сохраняете файлы, такие как изображения, фотографии или загруженные файлы, в S3, сохраняете данные, данные клиентов и покупки, которые у вас есть, в базе данных RDS. В этом случае у вас есть только файлы кода, которые могут быть загружены в любое время. Когда вы доберетесь до этого места, вам откроется масштабирование сайта в облаке.

Один экземпляр, RDS и статические файлы, хранящиеся в S3, сеансы в Amazon ElastiCache - уровень 4

Один экземпляр, RDS и статические файлы, хранящиеся в S3, сеансы в Amazon ElastiCache - уровень 4

Новая концепция представляет собой приложение без сохранения состояния. Итак, как и в приведенной выше версии: данные в базе данных, файлы в S3, сеансы в ... нет, только сеансы. Ни один сервис сегодня без сеанса, сохранение их в базе данных или в S3 не является хорошей идеей по соображениям производительности. В идеале это место Memcache или Redis. Но потом их потеря, смена экземпляра или перезапуск и после сеансов. Вот почему сервис ElastiCache был создан. Такой RDS, но с Memcache и Redis на выбор. Опять же, AWS беспокоит ресурсы, работа и доступность, здесь нет сервера - вы просто сохраняете данные по указанному адресу и все.

Мы пришли к идеалу, каждый элемент работает независимо, как часть экземпляра, то есть наш сервер, у нас нет данных, которые нельзя было бы легко воспроизвести. Каждый компонент может быть масштабирован и проанализирован отдельно. Магазин развивается для нас, и на следующих этапах мы фокусируемся на масштабировании и повышении надежности и безопасности.

Один экземпляр, RDS и статические файлы, хранящиеся в S3 - VPC с VPN, что означает повышение уровня безопасности - уровень 5

Говоря о безопасности, пришло время улучшить ее. Наличие всех данных в сервисах AWS и доступ к ним - это только наш пример, было бы хорошо, если бы ничего другого не было видно в Интернете напрямую с общедоступного IP-адреса. Чтобы добраться до этой базы, вам сначала нужно будет добраться до экземпляра. AWS предоставляет нам хороший сервис VPC (Virtual Private Cloud) - логически отделенную часть сети, в которой наши сервисы работают с собственным диапазоном частных IP-адресов (таких как известные 192.168.xx или 10..xxx), подсетями и маршрутизацией. Все сервисы получают частные IP-адреса, и вся инфраструктура может быть доступна только через VPN (безопасное зашифрованное соединение). Не беспокойтесь - собрать соединение не сложно, и разработчик обязательно получит данные для разработки интернет-магазина.

HA - два экземпляра, база данных в RDS, файлы в S3 - уровень 6

HA - два экземпляра, база данных в RDS, файлы в S3 - уровень 6

Все без гражданства и защищено VPC. Сервис работает, иногда приходилось увеличивать ресурсы постоянно, иногда только в период покупки шторма. Мы достигли точки, когда мы оценили преимущества размещения интернет-магазина в облаке Amazon Web Services, но пришло время создать среду высокой доступности и увеличить количество экземпляров. Именно здесь пробки чаще всего появляются спереди. Но нет проблем - приложение без сохранения состояния позволяет расширять каждый элемент без каких-либо изменений в приложении. AWS в каждом регионе имеет как минимум две зоны доступа - такой отдельный центр обработки данных, удаленный друг от друга со своей собственной инфраструктурой и источником питания, но соединенный сверхбыстрой связью. Все услуги могут быть организованы между этими зонами (две или три). Некоторые из них сделаны вручную, некоторые из которых, например, S3 или ELB (Load Balancer) расположены так. Таким образом, мы даем второй экземпляр для службы, и на передней части их ELB, который будет иметь дело с разделением трафика. Кстати, мы получаем другой уровень безопасности, потому что отныне экземпляры не должны иметь публичные адреса, и только ELB должен иметь его. Без доступа VPN вы больше не сможете получить доступ к экземпляру www. Ни один посторонний не доберется туда.

HA - два экземпляра, база данных в RDS multi-AZ, файлы в S3 - уровень 7

HA - два экземпляра, база данных в RDS multi-AZ, файлы в S3 - уровень 7

В предыдущей версии мы получили избыточность www-серверов, и теперь пришло время для базы данных. Служба RDS также появляется в опции multi-AZ, то есть она может иметь свою копию во второй зоне доступности. Это не только защитит нас от сбоев, но и позволит нам изменять ресурсы RDS без прерывания работы сайта.

HA - два экземпляра, база данных в RDS multi-AZ, файлы в S3, сеансы в Amazon ElastiCache с HA - уровень 8

HA - два экземпляра, база данных в RDS multi-AZ, файлы в S3, сеансы в Amazon ElastiCache с HA - уровень 8

Мы достигаем последнего элемента без HA. В нашей архитектуре без сохранения состояния последним элементом было место для сеансов, то есть AWS ElastiCache. Этот сервис такой же, как и в версии Multi-AZ - мы компилируем кластер Redisa и снова можем свободно масштабировать сервис, не влияя на работу сайта. Итак, как вы можете видеть, избыточность не только защищает вас от сбоев, но и позволяет выполнять обновление служб, изменение конфигураций и ресурсов, не влияя на работу интернет-магазина. Отныне вы можете спать спокойно. Ваш источник дохода, то есть интернет-магазин, имеет мало шансов прекратить работу из-за проблем с хостингом. Облако также позволяет вам создать идентичную тестовую среду рядом с ней, которую можно запускать, когда это необходимо, и тусклым, если это не так. Вы вносите изменения и тестируете их, поскольку они готовы перенести их на производственную платформу. Вы даже можете иметь несколько таких сред. Это еще один момент, повышающий производительность магазина, независимо от того, работает ли он на PrestaShop, Magento, Quick.Cart, OpenCart, osCommerce, VirtueMart, WooCommerce или других платформах.

Мы используем Route 53 и CDNa Amazon CloudFront - уровень 9

Мы используем Route 53 и CDNa Amazon CloudFront - уровень 9

Инфраструктура очень безопасна, мало шансов удивить нас. Но иногда сбой службы происходит там, где этого никто не ожидал. Клиенты получат доступ к услуге при условии, что ваш DNS-сервер отвечает на запросы. К сожалению, существуют проблемы с DNS среди провайдеров локальных доменов. Поэтому, чтобы сделать этот элемент независимым от проблем поставщиков локальных доменов, используйте сервис AWS DNS Route 53. Мы не только получаем большую оперативную уверенность, но и сокращаем время отклика DNS-сервера, размещая серверы ближе к получателям. В современной конкурентной электронной коммерции важна каждая деталь. Второй элемент - CloudFront уже разработан, чтобы слегка облегчить инфраструктуру и ускорить загрузку статического контента. Чем больше это будет полезно, тем больше покупателей рассеяно по всему миру. Это CDN CloudFront, который является кешем, который хранит наиболее загруженные элементы веб-сайта и обслуживает их из своей памяти, минуя их загрузку с серверов. Быстрее и дешевле.

Запускаем автомасштабирование - уровень 10

Запускаем автомасштабирование - уровень 10

У каждой услуги есть моменты, когда она более или менее оплачивается. В традиционных сервисах мы покупаем сервер с резервом, который «скучает» большую часть времени. С нашей гибкой и избыточной инфраструктурой мы можем забыть об этом. AWS имеет механизмы, которые позволяют вам выполнять определенные действия в зависимости от нагрузки экземпляра. Загрузка веб-сервера составляет более 65% в течение 5 минут - запустите другой и подключитесь к балансировщику нагрузки. Не достаточно? Это другое. Вы знаете, что каждый день с 18.00 до 23.00 увеличивается трафик - автоматически получайте больше экземпляров за эти часы. И вы платите только за те 5ч. Вы знаете, что будет продвижение на неделю - запустите вручную еще несколько экземпляров. Вы можете сделать практически все, что угодно, если вы создали такое классное приложение и инфраструктуру без сохранения состояния на основе сервисов AWS.

Мы добавляем услуги - SES - уровень 11

Мы все были счастливы, когда были созданы такие сервисы, как Gmail или бесплатные почтовые ящики Onet, WP и O2. Однако сегодня эти условия диктуют условия, и часто случается так, что вы не знаете, почему ваши электронные письма не доходят до получателей. Речь идет не о рекламных рассылках, а о регулярных электронных письмах с подтверждением регистрации, заказа или отгрузки товара. Это большая проблема, когда такие письма не доходят. С помощью этой услуги поставляется еще один сервис AWS SES - сервис отправки электронных писем. Количество IP-адресов AWS настолько велико, что нас никто не заблокирует. Вам не нужно беспокоиться об отправке спама, безопасности и настройке почтового сервера. Еще один плюс и головоломка, из которой мы сделали бесперебойную услугу по обслуживанию интернет-магазина.

Резервное копирование - уровень 12

Наконец, резервное копирование. Мы доверяем сервисам AWS, но наличие хорошего резервного копирования обязательно. Облако дает нам большие возможности здесь. От простых снимков целых экземпляров до быстрого восстановления, если что-то пошло не так, после резервного копирования на S3 или сохранения так называемого. Горячий сайт или холодный сайт.

Вы можете быть даже лучше подготовлены к сбою даже во всем регионе AWS (кто-то отключит трафик на всю Ирландию), копируя, будь то сам снимок или данные, сохраненные на S3, в другой регион. Однако, если вы хотите быть готовым запустить сайт за 1 или 2 часа в совершенно другом регионе, вы можете поддерживать горячий сайт, который представляет собой немного истощенную архитектуру (минимальные ресурсы), для которого данные с основного сайта постоянно копируются, или вы можете хранить только данные и изображения среды. позволяя им бежать в течение нескольких часов. Ничто не мешает хранить его копии в AWS, например, в хостерах.

Перенос интернет-магазина в облако (PrestaShop, Magento, Quick.Cart, OpenCart, VirtueMart, osCommerce, WooCommerce и другие) - краткая информация

Все это непросто, поэтому мы приглашаем вас к хостерам - с нами вы можете рассчитывать на помощь в выборе решений, мигрировать и, наконец, спросить нас управление инфраструктурой и заботиться о ней безопасность , мониторинг производительности и зарядки, своевременность и постоянное развитие.

Сколько это стоит? Ну, это зависит от магазина. Давайте предположим, что это маленький или средний, потому что гиганты легче принимать такие решения. Предполагая (небольшая инфраструктура), что у вас есть 50 ГБ данных, 10 ГБ базы данных, 100 ГБ передачи, посмотрите, сколько это стоит более или менее спокойно. Для более крупной инфраструктуры мы принимаем 100 ГБ данных, 25 ГБ базы, 500 ГБ передачи.

Вариант инфраструктурыСтоимость в месяц

маленький магазин

Стоимость в месяц

средний магазин

Один экземпляр в AWS 55 USD 152 USD Один экземпляр в AWS и база данных в RDS 83 USD 210 USD Один экземпляр, RDS и статические файлы, хранящиеся в S3 88 USD 221 USD Один экземпляр, RDS, S3, сеансы в Amazon ElastiCache 101 USD 247 USD Один экземпляр, RDS, S3 - VPC с VPN 139 USD 285 USD HA - два экземпляра, база данных в RDS, файлы в S3 201 USD 404 USD HA - два экземпляра, база данных в RDS multi-AZ, файлы в S3 228 USD 461 USD HA - два экземпляра, база данных в RDS multi-AZ, S3, ElastiCache с HA 242 USD 487 USD

Это только оценки, компоненты выбраны так, чтобы они были идеальными, иногда ресурсы будут больше, а иногда меньше. Кроме того, существует ряд способов снизить эти затраты в долгосрочной перспективе (резервирование ресурсов - оплата за год, использование внешних сервисов CloudFlare). Но это отдельная тема 🙂

Смотрите также:

Облако AWS на время продажи билетов на концерт Джастина Бибера
Переход на приложение Amazon Web Services Landingi.com
Хостинг WordPress в облаке AWS с полным резервированием
Откуда берется высокая доступность (HA) в облаке?
Серверная инфраструктура без секретов. Выделенный сервер, VPS или облако?