У меня есть приложение SAAS, размещенное на AWS EC2 и RDS. мы используем django и Postgres для стека
То, что мы сделали, это то, что у нас была общедоступная схема, содержащая информацию о клиенте, но конкретные данные клиента хранятся в отдельной схеме в той же базе данных
. Недавно у нас есть запросы, которые некоторые клиенты хотят размещать программное обеспечение в своих помещениях, потому что они хотят иметь полный контроль над данными.
Это означает, что мы потеряли контроль над исходным кодом, и, к тому же, сложнее отлаживать и развертывать код, размещенный локально, а не в облаке.
Возможно, они не возражают, если мы развернем его в их учетной записи AWS. Так что это их ec2 и rds.
Это дало нам идею.
Возможно ли для нас развернуть исходный код на нашем AWS ec2, и их данные будут в их rds AWS?
Что нам нужно выполнить то, что:
Как мы можем этого добиться с помощью Сервисы AWS? Мне нужен приблизительный план.
Пока что мои идеи
A. Кодируйте наши данные ec2 в их rds (убедитесь, что 2 и 3 не 1)
B. Кодируйте их ec2 и данные в их rds (убедитесь, что 1, а не 3 и 2)
Или есть решение, включающее настройку A или B?
Первый вопрос, который я хотел бы задать, если вы можете, заключается в том, разрешим ли мы это как бизнес, поскольку то, что они предлагают, противоречит цели программного обеспечения как услуги.
Теперь, если вы хотите продавать версии своего программного обеспечения как что-то, что можно развернуть на месте, например OVA, например github enterprise ,
, вы можете настроить роль перекрестного аккаунта для ваших развертываний программного обеспечения SaaS вы по-прежнему можете контролировать базу кода на экземпляре EC2 и предоставлять им доступ для чтения на уровне базы данных.
Внедрите AMI, который развертывает ваше программное обеспечение в их аккаунте и выпускает его на торговой площадке AWS
Разрешить им доступ для создания дампа / экспорта данных клиентов, чтобы делать то, что они хотят, со своими данными локально. , как сеть действий , или SalesForce
. Вы можете выполнить любое количество из них или все из них, в зависимости от того, подходят ли они вашей архитектуре и развертыванию программного обеспечения, а также бизнес-модели, которую вы пытаетесь использовать. предлагает.