SnowFlakes 서버, Phoenix 서버 및 불변 서버의 장단점은 무엇입니까?


15

각 유형의 서버에 대한 보안 / 관리 용이성 / 법의학 능력 비교와 같은 매트릭스가 궁금합니다. 각 유형의 일부 주요 기능도 잊어 버릴 수 있습니다.

유형에 대한 일반적인 아이디어를 얻었지만 경우에 따라 유형을 선택할 때 참조 행렬이 도움이 될 것입니다 (예를 들어 자동화가 응용 프로그램에 대해 복잡한 경우).

너무 광범위하다는 것에 대한 우려를 피하기 위해 여러 질문으로 나누면 정보가 흩어지고 보안 비교에 대한 질문은 각 유형을 비교해야한다고 생각합니다.

답변:


16

피닉스 서버라는 용어는 마틴 파울러 (Martin Fowler)의 동료에 의해 만들어졌으며, 세 가지 용어는 모두 마틴의 블리 키에 대한 짧은 기사에 설명되어 있습니다.

이러한 각 서버의 장단점은 기사에 설명되어 있습니다. 가장 큰 차이점은 서버 관리 방식입니다.

서버는 일부 응용 프로그램의 컨테이너 역할을 수행하기 위해 존재합니다. 응용 프로그램이 자주 변경되므로 패키지, 구성 등 컨테이너의 일부 속성을 변경해야하는 경우가 종종 있습니다. 또한 패치가 필요한 보안 취약점과 같은 외부 이유로 인해 컨테이너 자체의 속성을 변경해야하는 경우가 있습니다. 설치하십시오.

기존 서버를 변경하는 방법에는 여러 가지가 있습니다.

  1. 처음에 수동으로 서버를 작성한 다음 변경이 필요할 때마다 컨텐츠를 변경 (돌연변이)하십시오.
  2. 레시피를 기반으로 한 서버의 이미지를 "자동으로" "일반적으로"수동 방식으로 "굽습니다". 그런 다음 해당 이미지에서 서버를 작성하십시오. 그리고 변경 될 때마다이 과정을 반복하십시오.

전자는 Snowflake라고하며 후자는 Phoenix 및 Immutable 서버 유형을 허용하는 방법입니다. 변경 불가능한 상태 인 경우 기존 서버가 작성된 후에는 변경 사항이 작성되지 않으며 Phoenix는 서버가 완전히 파괴되어 변경 프로세스 중에 서버를 교체하는 데 새 서버가 사용됨을 의미합니다.


9

각 유형의 장점과 단점에 대한 목록을 더 많이 생각하면서 여기에 내 견해가 있습니다 (완전하지는 않지만 제 생각에는 중요한 운영상의 견해입니다).

  1. 눈송이 서버

    • 의미 : 특정 구성의 시스템, 데이터 센터의 다른 서버는 정확히 동일한 매개 변수를 갖지 않습니다. 그들은 일반적으로 수동으로 관리됩니다.

    • 장점 :

      • 그들에게 실행중인 것들의 요구에 적합합니다.
      • 오래 지속되는 업데이트는 일반적으로 짧습니다.
      • 호스팅 된 제품에 의해 비틀기가 잘 문서화되어있는 특별한 경우에 적합합니다.
    • 단점 :

      • 업데이트로 인해 사용하지 않는 파일이 남는 경우 정리가 복잡 할 수 있습니다.
      • 다중 기계를 변경해야하는 경우 시간이 걸립니다.
      • 문서화되지 않은 변경을 막을 수있는 것은 없습니다.
      • 손상이 발생한 경우 기본 OS를 다시 빌드하고 복원해야합니다. 일부 OS 조정은 복원 할 수 없으며 다시 적용해야합니다.
      • 수동 구성으로 인해 일반적으로 프로비저닝하는 데 시간이 오래 걸립니다.
  2. 피닉스 서버

    • 내용 : 일부 코드에 의해 자동으로 구성됩니다.
    • 장점 :

      • 코드로 정의되며 버전이 가능합니다.
      • 특정 시점으로 쉽게 복제됩니다.
      • 오래 지속되는 짧은 업데이트도 있습니다.
      • 제어 된 파일에 대한 변경 사항은 문서화되어 있으며 잊을 수 없습니다.
    • 단점 :

    • 업데이트로 인해 사용하지 않는 파일이 남는 경우 정리가 복잡 할 수 있습니다.
    • 모든 것이 코드 관리하에있는 것은 아니며, 자동화에 포함되지 않으면 사람에 의한 일부 조정이 누락 될 수 있습니다.
  3. 불변 서버

    • 그들이 무엇 :
      • 일반적으로 액세스 할 수없는 마스터 이미지에서 자동화 된 일회성 프로비저닝.
    • 장점 :

      • 코드로 정의되며 버전이 가능합니다.
      • 특정 시점으로 쉽게 복제됩니다.
      • 일반적인 원격 액세스 제거로 인한 공격 영역 감소
      • 고정 구성, 변경 사항 없음
      • 마스터 이미지에서 쉽게 확장 가능한 '주문형'.
    • 단점 :

      • 그것들은 불변이며, 당신에게 영향을 미치는 0 일의 결함이있는 경우 신속하게 업데이트를 롤백 할 수 있도록해야합니다.
      • 모든 응용 프로그램이이 모델에 적합한 것은 아닙니다 (예를 들어, 데이터베이스, 같은 데이터를 완전히 교체하는 것이 항상 가능한 것은 아니며 처리 할 마이그레이션이 있음).
      • 충돌 및 로그 관리의 법의학 분석에 몇 가지 새로운 과제가 있습니다.

이러한 패턴 중 어느 것도 독점적이지 않으므로 실제 필요에 따라 최상의 패턴을 선택해야합니다. 눈송이는 재난 후 복구시 많은 문제를 야기하므로 일반적으로 Phoenix와 Immutable 사이에서 선택하는 것이 더 많습니다.


2

세 가지 모두는 일종의 패턴이며, 특정 상황에서 사용할 것을 선택하고 선택하는 것이 아니라 언제 도움이되거나 해칠 수있는 패턴을 인식해야 하는지를 아는 경우가 아닙니다.

눈송이 서버

눈송이 서버는 매우 많은 점에 통제되지 않은 방식으로 서버 진화가 그것을 쉽게 재현 할 수없는 경우 경우 경우를 나타내는 안티 패턴이다.

프로덕션 환경에서 이러한 종류의 서버로 수많은 런인 (run-in)을 수행했습니다. 일반적으로 개발 / 테스트 / UAT / 스테이징에서 작동 한 변경 내용과 같은 수많은 실패한 변경 및 주석이 있기 때문에 쉽게 파악할 수 있습니다. ".

피닉스 서 비어

피닉스 서버는 더 마틴 파울러 둔다을 같은 패턴보다 주요이다 :

서버는 재에서 정기적으로 상승하는 피닉스와 같아야합니다. [ㅏ]

ITSM (IT Service Management) 또는 ITIL 언어를 동일한 상황에 적용하려면 IT 서비스 연속성 계획 또는 복구 계획이라고합니다.

각 서비스에 대한 별도의 계획은 복구 팀이 서비스를 복원하고 합의 된 프로세스 및 구성 요소 RTO를 충족 할 수 있도록 사고의 각 단계에 대한 자세한 절차와 단계별 지침을 제공해야합니다.

불변 서버

불변의 서버 또는 불변의 인프라는 우리 모두, 즉 변하지 않는, 완전히 불변으로 인프라, 구성 및 코드를 배포 취급하여하는 과정입니다. 새로운 것을 배포 할 때 새로운 인프라를 가동시키고 여기에 코드를 배포합니다. 흥미롭게도 이것은 대부분 상록수에 의해 전통적으로 충족 된 요구를 충족시킵니다 .


노트

  • a : Martin의 동료 Kornelis Sietsma 는 내부 토론 목록에서 "Phoenix 서버"라는 용어를 사용했습니다.
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.