2012-07-12 2 views
2

새로운 엔터프라이즈 웹 응용 프로그램을 시작할 예정입니다. Windows Azure에서 호스팅되며 asp.net MVC 응용 프로그램이 SQL 데이터베이스와 통신합니다.Windows Azure Multi Tenancy

제 질문은 멀티 테넌시와 그것을 달성하기위한 올바른 방법과 관련되어 있습니다. 과거 필자는 테넌트 테이블을 보유하고 모든 테이블에 TenantID 열을 배치하여 다중 테넌트 애플리케이션을 만들었습니다. 이것은 괜찮 았지만 (작은 규모 일 뿐이므로 실제로는 n 차까지 운동하지 않았습니다). Azure의 멀티 테넌트 (multi-tenant)에 대해 살펴보면이 방법을 추천하지 않는 것 같습니다. 그들은 하위 도메인, 분할 세입자 등에 대해 이야기합니다. 저에게는 관리의 악몽처럼 보입니다. 사용자가 웹 사이트를 방문하고 세입자 로그인 세부 정보를 입력하고 붐을 터뜨리 길 원합니다.

  1. Azure의 멀티 테넌시를 구현하여 Azure의 확장 성을 사용할 수있는 간단한 방법이 있습니까?
  2. 난 그냥 간단한 TenantID 방법을 사용해야합니까? Azure 프레임 워크는 여전히 잘 맞게 확장됩니까?
  3. 처음에는 입주가 걱정 되니 끝까지 끝내야합니까?

조언이 필요합니다.

감사합니다.

답변

1

나는 Azure에서 두 가지 방법으로 작업을 수행했습니다. 나는 당신이 로그인 할 때 입주자 코드에 입력 한 곳에서 이전에 해왔 던 방식대로 해왔고 이것은 잘 작동합니다. 다르게 할 이유가 없습니다. SQL Azure 페더레이션을 사용하여 테넌트를 관리 할 수 ​​있으므로 여러 데이터베이스를 쉽게 확장 할 수 있습니다.

나는 또한 세입자를 식별하기 위해 하위 도메인 접근 방식을 사용했지만 하위 도메인을 세입자 코드에 매핑하는 작업 만 수행했습니다. 필자는 로그온 할 필요가없는 시스템에서이 방법을 사용하여 사용자가 더 쉽게 사용할 수 있도록했습니다.

대처할 데이터베이스를 설계하는 경우 시작시 걱정할 필요가 있습니다.

+0

그래서 SQL Azure 연합은 크기와 트래픽이 증가함에 따라 데이터베이스 스케일링을 처리합니까? – Matt

+0

페더레이션은 자동으로 크기가 조정되지 않지만 그렇게 쉽게 할 수있는 도구를 제공합니다. 예를 들어, Tenant 1-10 관리 도구에서 하나의 데이터베이스로 이동하고 다른 데이터베이스에서는 11-20을 처리 할 수 ​​있습니다. – Craig