xenon
@xenon
Too drunk to fsck

Как быстро переносить сайты и реконфигурировать вебсервер (Облако как безотказный сервер)?

Сейчас есть несколько довольно дорогих надежных брендовых физ. серверов с гарантией (если что - мастер за сутки приезжает и заменяет диск, например), на них крутятся сотни сайтов. Большая часть сайтов - довольно типовые, похожи друг на друга. Но, важный момент - многие сайты (ecommerce) пишут данные в базу (например, оформляют продажи). бОльшая часть сайтов на делит IP адреса, не на выделенном.

Есть задумка - как-то переехать в облако. Есть уже отчасти неприятный и поучительный опыт с AWS, что даже облачный сервер иногда падает, и просто перенести все туда и забыть о проблемах - не получается. Все равно нужно иметь план на переезд или восстановление. Хочется, чтобы сайты у нас как-то были "запакованы" в какие-то "пакеты" или "контейнеры" и мы могли на другом сервере их быстро запустить (если что-то не так с прежним).

При переезде возникают четыре проблемы:
1. Сменить IP в DNS (окей, своими скриптами я могу это делать через динамический dns)
2. Получить сертификаты LetsEncrypt (окей, тоже можно сделать при старте контейнера)
3. Реконфигурировать вебсервер на хост-машине (чтобы он знал, что появился новый сайт) ??
4. База данных, как ее "таскать".

Вопрос 1
---
Как вариант - докер-контейнеры. Можно быстро перекинуть сайт на другой сервер, запустить там, но надо как-то в апаче на хост машине указать, что example.com надо проксировать на такой-то порт. Вручную это можно сделать, но надо как-то автоматически, быстро и без человеческого фактора. Вряд ли я первый, кто столкнулся с такой задачей. Есть может какой-то вебсервер/модуль или примочка для докера, чтобы при запуске контейнера у нас вебсервер на хост-машине на него начал прокидывать http/https запросы?

Вопрос 2
---
Как быть с базой? Пока что план такой, чтоб все сервера работали не каждый со своей mariadb (так оно сегодня), а с общим сервером баз данных (db.example.com). Мы если что перекидываем вебсайты, но не трогаем сервер БД. Есть ли какие-то альтернативные пути? (немного смущает, что пинг до базы будет гораздо более долгим, чем по локалхосту)

Вопрос 3
---
Ну тут уж совсем размечтался: Сайт у нас крутится на сервере А, этот сервер среди ночи умирает. Автоматом все сайты чтобы как-то запустились на сервере Б, а мы утром только где-то в UI или в почте письмо про это увидели. Для этой мечты есть какое-то готовое решение?
  • Вопрос задан
  • 119 просмотров
Пригласить эксперта
Ответы на вопрос 3
inoise
@inoise
Solution Architect, AWS Certified, Serverless
То что вы хотите это целый комплекс работ и изменения в ваших процессах и инструментах. Рекомендую ознакомиться изначально с Cloud Adoption Framework. Затем посмотреть на Cloud Migration Best Practices.

Все что вы перечислили не позволит дать вам какие-либо адекватные рекомендации по тому что нужно делать ассессмент текущей архитектуры, ресурсов, собирать требования к новой системе и уже смотреть в какой Клауд, зачем, для чего, нужно ли делать Hybrid Cloud и так далее
Ответ написан
Sanes
@Sanes
Это большая работа, которая требует тех. задания и долгого обсуждения.
Сделайте так, чтобы ничего не падало. Настройте сервер по-человечески.
Ответ написан
angrySCV
@angrySCV
machine learning, programming, startuping
обычно используют облачную БД + виртуальные машины в разных регионах, ну и балансировщик запросов для сервиса.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы