Others

Puppetlabs

Puppet labs benefits

시스템 관리자의 인프라 관리를 위한 IT 자동화 소프트웨어

# 일반적인 인프라 Puppet 이용시
생산성 20 ~ 30 nodes / sysadmin 100s ~ 1000s nodes / sysadmin
응대방법 주중 또는 월중 매일 매시간
Configuration Drift 항상 존재함 제거함
가시성 한정적 모든 resource에 대한 업데이트
규정 시간요소 / 불일치 자동 수정 및 감사 추적

Puppet platform

puppet-1

Puppet 이용 시 구성가능한 설정

puppet-2
  1. 귀하의 resource들을 모듈에 규정함

    Puppet으로 Web Server또는 Database와 같은 node 분류로부터 귀하가 resources와 동시에 수천 개 서버를 설정하는 관계를 맺는 것을 허락하면서 귀하의 모듈을 규정할 수 있습니다

  2. Resource relationship을 자동으로 배치함

    Puppet Dashboard를 통해서 승인된 후에 환경 설정을 변경할 수 있고, 귀하만의 특화된 CMDB툴을 가질 수 있습니다

  3. 재사용 가능하고, 구성할 수 있는 환경설정

    Puppet으로 귀하가 필요한 결합이 무엇이든지간에 반복 작업을 줄이고, 오류 나기 쉬운 스크립트를 제거하는 다중 node를 연결해서 모듈을 재사용 할 수 있습니다

How Puppet works

puppet-3
  1. Puppet만의 서술형 언어로 인프라를 최상의 상태로 만듭니다. 재사용 모듈에서의 resource들 사이 관계를 그래프로 디자인합니다
  2. 이 resource 그래프로, Puppet은 귀하의 인프라에 혼란 없이 변경사항을 테스트 할 수 있게 Puppet만의 유일한 능력으로 배치를 simulate합니다
  3. Puppet은 귀하가 규정한 바람직한 상태의 시스템을 비교하여, 당신의 시스템이 반드시 자동으로 바람직한 상태로 따를 수 있도록 보장 합니다
  4. Puppet Dashboard는 귀하께서 보안과 권한준수를 따를 수 있도록, 각각의 요소들과 모든 변경사항들 사이의 track relationship을 리포트 합니다. 또한 open API로 3개의 부분 모니터링 툴로써 Puppet을 통합시킬 수 있습니다

How Puppet works : node level

puppet-4
  • What : 인간언어를 가진 코드로 인프라를 구성함.
    “file,” “user,” “group,” “service,” “package.”와 같이 간단한 인간언어로 resource들을 구체화합니다. 그런 다음, 귀하의 시스템에 바람직한 상태로 제공하기 위해 귀하의 모듈을 올바른 resource configuration으로 구성합니다
  • When : 스케쥴에 맞춰서 또는 시연해보고 배치함.
    Puppet은 귀하가 배치하기 전에 변경사항들을 시연해보도록 허가하는, resource relationship 그래프로 configuration을 전달합니다. 정기적으로 node를 이상적인 상태로 조정합니다. 그리고 node에 문의할 것이 있거나 즉각적인 변경을 만들어야 한다면, Puppet은 Mcollective로 당신이 마음대로 업데이트된 배열로 배치할 수 있도록 허가합니다
  • How : 매우 다양한 환경을 관리함.
    Puppet의 resource abstraction layer는 저희가 제공한 작동 시스템이 모든 node에 지속적으로 보장하도록 어떠한 버전에서도 배열할 수 있게 합니다

Puppet 관리상 각 Node 별 Data Flow

puppet-5
  • Facts
    node는 자신에 대한 일반적인 데이터를 Puppet Master에게 보냅니다
  • Catalog
    Puppet은 어떻게 node가 구성되는지 구체화하는 Catalog를 compile 하기 위해 결과값을 사용합니다
  • Report
    node는 구성이 완료되었다고 표시되는 Puppet에 다시 리포트 합니다. 이 사항은 Puppet Console에서 볼 수 있습니다
  • Report
    Puppet의 open API는 세 번째 party tool에도 데이터를 보낼 수 있습니다.

App서버 Lifecycle 및 개발

환경설정 이동을 방지, 비즈니스 서비스의 빠른 전달을 가능하게 함

puppet-5

Open Source vs. Enterprise

Features Puppet
 Open Source Puppet
 Enterprise
Enhanced Graphical User Interface (GUI)
Provisioning – Amazon EC2
Provisioning – VMware VMs
Configuration Management – Discovery & cloning
Configuration Management – Operating systems
Configuration Management – User accounts
Configuration Management – Applications
300+ pre-built configuration modules on Puppet Forge
Orchestration – Task automation
Compliance – Automated configuration auditing
Administration – Role-based access control (RBAC)
Support – Enterprise-class support & maintenance SLA
Support – Option for 24 x 7 x 365

Role-Based Access Control

puppet-7
  • 간단한 설치

    Puppet Enterprise console GUI를 통해 새로운 사용자를 빨리 만들어냅니다.

  • Balance Access & Control

    읽기전용, 읽기쓰기, 관리자설정으로 선택

  • Maintain Accountability

    사용자의 행동들을 기록하고, 검사 가능하게 합니다

팀 멤버들을 올바른 접근에 제공하는 동안, 책임성과 통제를 향상시킵니다

GUI 환경

puppet-8

- 즉시 확인을 위한 node의 High-level condition
- 시간기준으로 변화율을 볼 수 있게 함
- node 상태의 세부사항으로 상세 문제들을 정확하게 찾아냄

VM/Cloud Provisioning

환경설정 제공, 개인·공공 클라우드 인프라 운영

  1. VM node 능력을 만듦.

    VMware vSphere 또는 AWS 사용

  2. 자동으로 설치

    새로운 node에 Puppet Agent가 있음

  3. Node Configuration

    기존 설정들을 사용

puppet-9

환경에 맞는 configuration을 지속적으로 유지하는 동안 비즈니스 요구사항에 빨리 답변합니다

Puppet Orchestration

puppet-10

- 필요한 보안 업데이트를 결정하는 쿼리 시스템
- Puppet을 즉시 작동시키거나 롤링 업데이트를 예약
- 업데이트를 수신여부를 시스템에서 확인되며, 이를 토대로 상태 리포트를 작성

Live Management

puppet-11

Compliance

바람직한 상태의 baseline과 대조하여 시각적으로 변화를 모니터하고, 관리함

  1. 인프라의 바람직한 상태로 Baseline을 설정
  2. 바람직한 상태로 변화를 시각화
  3. 수락 또는 거절 등을
baseline으로 변경
puppet-12

Configuration Drift와 개선된 가시성 및 통제력으로 인하여 변동된 서비스 결과를 제거함

Puppet data library

  • 종합적인 인프라 데이터

    Puppet은 Node 하드웨어와 소프트웨어 목록, 리포트 변경과 node 설정 그래프를 관리함

  • Open Standards

    YAML, JSON, and .dot formats의 RESTful Puppet API 을 통해 접근 가능

  • Tools Ecosystem

    Boundary, Nodeable, Graphite, GraphViz, Gephi, 그 외