Разместите отдельное веб-приложение в нескольких странах / местоположениях

У нас есть веб-приложение, которое состоит из внешнего интерфейса .NET и внутреннего интерфейса SQL. У нас также есть мобильное приложение, которое подключается к интерфейсу .NET с помощью WebAPI. В настоящее время у нас есть приложение, размещенное на физическом сервере в США. У нас есть несколько клиентов со всего мира, которые входят в приложение как из веб-браузеров, так и с мобильных устройств.

У нас было довольно много клиентов, которые запрашивали два сценария:

  • " учитывая, что некоторые клиенты захотят иметь возможность размещать свои данные ИСКЛЮЧИТЕЛЬНО в одном месте (по соображениям безопасности), тогда как другие клиенты захотят, чтобы их данные были размещены в одном, нескольких или всех местах, совместно используемых, чтобы разрешить подключение к ближайшему серверу . В качестве дополнительной детали мы вносим ЧАСТО изменения в код (ежедневно), поэтому перенос кода и изменений SQL в несколько отдельных сред хоста и обеспечение синхронизации всего лишь немного затруднительно.

    Как сказано, в настоящее время мы размещаем на физическом сервере в ферме данных. Облегчает ли использование AWS, Azure и т. Д. Эту задачу?

1
задан 15 November 2016 в 18:56
1 ответ

Я думаю, вы действительно столкнулись с двумя проблемами здесь:

  1. Географическое положение

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

  1. Развертывание

Вторая проблема заключается в том, что вы можете развернуть свое приложение, особенно там, где у вас будет много экземпляры в нескольких регионах. На самом деле это не проблема облака, это проблема инструментов и процесса. Если вы собираетесь расширяться до нескольких регионов и нескольких экземпляров в нескольких регионах, ручное развертывание в любой части вашего процесса больше не сократит его. Вы должны иметь возможность безопасно и быстро выполнять развертывание во всех регионах (или некоторых) и знать, что все они будут одинаковыми, особенно если вы выполняете балансировку нагрузки. Единственный способ добиться этого - посмотреть на свой процесс, чтобы либо устранить сложность, либо использовать инструменты, чтобы справиться с этим за вас. Есть решения для ручного развертывания SQL, вы упомянули Redgate, но есть и другие, у Visual Studio даже есть инструмент управления версиями базы данных.

1
ответ дан 3 December 2019 в 23:38

Теги

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