# Alchemy - 순수 TypeScript로 구현된 임베디드 IaC 라이브러리

> Clean Markdown view of GeekNews topic #21769. Use the original source for factual precision when an external source URL is present.

## Metadata

- GeekNews HTML: [https://news.hada.io/topic?id=21769](https://news.hada.io/topic?id=21769)
- GeekNews Markdown: [https://news.hada.io/topic/21769.md](https://news.hada.io/topic/21769.md)
- Type: news
- Author: [xguru](https://news.hada.io/@xguru)
- Published: 2025-07-02T09:31:01+09:00
- Updated: 2025-07-02T09:31:01+09:00
- Original source: [github.com/sam-goodwin](https://github.com/sam-goodwin/alchemy)
- Points: 4
- Comments: 5

## Topic Body

- Terraform처럼 **인프라 리소스 생성·변경·삭제를 코드로 관리**할 수 있는 IaC(Infrastructure as Code) 라이브러리  
  - Terraform/Pulumi와 달리 **순수 ESM 기반 TypeScript**로만 작성됨   
  - 별도 도구·런타임·의존성 없이 **브라우저·서버리스 등 어디서나 리소스 자동 관리**를 지원  
- 모든 인프라 리소스는 **async 함수** 한개로 모델링, **복잡한 추상화 없이 JS 코드만으로 CRUD 자동화** 가능함  
- **제로 의존성/서비스 및 상태 파일 로컬 저장** 등으로 단순성과 투명성이 뛰어나며, 코드 구조나 상태 저장 위치에 대한 제한이 거의 없음  
- **AI 활용을 적극 지원**, LLM 기반 코드 생성·수정이 쉬워, 기존 프로바이더 대기 없이 직접 리소스 구현 가능함  
- 단순한 워크플로와 높은 이식성 제공

## Comments



### Comment 40876

- Author: yangeok
- Created: 2025-07-02T12:18:39+09:00
- Points: 1

굳이 ts를 쓴 이유가,,

### Comment 40884

- Author: slave4salary
- Created: 2025-07-02T15:42:39+09:00
- Points: 1
- Parent comment: 40876
- Depth: 1

그러게요....   
  
저도 궁금해서 claude 에게 물어본 내용 공유드립니다만... 공감은 잘 안되네요  
  
---  
  
TypeScript 사용에 대한 장단점을 비판적으로 분석하겠습니다:  
  
장점(Pros):  
  
1. 개발 생태계 통합  
- 대부분의 예제가 웹 프레임워크(React, Vue, Svelte 등) 중심  
- 프론트엔드 개발자들의 진입장벽 최소화  
- npm 생태계 활용 가능  
  
2. 기술적 이점  
- 타입 안전성으로 인프라 구성 오류 사전 방지  
- ESM 네이티브 지원으로 모듈 시스템 현대화  
- 비동기 처리(async/await) 자연스러운 지원  
  
3. 확장성  
- "Extensible" 특징 강조 - 함수 기반 리소스 확장 용이  
- AI 통합 용이성 ("AI-first" 강조)  
- 브라우저부터 서버리스까지 다양한 런타임 지원  
  
단점(Cons):  
  
1. 성능 우려  
- TypeScript는 컴파일 과정 필요  
- 메모리 사용량이 Go나 Rust 같은 시스템 언어보다 높음  
- 대규모 인프라 관리 시 성능 병목 가능성  
  
2. 보안 리스크  
- JavaScript/TypeScript의 동적 특성으로 인한 런타임 오류 가능성  
- `eval()` 같은 위험한 기능 접근 가능  
- 의존성 관리의 복잡성 (비록 "zero dependencies"를 주장하지만, 실제 사용 시 의존성 추가 가능성 높음)  
  
3. 기술적 한계  
- 저수준 시스템 접근의 제한  
- 가비지 컬렉션으로 인한 예측 불가능한 지연  
- 네이티브 바이너리 생성의 어려움  
  
4. 생태계 우려  
- IaC 도구로서는 상대적으로 미성숙  
- Terraform, Pulumi 대비 커뮤니티/생태계 규모 작음  
- 엔터프라이즈급 지원/검증 부족  
  
5. 아키텍처 고려사항  
- "No strong opinions"가 오히려 단점이 될 수 있음 (모범 사례 부재)  
- 상태 관리의 분산 위험 ("store state anywhere")  
- 로컬 상태 파일 관리의 복잡성  
  
결론적으로, TypeScript 선택은 웹 개발자 친화적 환경 구축에는 적합하나, 엔터프라이즈급 IaC 도구로서는 아직 검증이 필요해 보입니다.

### Comment 40858

- Author: lamanus
- Created: 2025-07-02T09:42:29+09:00
- Points: 1

코드 한 줄로...는 어디서 나온 말일까요?

### Comment 40865

- Author: xguru
- Created: 2025-07-02T10:01:21+09:00
- Points: 1
- Parent comment: 40858
- Depth: 1

어라.. 왜 그렇게 적었을까요 ㅠ 코드로 가 맞는듯 하네요.

### Comment 40860

- Author: codemasterkimc
- Created: 2025-07-02T09:47:26+09:00
- Points: 1
- Parent comment: 40858
- Depth: 1

한줄이 길면 가능은 하죠  
구글 검색엔진도 길게쓰면 한줄로 가능할듯요 ㅋㅋ
