이것은 꽤로드 된 질문입니다. 저의 일반적인 조언은 복잡성 관리에주의를 집중하고 시스템이 유기적으로 성장할 수 있도록하는 것입니다.
가상화 :
서버 스프롤을 피하고 싶고 요즘에는 모든 것이 가상화됩니다. 가상 서버를 신속하게 추가하고 효율적으로 관리 할 수있는 플랫폼을 선택하십시오. 내가 본 트렌드 중 하나는 2 개의 AIX 또는 VMWare 클러스터 (하나는 prod, 하나는 비 prod)입니다. 비 제품은 모든 개발, 테스트 및 준비 환경에 사용됩니다. 이러한 환경은 웹 서버 또는 응용 프로그램 서버에 적합하지만 점점 커지고있는 프로덕션 데이터베이스를 VM (적어도 Windows에서는)으로 두는 것을 피하려고합니다.
데이터베이스
이들은 다른 서버와 리소스를 공유해야 할 때마다 쉽게 벗어날 수 있습니다. 특별한 이유가없는 한 항상 전용 OS에서 데이터베이스를 실행하고 응용 프로그램이나 웹 서버와 공유하지 마십시오. VM을 사용하든 하드웨어를 사용 하느냐가 유일한 질문입니다.
예를 들어 클러스터 된 솔루션으로 이동해야 할 경우 확장 가능한 인프라가 필요합니다. 대부분의 데이터베이스는 VM에서 잘 될거야,하지만 결국 VM 환경에서 제공하는 편리한 것보다 더 많은 마력이 필요합니다 그 몇 가지를 들어, 당신은 당신이에 넣어 줄하고자하는 자신을 찾을 대신 원시 하드웨어 .
창에 대해 이야기하지 않는다면 이러한 지침 중 일부는 관련이 없습니다. 예를 들어, 커지고있는 데이터베이스를 AIX 하이퍼 바이저에 LPAR로 배치하는 것이 일반적으로 일반적입니다.
저장
공유 스토리지가 없으면 실제 가상화 (VM 이동성 및 호스트 클러스터링 사용)를 수행 할 수 없습니다. 제품, 개발, 테스트 및 QA 서버는 모두 스토리지와 동일하게 보이지만 제품의 우선 순위를 정하는 방법을 찾는 데 시간을 투자 할 수 있습니다. 예를 들어 dev 서버와 디스크 (레이드 세트, 풀 등)를 과도하게 세금을 부과하는 것은 매우 나쁜 생각입니다. 개발자는 때로는 제품만큼이나 하드 디스크를 강타 할 수 있으며, 마지막으로 필요한 것은 일종의 테스트가 생산 속도를 늦추고 있는지 알아내는 것입니다.
스토리지를 아는 사람이 앉아 잠재적 인 모든 병목 현상 (포트, 캐시, 컨트롤러, 디스크 등)을 분석하고 가능한 많은 제품과 비 제품 간의 경합을 막기 위해 최선을 다하십시오.
즉, 응용 프로그램 사람들은 새로운 패치 나 그 밖의 효과를 정량화하기 위해 개발자 벤치 마크를 실행해야 할 때가 있습니다. 이 상황에서 비슷한 양 (또는 적어도 수량 적으로 다른 양)의 스토리지 마력을 제공 할 수 있어야합니다.