간단한 대답은 "OS 배포 관리", "구성 관리"및 "소프트웨어 패키징"입니다. 긴 대답은 다음과 같습니다.
시스템 관리에서 "시스템"을 구성하는 방식을 분석하여 Daniel Pittman의 답변에 추가하고 싶습니다.
시스템 또는 환경은 다음으로 구성됩니다.
- 서버
- 운영 체제
- 구성
- 공급 업체 패키지; 과
- 지역 패키지
이를 포괄하는 프로세스는 다음과 같습니다.
- OS 배포 또는 이미징
- 구성 관리
- 소프트웨어 패키지 관리
- 감사 / 로깅
- 모니터링
- 백업
그리고 다음과 같은 비 기능적 목표를 달성하는 데 도움이되도록 이들을 결합하고 싶습니다.
- 반복성
- 유지 보수성
- 측정 성
- 공연
- 추적 성
- 테스트 가능성
- 변하기 쉬운 성질
이것은 빠른 두뇌 덤프입니다. 모든 목록에 더 추가 할 수 있다고 확신합니다.
귀하의 질문은 특정 단어를 사용하지 않고 이들 중 많은 것들에 영향을 미칩니다. 예를 들어, 쉽게 배포하고 되돌릴 수 있기를 원합니다. 즉 유지 관리 성을 원합니다. 테스트 환경에서 수행하고 반복성, 테스트 가능성 및 측정 가능성을 통과 할 때까지 테스트합니다. OS 및 구성 배포의 반복성을 원하기 때문에 vm 이미지를 버전 제어에 배치하려고합니다.
이를 돕기 위해 많은 도구가 있으며, 다니엘이 언급 한 도구도 있습니다. 다른 것들은 :
- 알려진 OS 환경을 배포하기위한 킥 스타트 (RedHat 기반), Preseed (데비안 기반), WDS (MS Windows)
- 구성 및 패키지 관리를위한 Spacewalk / Satellite (RedHat 기반), 그룹 정책 (MS Windows)
- 패키지 생성, 배포, 업그레이드 및 제거를위한 YUM 및 APT 패키징 시스템 (일련의 소프트웨어를 포함하는 바이너리, 데이터 및 구성 세트)
- 모니터링을위한 Nagios, OpenNMS 및 SCOM
- 백업용 Amanda, Bacula 및 Windows 백업 서버
- 성능 모니터링을위한 Munin, PCP 및 Hyperic
- 버전 관리를위한 CVS, SVN, GIT 또는 Bazaar
- 빌드 관리를위한 Hudson 및 Jenkins
- 테스트를위한 셀레늄 및 로봇
- 녹음, 통신 및 추적을위한 Bugzilla, 요청 추적기 및 Jira
다시 말하지만, 이것은 포괄적 인 목록은 아니지만, 나를 안내하기 위해 머리 속에 두는 것입니다.