Как разделить базу данных для клиентов, сохранив при этом контроль над кодом?

У меня есть приложение SAAS, размещенное на AWS EC2 и RDS. мы используем django и Postgres для стека

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

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

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

Возможно, они не возражают, если мы развернем его в их учетной записи AWS. Так что это их ec2 и rds.

Это дало нам идею.

Возможно ли для нас развернуть исходный код на нашем AWS ec2, и их данные будут в их rds AWS?

Что нам нужно выполнить то, что:

  1. У нас нет возможности прочитать их данные
  2. У них нет возможности прочитать наш код
  3. Тем не менее, мы можем легко вносить изменения в код и схему (возможно, с помощью миграции django)

Как мы можем этого добиться с помощью Сервисы AWS? Мне нужен приблизительный план.

Пока что мои идеи

A. Кодируйте наши данные ec2 в их rds (убедитесь, что 2 и 3 не 1)

B. Кодируйте их ec2 и данные в их rds (убедитесь, что 1, а не 3 и 2)

Или есть решение, включающее настройку A или B?

0
задан 5 July 2017 в 19:22
1 ответ

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

Теперь, если вы хотите продавать версии своего программного обеспечения как что-то, что можно развернуть на месте, например OVA, например github enterprise ,

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

Внедрите AMI, который развертывает ваше программное обеспечение в их аккаунте и выпускает его на торговой площадке AWS

Разрешить им доступ для создания дампа / экспорта данных клиентов, чтобы делать то, что они хотят, со своими данными локально. , как сеть действий , или SalesForce

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

0
ответ дан 5 December 2019 в 07:51

Теги

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