클라우드 컴퓨팅 멀티 테 넌 트 서비스 (서비스, saas 소프트웨어)로 거의 모든 소프트웨어에 대 한 사용은 컴퓨팅 자원은 확장성 및 이러한 리소스의 할당은 실제 사용에 의해 결정 됩니다 때문에 응용 프로그램. 즉, 사용자가 작은 인터넷을 기반으로 위젯 대규모 엔터프라이즈 소프트웨어 응용 프로그램에서 인터넷을 통해 여러 종류의 SaaS 응용 프로그램을 액세스할 수 있습니다. 보안 요구 사항은 기업 네트워크 외부에 저장 되는 소프트웨어 공급 업체의 인프라에 데이터에 따라 성장 하고있다. 응용 프로그램의 가장 명백한 비용은 여러 임차인을 받아야 하는 이유는 많은 이유가 있다: 대부분의 경우에서 충분 하지 않습니다 여러 서버 및 데이터베이스 각 고객에 대 한 추가 비록 높은 보안 요구 사항을 함께 할 것이 유용 하다.
이 기사는 개요 문서를 조사 하 고 사용 가능한 멀티 테 넌 트의 종류를 설명 합니다 구현 사용 사례를 제공 합니다.
다중 소유 개념
멀티 테 넌 트의 개념 3 계층 사용자 통합을 포함 한다:
데이터 센터 계층
인프라 계층
응용 프로그램 계층
클라우드 컴퓨팅 기술 디자인의 중요 한 측면은 멀티 테 넌 트 인프라 및 응용 프로그램 계층 통합. 이 통합 비용을 절감 하 고 보안 및 고객 격리 요구 사항 (분리 요구 사항) 비용으로 확장성이 높은 SaaS 애플리케이션을 개발 하 구체적으로 조정 되었습니다 했다. 많은 경우, 같은 디자인은 효과적인, 금융 응용 프로그램에 적합 하지 않을 수 있습니다.
데이터 센터에서 공간을 임대 하 고 제공 하는 서버, 라우터 및 케이블 여러 클라이언트 소프트웨어를 지 원하는 장소에 왔다 실리콘밸리의 초기부터, 그래서 사용자가 거주자의 데이터 센터 계층 잘 알고 있을 해야 합니다. 이 구성을 올바르게 구현 된 경우이 구성의 보안 요구 사항 가장 높은 수준을 제공 합니다, 그리고 그것은 방화벽 및 액세스 제어를 사용 하 여 비즈니스 요구 사항을 충족 하 고도 말 대 꾸를 제공 하는 인프라의 실제 위치에 대 한 보안 컨트롤을 정의 합니다. 대부분의 경우, 하드웨어, 네트워크 및 소프트웨어 회사에 대 한 사이트를 제공 하는 서비스 공급자는 데이터 센터 계층 거주자를 사용할 수 있습니다.
인프라 계층의 다중 소유는 간단한 소프트웨어 스택 개념, 스택 특정 고객에 게 전용된입니다. 이 구성은 더 비용 효율적인 데이터 센터 계층 거주자는 스택 배포 하기 때문에 실제 고객 계정에 따라 보다 합니다. 이 경우 하드웨어 요구 사항이 증가 하는 실제 서비스를 사용할 수 있습니다. 또한, 각 사용자 인프라 계층의 높은 가용성을 선택할 수 있습니다. 그래서 몇 가지 구현 옵션을 제공 하는 소프트웨어 및 하드웨어 유용한 모든 고객 스택, 알으십시오.
응용 프로그램 계층 멀티 테 넌 트 소프트웨어 계층 및 인프라 수준으로 설계 될 필요가 있다. 기존 소프트웨어 아키텍처는 응용 프로그램 계층의 멀티 테 넌 트 모드를 포함 하 여 수정, 필요 합니다. 예를 들어 다중 소유 응용 프로그램 필요 일부 응용 프로그램의 메서드와 데이터 테이블에 액세스 하 고 다른 사용자 계정에 대 한 데이터를 저장 하는 보안 비용. 하지만 이렇게 제대로 비용을 저장할 수 있습니다. 위젯과 간단한 웹 응용 프로그램에 대 한 응용 프로그램 계층 멀티 테 넌 트 단일 개발자 소프트웨어를 빠르게 개발 하 고 또한 규모를 감당할 수 있기 때문에 가능한 솔루션입니다. 단점은 더 복잡 한 응용 프로그램 아키텍처와 구현에 거짓말; 인프라 처리 멀티 테 넌 트와 달리 응용 프로그램 팀 필요가 확장성 및 프로그래밍 모델의 신뢰성을 유지 하 고 인프라를 변경 하는 경우 미래에 사용할 수 있습니다.
서비스
멀티 테 넌 트 서비스 HTTP restful 인터페이스 또는 WSDL 웹 서비스 터미널을 구축 하 고 소프트웨어 응용 프로그램에서 직접 액세스는 액세스를 지정 합니다. 이러한 서비스는 서비스, 다중 소유 지향 응용 프로그램을 여러 트랜잭션 형식에 대 한 사용할 수 있기 때문에. 예를 들어 다중 소유 응용 프로그램 계층 서비스의 URL을 호출 하 여 서비스를 호출할 수 있습니다을 반환 결과 응답 코드와 XML을 생성 합니다.
다음은 참조 단편:
Https://visa.com/services/paymentOverview?account=OnlineShoesInc & 패스 = 1234 & 범위 = 1_month
< 응답 >
< >
< 제목 > 온라인 신발 Inc 보고서 < / 타이틀 >
< 데이터 >< x > 2011 년 01 월 01 일 < /x >< y > 20.11 < /y >< / 데이터 >
< 데이터 >< x > 2011 년 02 월 01 일 < /x >< y > 22.24 < /y >< / 데이터 >
< 데이터 >< x > 2011 년 03 월 01 일 < /x >< y > 20.21 < /y >< / 데이터 >
< / 보고서 >
< / 응답 >
인프라는 고객 데이터에 대 한 액세스를 요청 하는 것을 알고 있다. URL에 계정 매개 변수를 설정 하는 멀티 테 넌 트의 가장 중요 한 부분이입니다. 이것은 서비스 계층에 대 한 multi-tenant 라우팅 메커니즘입니다.
응용 프로그램 서버
응용 프로그램 서버 여러 임차인에 설치, 구성 및 응용 프로그램 코드에 영향을 주므로 응용 프로그램 계층과 인프라 계층에서 많은 거주자의 중요 한 부분입니다. 인프라 계층에 대 한 multi-tenant 응용 프로그램 서버 추가 서버 구성, 응용 프로그램 서버 설치, 구성 및 응용 프로그램 코드를 포함 하 여 신속 하 고 광범위 한 조정을 의미 합니다. 멀티 테 넌 트 레이어 (하지 않는 한 응용 프로그램 특정 요구 사항 설정) 코드를 변경할 필요가 없습니다, 그리고 조정 간단 하 고, 일반적으로 IT 운영 조직 보다는 응용 프로그램 소스 코드를 다시 디자인 하는 개발자에 의해 수행. 일반적으로, 새로운 고객을 추가 하면 보다 쉽게 보안 요구 사항에 맞게 같은 구성의 스택을 추가 해야 합니다.
가정 하는 스택은 미리 구성 된 웹 계층 (HTTP 서버), 응용 프로그램 계층 (응용 프로그램 서버) 및 데이터베이스 계층 (데이터베이스 서버)를 실제 하드웨어 또는 운영 체제의 가상 인스턴스를 배포할 수 있는 스택을 예로 들어 봅시다. 이 사용자는 응용 프로그램이 오늘날의 높은 수 있습니다 하 고 내일의 낮은 필요 하기 때문에 웹 기반 응용 프로그램 증가 계획 하는 일반적인 방법은입니다. 용량이 작으면,이 인스턴스를 낮출 수 있으며 다음 필요에 따라 인스턴스를 추가할 수 있습니다. 실제 고객의 거래 실행을 증가 요구 컬렉션에서 인프라의 예방 유지 관리 동안 조정 이러한 스택을 미리 구성 하 고 자동 배포 거의 즉시 대부분의 경우, 완료 됩니다.
응용 프로그램 수준에서 여러 테 넌 트의 응용 프로그램 서버 같은 응용 프로그램 서버를 공유 하는 여러 고객 때문에 응용 프로그램 코드를 변경 해야 합니다. 응답 시간이 영향을 사용자는 한 번에 트랜잭션 또는 1000 트랜잭션을 실행 같은 논리 시스템 메모리에서 뿐만 아니라 동일한 서버 하드웨어에서 다른 고객만 실행 하지 않는 때문에. 응용 프로그램에 따라 추가 보안 요구 사항이 있을 수 있습니다.
업무
멀티 테 넌 트 인프라 및 응용 프로그램 트랜잭션을 각 고객의 요청을 인증 해야 합니다. 이 과정에는 확인 하 고 사용자가 액세스할 수 있는 트랜잭션 리소스의 종류 권한을 부여 도움이 됩니다.
응용 프로그램 계층에서 인증 및 권한 부여 서비스를 추출에 확장성, 관리 용이성 및 멀티 테 넌 트 거래의 재사용을 개선 하는 데 도움이 됩니다. 대부분의 응용 프로그램 서비스 인프라에 추가 독립 실행형 서브넷, 클라우드, 또는 권한 부여에 전용된 응용 프로그램 서버 클러스터 확장성, 유지 보수성 및 재사용 요구 사항을 충족 수 있는 하는 동안 권한 부여가 필요 합니다. 같은 라이센스 서비스,이 스키마 재사용 하 고 클라우드 또는 서브넷에 트랜잭션 성장에 따라 조정 될 수 있기 때문에 마찬가지입니다.
데이터베이스
많은 응용 프로그램의 핵심 부분으로 데이터베이스는 멀티 테 넌 트의 확장성에 중요 합니다. 확장 가능한 데이터베이스 추가 인프라 및 응용 프로그램 계층에 대 한 계획이 필요 합니다, 때문에 응용 프로그램 및 확장 가능한 데이터베이스 인프라에 대 한 유용한의 요구 사항을 이해 해야 합니다. 인프라는 각 고객 계정에 대 한 별도 데이터베이스, 확장성은 이미 단일 데이터베이스 장애 조치에 대 한 가장 좋은 방법은 없기 때문에 간단 합니다. 비용 간주, 대부분의 상용 데이터베이스 비용은 기 하 급수적으로 증가 하는 그래서 그들은 그들의 고객 계정 증가 때마다 승인 하기 때문 이기도 합니다.
멀티 테 넌 트 아키텍처 응용 프로그램 계층 구현 하는 경우에, 당신은 해야 응용 프로그램에 대 한 지식이 데이터베이스를 계획할 수 있습니다. 다중 소유 스키마에 적용 하는 데이터베이스 스키마 수 있습니다, 그래서 당신은 적절 하 게 계획 해야 합니다. 비용을 절약 하 고 단 하나의 라이센스에 크기 조정에 대 한 일반적인 응용 프로그램 디자인 방법은 예를 들어 Customer123_payment, customer123는 사용자 계정에 대 한 고유 식별자가 테이블 이름에 고객 계정을 배치 하는 것입니다. 이 디자인은 크게 각 고객에 게는 데이터베이스 인스턴스를 추가 하거나 고객이 적절 한 데이터 액세스를 확인 하려면 각 테이블에서 데이터 열을 만들 때 테이블의 수를 늘립니다.
멀티 테 넌 트 서비스
멀티 테 넌 트 서비스를 빌드하기 위한 요구 사항은 다음과 같습니다.
RESTFU 또는 WSDL 기반 서비스를 정의 합니다.
응답 시간 및 성능 목표를 정의 합니다.
확장성 및 고가용성 요구 사항을 식별 합니다.
각 거래에 필요한 서비스를 정의 합니다.
거래 고객에 따라 서비스 부하의 양을 결정 합니다.
서비스에 대 한 배포 및 네트워크 토폴로지를 만듭니다.
배포를 구현 하는 구성 및 설치 자동화 스크립트를 만듭니다.
통합 모델링 언어 (UML) 구현 개발에 대 한 시퀀스 다이어그램을 만듭니다.
(책임 편집기: 루 광)