언어와 공급자를 이용한 자원 정의
TypeScript와 Python 및 Go 같은 언어로 자원 객체를 선언하고 속성에 원하는 상태를 지정한다. 언어별 SDK는 공급자가 관리하는 자원 형식을 제공한다. 공급자는 클라우드 서비스와 통신하며 자원의 생성과 조회 및 변경과 삭제를 처리한다.
현재 상태와 목표 상태의 차이
명령행 도구가 프로그램을 실행하고 배포 엔진은 현재 인프라를 목표 상태로 바꾸는 데 필요한 작업을 계산한다. 자원 사이의 속성 연결로 의존 관계를 표현할 수 있다. 프로그램은 실행 정보와 소스가 포함된 프로젝트에서 관리한다.
독립된 배포 환경
스택은 같은 프로그램의 독립적으로 설정할 수 있는 실행 인스턴스다. 개발과 시험 및 운영 환경을 별도 스택으로 나눌 수 있다. 선택적으로 사용하는 Pulumi Cloud는 상태 저장과 접근 제어 등 팀 관리 기능을 제공하는 관리형 백엔드다.