Обработка нескольких развертываний в Azure - PullRequest
1 голос
/ 26 января 2012

Каков самый изящный способ обработки нескольких развертываний в Azure?

У нас много клиентов, не связанных между собой. Каждому клиенту нужна отдельная база данных, и, поскольку у нас нет многопользовательской системы, мы также должны предоставить каждому клиенту свое собственное приложение Azure.

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

Ответы [ 3 ]

2 голосов
/ 26 января 2012

Пока вы не внедрили надлежащий мультитенантный вариант своего приложения, вы можете использовать отдельную подписку для каждого клиента или в качестве промежуточного, использовать несколько ролей в одной подписке.

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

В краткосрочной перспективе я бы придерживался отдельных подписок. Общее количество потребляемых ресурсов и, следовательно, стоимость не будут сильно отличаться от выполнения нескольких ролей в рамках одной подписки. Это также облегчит учет и выставление счетов. Я просто надеюсь, что вы говорите о кучке клиентов, а не о тысячах!

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

1 голос
/ 26 января 2012

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

Я действительно согласен с другими ответами, поскольку мультитенантное приложениежелательный подход, особенно с точки зрения управления затратами и согласованности кодовой базы.Однако, если вы придерживаетесь приложения с одним арендатором:

  • Создайте отдельное развертывание для каждого клиента.
  • Если вы управляете учетной записью и выставляете счет клиенту, используйте однуподписка, пока вы не достигнете емкости.Нет преимуществ для нескольких подписок.
  • Если клиент развертывает и поддерживает приложение, пусть он использует собственную подписку

У вас есть несколько преимуществ с моделью одного развертывания:

  • Возможность развертывания исправления / настройки на одном клиенте вместо всей клиентской базы
  • Однозначный биллинг клиента: независимо от затрат на развертывание, эта стоимость на 100% применима к конкретному клиенту.
  • Возможность масштабирования для удовлетворения потребностей трафика конкретного клиента
  • Нет риска того, что один клиент злоупотребит системой и лишит других клиентов
1 голос
/ 26 января 2012

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

Извините, HTH.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...