맨위로가기

퍼핏 (소프트웨어)

"오늘의AI위키"는 AI 기술로 일관성 있고 체계적인 최신 지식을 제공하는 혁신 플랫폼입니다.
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.

1. 개요

퍼핏(Puppet)은 시스템 설정을 관리하고 자동화하는 데 사용되는 소프트웨어로, 미국 오리건주 포틀랜드에 본사를 둔 퍼핏, Inc.에서 개발했다. 퍼핏은 선언적 프로그래밍 언어를 사용하여 시스템 구성을 정의하며, 클라이언트-서버 구조를 기반으로 작동한다. 사용자는 퍼핏의 DSL 또는 루비를 통해 시스템 리소스 및 상태를 표현하고, 이는 "퍼펫 매니페스트" 파일에 저장된다. 퍼핏은 유닉스 계열 및 마이크로소프트 윈도우 시스템의 구성을 관리하며, 2005년 루크 카니스에 의해 설립되었다.

더 읽어볼만한 페이지

  • 2005년 설립된 소프트웨어 기업 - 워크데이
  • 2005년 설립된 소프트웨어 기업 - 모질라 차이나
    모질라 차이나는 한국에서의 역사와 관련된 주제를 다루며, 특정 시대별 주요 사건 및 변화, 쟁점, 사회적 영향, 관련 인물 및 단체, 그리고 미래에 대한 내용을 포함한다.
  • 루비로 작성된 자유 소프트웨어 - 루비 온 레일즈
    루비 온 레일즈는 데이비드 헤이네마이어 한손이 개발한 MVC 아키텍처 기반의 웹 애플리케이션 프레임워크로, "설정보다 관례"와 "반복 금지" 원칙을 핵심 철학으로 삼아 다양한 웹 서비스 개발에 사용되며 다른 프레임워크에 영향을 주었다.
  • 루비로 작성된 자유 소프트웨어 - Travis CI
    Travis CI는 소프트웨어 프로젝트의 지속적인 통합 및 제공을 위한 서비스로, `.travis.yml` 파일로 구성되며 GitHub와 연동하여 빌드를 실행하고 테스트 결과를 제공한다.
  • 2005년 소프트웨어 - 밴시 (미디어 플레이어)
    밴시는 플러그인을 통해 기능을 확장할 수 있으며, Mac OS X, 리눅스, 윈도우를 지원하는 미디어 플레이어이다.
  • 2005년 소프트웨어 - ZFS
    ZFS는 Jeff Bonwick 등이 설계하고 구현한 파일 시스템으로, 데이터 무결성, 스냅샷, RAID-Z 등의 기능을 제공하며, 썬 마이크로시스템즈에서 개발되어 OpenZFS 프로젝트를 통해 다양한 운영체제에서 사용된다.
퍼핏 (소프트웨어) - [IT 관련 정보]에 관한 문서
기본 정보
이름퍼핏
장르소프트웨어 구성 관리
코드형 인프라스트럭처
웹사이트퍼핏 공식 웹사이트
상세 정보
개발자퍼핏
최초 릴리스2005년
최신 버전''
최신 릴리스 날짜'|df=yes}}'
프로그래밍 언어C++ (4.0부터)
Clojure (4.0부터)
루비
지원 운영 체제리눅스
유닉스 계열
마이크로소프트 윈도우
라이선스오픈 소스 퍼핏: 아파치 (2.7.0 이상), GPL (이전 버전)
퍼핏 엔터프라이즈: 독점 사용 허가

2. 구조

퍼핏은 일반적으로 클라이언트-서버 구조를 따르며, 클라이언트는 에이전트, 서버는 마스터라고 불린다. 독립적인 애플리케이션으로 사용할 수도 있다.

퍼핏 마스터는 하나 이상의 서버에 설치되고, 퍼핏 에이전트는 관리할 모든 머신에 설치된다. 에이전트는 서버와 통신하여 구성 지침을 가져오고, 시스템에 구성을 적용한 후 서버에 상태 보고서를 보낸다.[27]

퍼핏 구조는 구성 언어, 자원 추상화, 트랜잭션으로 이루어진다.


  • '''구성 언어'''는 자원을 선언하고, 매니페스트 파일에 작성된다.
  • '''자원 추상화'''는 플랫폼 의존성 없이 자원을 구성하는 기능을 제공한다.
  • '''트랜잭션'''은 팩터(Facter)를 통해 에이전트 정보를 마스터로 보내고, 카탈로그(catalog)를 통해 구성 순서를 관리하며, 실제 상태와 원하는 상태가 다를 경우에만 구성을 적용하는 멱등성을 가진다.

클라이언트에 수동으로 호출된 퍼핏

2. 1. 구성 요소

클라이언트-서버 구조를 따르는 퍼핏은 퍼핏 마스터와 퍼핏 에이전트로 구성된다.

  • '''퍼핏 마스터''': 하나 이상의 서버에 설치되며, 퍼핏 에이전트의 구성 정보를 관리한다.[27]
  • '''퍼핏 에이전트''': 관리 대상 시스템에 설치되며, 마스터로부터 구성 명령을 받아 시스템에 적용하고 상태 보고를 보낸다.[27] 에이전트는 데몬으로 실행되거나, cron 잡으로 주기적으로 호출되거나, 필요할 때 수동으로 실행할 수 있다.


퍼핏 구조는 구성 언어, 자원 추상화, 트랜잭션으로 이루어진다.

  • '''구성 언어''': 퍼핏에서 구성할 항목은 "자원"(resource)이라 부르며, 선언형 언어를 준수하여 자원에 수행해야 할 조치를 지정한다. 이러한 조치는 모든 자원에 대해 유형, 제목, 상태를 구성해야 하는 속성 목록의 세 가지 사항을 선언함으로써 구현된다. 퍼핏 코드는 매니페스트(manifest)라는 파일에 작성되며, 서버에 저장되어 각 클라이언트에 대한 구성 명령을 포함한다.[28]

  • '''자원 추상화''': 퍼핏은 플랫폼 의존성에 대해 걱정하지 않고 여러 플랫폼에서 자원을 구성하는 기능을 제공한다.

  • '''트랜잭션''':

# 모든 에이전트는 팩터(Facter)를 거쳐 마스터로 송신한다.

# 퍼핏은 자원 및 자원의 상호 의존성 목록을 그래픽컬한 표현으로 관리한다. 즉, 모든 클라이언트에 대한 '카탈로그'(catalog)에 구성해야 하는 순서를 기술한다. 마스터는 이 카탈로그를 클라이언트로 송신한다.

# 시스템이 이미 존재하는 구성은 실제 상태(actual state)로 간주하며, 매니페스트 파일에 언급된 구성은 원하는 상태(desired state)로 간주한다. 에이전트는 실제 상태가 원하는 상태와 동일하지 않은 경우에만 시스템에 구성을 적용한다. 상태 변경 적용을 위한 절(clause)은 필요한 경우에만 멱등(idempotency)으로 간주하며 이는 퍼핏의 주된 기능이다.

# 구성 적용 결과를 서버로 송신한다.

2. 2. 작동 방식



퍼핏은 클라이언트-서버 구조를 따른다. 클라이언트는 에이전트, 서버는 마스터라고 불린다. 테스트나 단순 구성을 할 때는 명령줄에서 실행되는 독립 실행형 애플리케이션으로도 사용할 수 있다.

퍼핏 서버는 하나 이상의 서버에 설치되고, 퍼핏 에이전트는 관리할 모든 머신에 설치된다. 퍼핏 에이전트는 서버와 통신하여 구성 지침을 가져온다. 그 후 에이전트는 시스템에 구성을 적용하고 서버로 상태 보고서를 보낸다.[10][11]

퍼핏 리소스 구문은 다음과 같다.



type { 'title':

attribute => value

}



다음은 유닉스 사용자를 나타내는 리소스 예시이다.



user { 'harry':

ensure => present,

uid => '1000',

shell => '/bin/bash',

home => '/home/harry'

}


2. 3. 구성 언어

퍼핏은 시스템 구성을 정의하기 위해 선언형 프로그래밍 선언형 프로그래밍 언어를 사용한다. 구성할 항목은 "자원"(resource)이라고 부르며, 각 자원은 유형, 제목, 속성 목록으로 정의된다.[28] 퍼핏 코드는 매니페스트(manifest)라는 파일에 작성되며, 서버에 저장되어 각 클라이언트에 대한 구성 명령을 포함한다.[28]

매니페스트 파일 작성 형식은 다음과 같다:



type { 'title':

attribute => value

}



예시는 다음과 같다:



user { 'harry':

ensure => present,

uid => '1000',

shell => '/bin/bash',

home => '/var/tmp'

}


3. 설계

퍼핏은 모델 기반 아키텍처로, 제한적인 프로그래밍 지식만으로도 사용할 수 있다.[9]

퍼핏은 유닉스 계열마이크로소프트 윈도우 시스템의 구성을 선언적 프로그래밍 방식으로 관리하도록 설계되었다. 사용자는 시스템 리소스 및 상태를 퍼핏으로 표현하거나 루비DSL로 표현한다. 이 정보는 "퍼펫 매니페스트"라고 불리는 파일에 저장된다.

4. 목적

퍼핏은 유닉스 계열마이크로소프트 윈도우 시스템의 설정을 선언적 프로그래밍 방식으로 관리하도록 설계되었다.[9] 사용자는 시스템 리소스 및 상태를 퍼펫이나 루비 DSL로 표현한다. 이 정보는 "퍼펫 매니페스트"라는 파일에 저장된다.

5. 회사 정보

퍼핏(Puppet, Inc.)은 미국 오리건주 포틀랜드에 본사를 둔 비상장 정보기술(IT) 자동화 소프트웨어 회사이다.[12] 주요 인물로는 설립자 루크 카니스, CEO 이본 와세나르, 앤드루 셰이퍼 등이 있다.

5. 1. 역사

퍼핏 설립자 루크 카니스


2005년, 퍼핏은 루크 카니스에 의해 설립되었다.[12] 2019년 1월 29일, 이본 와세나르가 에어웨어(Airware), 뉴렐릭(New Relic), VMware에서의 경력을 바탕으로 CEO로 취임했다.[14]

2011년 2월, 퍼핏은 첫 번째 상용 제품인 퍼핏 엔터프라이즈를 출시했는데, 이는 오픈 소스 기반에 일부 추가 상용 구성 요소를 갖춘 것이었다.[14] 2017년 9월에는 인프라 자동화 회사 디스텔리(Distelli)를 인수했다.[15] 퍼핏은 디스텔리의 VM 대시보드(지속적 통합/지속적 전달 제품)를 퍼핏 파이프라인스(Puppet Pipelines) for 애플리케이션으로, K8s 대시보드를 퍼핏 파이프라인스 for 컨테이너로 브랜드 변경했으며,[16][17] 이 제품들은 2017년 10월부터 일반적으로 사용 가능하게 되었다.[18]

2018년 5월, 퍼핏은 하이브리드 네트워크의 리소스를 검색하고 조작하는 도구인 퍼핏 디스커버리를 출시했다.[19] 2018년 6월, 시스코 주도로 클라이너 퍼킨스(Kleiner Perkins), 트루 벤처스(True Ventures), EDBI, VMware 등이 참여한 가운데 4,200만 달러의 추가 자금을 유치하여 총 1억 5,000만 달러의 자금을 확보했다.[20] 퍼핏의 파트너로는 VMware, 아마존 웹 서비스, 시스코, 오픈스택(Openstack), 마이크로소프트 애저, 유칼립투스, 제노스(Zenoss)가 있다.[21]

2022년 4월, 퍼핏은 미네아폴리스에 본사를 둔 소프트웨어 개발 회사인 퍼포스(Perforce)에 인수되었다고 발표했다.[22] 이후, 회사는 포틀랜드에서 퍼핏 인력의 15%를 해고했다.[23]

5. 2. 주요 제품


  • 퍼핏(Puppet): 오픈 소스 기반의 시스템 구성 관리 도구이다.[14]
  • 퍼핏 엔터프라이즈(Puppet Enterprise): 2011년 2월에 출시된 퍼핏의 첫 번째 상용 제품으로, 오픈 소스 기반에 일부 추가 상용 구성 요소를 갖추고 있다.[14]
  • 퍼핏 포지(Puppet Forge)[13]: 퍼핏 모듈 공유 플랫폼
  • 퍼핏 파이프라인스(Puppet Pipelines): 2017년 9월, 퍼핏이 인수한 인프라 자동화 회사 디스텔리(Distelli)의 제품을 브랜드 변경한 것이다. VM 대시보드(지속적 통합 / 지속적 전달 제품)는 퍼핏 파이프라인스 for 애플리케이션으로, K8s 대시보드는 퍼핏 파이프라인스 for 컨테이너로 변경되었다.[16][17]
  • 퍼핏 디스커버리(Puppet Discovery): 2018년 5월에 출시된 하이브리드 네트워크의 리소스를 검색하고 조작하는 도구이다.[19]

참조

[1] 웹사이트 Evolving Puppet for the Next 10 Years https://puppet.com/b[...] Luke Kanies 2014-09-23
[2] 웹사이트 Puppet Master License Agreement https://puppet.app.b[...] 2019-02-07
[3] 웹사이트 Cisco, Google Ventures, VMware Put $8.5M In Data Center Automation Startup Puppet Labs https://techcrunch.c[...] TechCrunch 2011-11-29
[4] 웹사이트 Puppet Labs Announces Puppet Enterprise http://www.linuxprom[...]
[5] 웹사이트 Puppet Frequently Asked Questions http://docs.puppetla[...] Puppet Labs 2010-03-10
[6] 웹사이트 Docs: PE 2.0 - Installing - System Requirements http://docs.puppet.c[...] Puppet
[7] 웹사이트 Puppet system requirements https://puppet.com/d[...] Puppet
[8] 웹사이트 Evolving Puppet for the Next 10 Years https://puppet.com/b[...] Luke Kanies 2014-09-23
[9] 웹사이트 Deploying Apache Tomcat Applications With Puppet http://www.tomcatexp[...] 2015-01-23
[10] 웹사이트 Overview of Puppet's architecture — Documentation — Puppet https://docs.puppet.[...] 2016-09-14
[11] 서적 Pro Puppet Apress 2013-12-09
[12] 웹사이트 Company Overview of Puppet Labs, Inc http://investing.bus[...] Bloomberg Businessweek
[13] 웹사이트 Puppet Enterprise https://puppet.com/p[...] Puppet
[14] 웹사이트 Puppet Goes After Enterprise System Management http://www.enterpris[...] Enterprise Networking Planet 2011-02-02
[15] 웹사이트 Welcome to the Puppet family, Distelli! https://puppet.com/b[...]
[16] 웹사이트 Pipelines for Applications user's guide - Pipelines for Applications enterprise {{!}} Puppet https://puppet.com/d[...] 2018-07-07
[17] 웹사이트 Pipelines for Containers user's guide - Pipelines for Containers enterprise {{!}} Puppet https://puppet.com/d[...] 2018-07-07
[18] 웹사이트 Introducing Puppet Pipelines™ and Puppet® Container Registry https://puppet.com/b[...]
[19] 웹사이트 Announcing Puppet Discovery™ general availability: 8 May https://puppet.com/b[...]
[20] 웹사이트 Puppet raises $42M led by Cisco as its DevOps automation platform passes 40,000 businesses https://techcrunch.c[...] 2018-06-27
[21] 웹사이트 Cisco, Google Ventures, VMware Put $8.5M in Data Center Automation Startup Puppet Labs https://techcrunch.c[...] TechCrunch 2011-11-29
[22] 웹사이트 Perforce Software acquires Puppet https://techcrunch.c[...] 2022-04-11
[23] 뉴스 Perforce Software starts layoffs at Portland's Puppet https://www.bizjourn[...] 2022-08-08
[24] 웹사이트 Welcome to Puppet https://puppet.com/d[...] 2021-01-11
[25] 웹사이트 Puppet Frequently Asked Questions http://docs.puppetla[...] Puppet Labs 2010-03-10
[26] 웹인용 Puppet Frequently Asked Questions http://docs.puppetla[...] Puppet Labs 2010-03-10
[27] 웹인용 Overview of Puppet's architecture — Documentation — Puppet https://docs.puppet.[...] 2016-09-14
[28] 서적 Pro Puppet https://archive.org/[...] Apress



본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.

문의하기 : help@durumis.com