요리사는 무엇입니까? – 구성 관리에 사용되는 도구



What is Chef에 대한이 블로그는 Chef 블로그 시리즈의 첫 번째 블로그입니다. 구성 관리와 Chef가 사용 사례를 사용하여이를 달성하는 방법에 대해 설명합니다.

Chef는 구성 관리에 사용되는 도구이며 인형 . 이 블로그에서는 Chef, 구성 관리 란 무엇이며 Chef가 사용 사례를 통해 구성 관리를 달성하는 방법에 대해 설명합니다.

요리사는 무엇입니까?

Chef는 인프라를 코드로 정의하는 방법을 제공하는 자동화 도구입니다. IAC (Infrastructure as Code)는 단순히 수동 프로세스를 사용하는 대신 코드를 작성 (인프라 자동화)하여 인프라를 관리하는 것을 의미합니다. 프로그래밍 가능한 인프라라고도합니다. Chef는 시스템 구성 작성을 위해 순수 Ruby, DSL (도메인 특정 언어)을 사용합니다. 다음은 인프라 크기에 관계없이 Chef가 수행하는 자동화 유형입니다.





  • 인프라 구성
  • 응용 프로그램 배포
  • 구성은 네트워크 전체에서 관리됩니다.

처럼 인형 마스터-슬레이브 아키텍처를 가지고 있으며 Chef에도 클라이언트-서버 아키텍처가 있습니다. 그러나 Chef에는 Workstation이라는 추가 구성 요소가 있습니다. 다음 블로그에서 워크 스테이션에 대해 이야기하겠습니다. 아래 다이어그램을 참조하십시오.

Chef vs Puppet-셰프 란?-Edureka



Chef에서 노드는 서버의 구성으로 동적으로 업데이트됩니다. 이것은 ... 불리운다 풀 구성 즉, 노드에 구성을 푸시하기 위해 Chef 서버에서 단일 명령을 실행할 필요가 없으며 노드가 서버에있는 구성으로 자동 업데이트됩니다. 내 다음 블로그 Chef 튜토리얼 모든 Chef 구성 요소와 함께 Chef 아키텍처를 자세히 설명합니다.

이제 Chef가 인기를 얻은 이유를 살펴 보겠습니다.

Chef 란 무엇입니까 – Chef 주요 지표

  • Chef는 AIX, RHEL / CentOS, FreeBSD, OS X, Solaris, Microsoft Windows 및 Ubuntu와 같은 여러 플랫폼을 지원합니다. 추가 클라이언트 플랫폼에는 Arch Linux, Debian 및 Fedora가 포함됩니다.
  • Chef는 Internap, Amazon EC2, Google Cloud Platform, OpenStack, SoftLayer, Microsoft Azure 및 Rackspace와 같은 클라우드 기반 플랫폼과 통합되어 새 머신을 자동으로 프로비저닝하고 구성 할 수 있습니다.
  • Chef는 활발하고 스마트하며 빠르게 성장하는 커뮤니티 지원을 제공합니다.
  • Chef의 성숙도와 유연성으로 인해 Mozilla, Expedia, Facebook, HP Public Cloud, Prezi, Xero, Ancestry.com, Rackspace, Get Satisfaction, IGN, Marshall University, Socrata, University of Minnesota, Wharton School과 같은 거대 기업에서 사용하고 있습니다. University of Pennsylvania, Bonobos, Splunk, Citi, DueDil, Disney 및 Cheezburger의

Facebook의 프로덕션 엔지니어 인 Phil Dibowitz에 따르면



“우리가 일반적으로 인프라에 대해 살펴 보는 세 가지 차원의 규모가 있습니다. 서버 수, 해당 시스템에 걸친 다양한 구성의 양, 이러한 구성을 유지하는 데 필요한 사람의 수입니다. Chef는 워크 플로를 변경하지 않고도 규모 역학에 맞게 유연하게 자동화 솔루션을 제공했습니다. '

의심 할 여지없이 Chef는 가장 유명한 구성 관리 도구 중 하나이며 인형 . 그러나 '쉐프 란 무엇인가'에 대해 자세히 알아보기 전에 먼저 구성 관리가 무엇이며 왜 중요한지 설명하는 것이 공정합니다.

배열 정렬 C ++

구성 관리

걱정하지 마세요.이 블로그에는 구성 관리에 대한 명확한 정의가 없습니다. :)

이러한 방식으로 구성 관리를 이해하겠습니다. 수백 대의 시스템 위에 소프트웨어를 배포해야한다고 가정합니다. 이 소프트웨어는 운영 체제 또는 코드이거나 기존 소프트웨어의 업데이트 일 수 있습니다. 이 작업을 수동으로 수행 할 수 있지만 내일이 될 수 있으므로이 작업을 밤새 완료해야하는 경우 어떻게됩니까? Big Billion Day 회사 또는 일부 판매 미디엄 또는 판매 교통 체증이 예상되는 등. 수동으로이 작업을 수행 할 수 있었더라도 중요한 날에 여러 오류가 발생할 가능성이 높습니다. 수백 대의 시스템에서 업데이트 한 소프트웨어가 작동하지 않는 경우 어떻게 이전 안정 버전으로 되돌릴 수 있습니까?이 작업을 수동으로 수행 할 수 있습니까? AF 코스가 아닙니다!

Java에서 다중 상속이란 무엇입니까?

이 문제를 해결하기 위해 구성 관리가 도입되었습니다. Chef, Puppet 등과 같은 구성 관리 도구를 사용하여이 작업을 자동화 할 수 있습니다. 하나의 중앙 집중식 서버에서 구성을 지정하기 만하면 모든 노드가 구성됩니다. 프로젝트 관리 및 감사 목적으로 시스템 상태의 정확한 기록 기록에 액세스 할 수 있습니다. 따라서 기본적으로 중앙 서버에서 구성을 한 번 지정하고 수천 개의 노드에 복제해야합니다. 구성 관리는 매우 체계적이고 쉬운 방법으로 아래 작업을 수행하는 데 도움이됩니다.

  • 요구 사항이 변경 될 때 변경할 구성 요소를 파악합니다.
  • 마지막 구현 이후 요구 사항이 변경 되었기 때문에 구현을 다시 실행합니다.
  • 새롭지 만 결함이있는 버전으로 교체 한 경우 구성 요소의 이전 버전으로 되돌립니다.
  • 교체해야 할 구성 요소를 정확하게 결정할 수 없기 때문에 잘못된 구성 요소를 교체합니다.

NYSE가 구성 관리를 통해 어떻게 수백만 달러를 절약했는지 알아 보려면 Puppet에 대한 내 블로그를 참조하십시오.

구성을 관리하는 데는 크게 두 가지 방법, 즉 푸시 및 풀 구성이 있습니다.

  • 풀 구성 : 이 유형의 구성 관리에서 노드는 업데이트를 위해 주기적으로 중앙 서버를 폴링합니다. 이러한 노드는 동적으로 구성되므로 기본적으로 중앙 집중식 서버에서 구성을 가져옵니다. 풀 구성은 Chef, Puppet 등과 같은 도구에서 사용됩니다.
  • 푸시 구성 : 이 유형의 구성 관리에서 중앙 집중식 서버는 구성을 노드로 푸시합니다. 풀 구성과 달리 노드를 구성하려면 중앙 서버에서 실행해야하는 특정 명령이 있습니다. 푸시 구성은 Ansible과 같은 도구에서 사용됩니다.

내 Puppet 자습서 블로그에서 구성 관리의 다양한 구성 요소에 대해 알아보십시오.

지금이 바로 Chef가 구성 관리를 달성하는 방법을 설명하여 'Chef가 무엇인지'를 이해하는이 탐구를 진행할 때입니다.

Chef 란 무엇입니까 – Chef를 통한 구성 관리

Chef가 무엇인지 이해했습니다. 이제 Chef가 사용 사례를 통해 구성 관리를 달성하는 방법을 설명하겠습니다. Gannett는 공개적으로 거래되는 미국 미디어 지주 회사입니다. 일일 총 발행량으로 측정 한 미국 최대 신문사입니다.

Gannett의 기존 배포 워크 플로는 여러 번의 전달과 수동 테스트로 특징 지어졌습니다. 이 프로세스에서 그들이 직면 한 문제가 무엇인지 살펴 보겠습니다.

  • 정확하고 반복 가능한 빌드를 유지하는 것은 어려웠습니다.
  • 많은 빌드 실패가 있었고 테스트가 종종 잘못된 환경에서 실행되었습니다.
  • 배포 및 프로비저닝 시간은 며칠에서 몇 주까지 다양 할 수 있습니다.
  • 운영팀은 클라우드 또는 개발 환경에 액세스 할 수 없었습니다.
  • 모든 그룹은 자체 도구 세트를 사용했으며 재정이나 보안에 대한 책임이 없었습니다. 응용 프로그램의 실제 비용은 아무도 몰랐습니다. 보안은 소프트웨어 스택을 감사 할 방법이 없었습니다.

가넷은 변화에 대비했습니다. 개발자들은 애플리케이션을 빠르게 배포하기를 원했습니다. 운영팀은 반복 가능한 방식으로 구축하고 배포 할 수있는 안정적인 인프라를 원했습니다. 재무는 애플리케이션의 실제 비용을 알고 싶었습니다. 보안은 모든 스택을보고 감사하고 변경 사항을 추적 할 수 있기를 원했습니다.

Gannett은 서비스 형 클라우드가 많은 이점을 제공한다는 사실을 확인했습니다. 개발자는 표준화 된 리소스에 액세스 할 수있었습니다. 클라우드의 주문형 컴퓨팅 모델 덕분에 피크 트래픽을 처리하기가 더 쉬웠고 핸드 오프가 최소화되었습니다.

Chef를 사용하면 사용량 및 트래픽의 최대치를 유지하기 위해 필요에 따라 인프라를 동적으로 프로비저닝 및 프로비저닝 해제 할 수 있습니다. 이를 통해 다운 타임 위험이 거의없이 새로운 서비스와 기능을 더 자주 배포하고 업데이트 할 수 있습니다. Chef를 사용하면 클라우드가 제공하는 모든 유연성과 비용 절감을 활용할 수 있습니다.

Gannett의 Chef가 수행 한 기능을 살펴 보겠습니다.

  • Gannett은 프로덕션을 모방하는 개발 환경을 위해 VPC (Virtual Private Cloud) 구축을 시작했습니다. 그들이 이미 사용하고 있던 어떤 도구도 적절하지 않았습니다. 그러나 그들은 Chef가 클라우드와 Linux 및 Windows 환경 모두에서 잘 작동한다는 것을 발견했습니다. 그들은 Chef를 사용하여 프로덕션 환경과 완벽하게 일치하는 개발 환경을 구축했습니다.
  • 애플리케이션이 VPC로 이동하려면 Chef로 프로비저닝 및 배포해야했습니다.
  • 보안은 초기에 관여하고 Chef에 액세스하고 시스템 보안 표준을 유지하기위한 필수 제어를 관리합니다.

이제이 프로세스의 결과가 무엇인지 이해할 때입니다.

석사는 대학원 학위입니다
  • Gannett의 배포는 더 빠르고 안정적이되었습니다. Chef를 사용한 후 몇 주가 걸리던 애플리케이션 프로비저닝 및 배포에는 몇 분이 소요되었습니다.
  • 모든 새로운 애플리케이션은 Chef를 통해 클라우드에 배포되었습니다. 이러한 응용 프로그램은 프로덕션에 배포 된 것과 동일한 방식으로 모든 환경에 배포되었습니다. 또한 각 환경에서 테스트를 수행하여 배포가 안정적이었습니다.
  • 모든 인프라는 코드로 취급되어 발생하는 모든 변경 사항에 대한 가시성이 크게 향상되었습니다. 개발, 운영, 보안 및 재무 모두이 혜택을 받았습니다.

요리사는 무엇입니까 ”내 다음 블로그 즉 Chef 튜토리얼 구성 요소와 함께 Chef의 아키텍처에 중점을 둡니다. 또한 Chef를 사용하여 Apache2를 배포하는 방법도 설명했습니다.

이 블로그를 ' 요리사는 무엇입니까 ”관련, 체크 아웃 전 세계에 250,000 명 이상의 만족 한 학습자 네트워크를 보유한 신뢰할 수있는 온라인 학습 회사 인 Edureka에서 Edureka DevOps 인증 교육 과정은 학습자가 SDLC의 여러 단계를 자동화하기 위해 Puppet, Jenkins, Nagios 및 GIT와 같은 다양한 DevOps 프로세스 및 도구에 대한 전문 지식을 습득하는 데 도움이됩니다.