n8n은 "No-code" 또는 "Low-code" 워크플로우 자동화 플랫폼으로, 다양한 시스템과 서비스를 연결하여 자동화된 프로세스를 구성할 수 있습니다. 이를 통해 파이썬 모듈, GPT-3 같은 AI 모델, Slack 봇 등 여러 기술을 하나의 워크플로우로 묶어 관리할 수 있습니다. 다만, 모든 도구와 서비스가 직접 n8n과 통합되지는 않기 때문에, API 요청, 웹훅, 커스텀 코드 실행 등의 방법을 통해 간접적으로 연결해야 할 수도 있습니다.
n8n을 로컬 환경에 직접 설치하여 바로 사용해 볼 수 있습니다.
0단계: Node.js 설치
- n8n을 실행하기 전에, 시스템에 Node.js가 설치되어 있어야 합니다.
1단계: n8n 설치하기
n8n은 npm을 통해 설치할 수 있습니다. 명령어 실행은 터미널이나 명령 프롬프트에서 진행합니다.
- npx로 시험하기 (설치하지 않고 바로 사용):이 명령은 필요한 모든 것을 다운로드한 후 n8n을 실행합니다. 실행 후
http://localhost:5678
에 접속하여 n8n을 사용할 수 있습니다.npx n8n
- npm을 통해 글로벌로 설치하기 (시스템 어디에서나 실행):설치 후에는 터미널에서
n8n
을 입력하여 언제든지 n8n을 시작할 수 있습니다.npm install n8n -g
2단계: 워크플로 템플릿 열기
로컬에서 n8n을 실행한 후, UI를 통해 다음 단계를 진행할 수 있습니다.
- n8n UI에 접속한 후, "Templates" 메뉴를 선택합니다.
- "Very quick quickstart" 템플릿을 검색하고 선택하여 미리 보기를 합니다.
- "Use template"을 선택하여 워크플로를 로드합니다.
3단계: 워크플로 실행하기
- 워크플로 UI에서 "Test Workflow" 버튼을 클릭하여 워크플로를 실행합니다.
4단계: 노드 추가 및 편집하기
- "Edit Fields" 노드에 연결된 "Add node" 아이콘을 선택하고, "Customer Messenger" 노드를 검색하여 추가합니다.
- 표현식을 사용하여 고객 데이터를 매핑하고, 적절한 메시지를 설정합니다.
5단계: 워크플로 다시 실행하기
- 설정을 마친 후, "Test Workflow"를 클릭하여 워크플로를 다시 실행합니다.
이 단계를 통해 로컬 환경에서 n8n을 설치하고, 간단한 워크플로를 실행하여 체험해볼 수 있습니다.
n8n을 사용하여 워크플로우 예시 구성하기
예시 시나리오
파이썬 스크립트를 실행하여 데이터를 처리하고, 그 결과를 Slack을 통해 팀에 알리고, 특정 조건에 따라 GPT-3로 추가 분석을 요청하는 워크플로우를 구성한다고 가정해보겠습니다.
- 파이썬 스크립트 실행
- n8n은 직접적으로 파이썬 코드를 실행하는 노드를 제공하지 않습니다. 따라서, 파이썬 스크립트를 실행하기 위해선 외부 서버에 파이썬 스크립트를 호스팅하고, 해당 스크립트를 실행할 수 있는 API를 구성해야 합니다.
- 이 API를 HTTP Request 노드를 사용하여 n8n 워크플로우에서 호출할 수 있습니다.
- Slack 봇을 통한 알림
- Slack 노드를 사용하여 파이썬 스크립트의 실행 결과를 Slack 채널에 전송할 수 있습니다.
- Slack 노드를 구성하여 API 토큰을 입력하고, 메시지를 보낼 채널을 지정합니다. 그 후, 파이썬 스크립트 실행 결과를 메시지로 전송합니다.
- GPT-3를 사용한 추가 분석
- 파이썬 스크립트의 결과에 따라 추가 분석이 필요한 경우, GPT-3 API를 호출할 수 있습니다.
- OpenAI 노드(혹은 HTTP Request 노드, 만약 직접적인 GPT-3 노드가 없을 경우)를 사용하여 GPT-3 API에 요청을 보내고, 파라미터로 전달할 텍스트 데이터를 구성합니다.
- GPT-3로부터 받은 응답을 분석하고, 필요한 조치를 취합니다.
n8n 워크플로우 구성 시 주의사항
- 보안: API 키, 토큰 등 민감한 정보는 환경 변수를 사용하여 안전하게 관리해야 합니다.
- 에러 처리: 각 노드의 실행 결과를 확인하고, 예외 상황에 대한 처리 로직을 구성하는 것이 중요합니다.
- API 제한: 외부 API를 사용할 때는 호출 횟수 제한이나 비용 등을 고려해야 합니다.
n8n을 통한 워크플로우 자동화는 매우 강력하며, 다양한 시스템과 서비스를 연결하여 복잡한 자동화 태스크를 수행할 수 있게 해줍니다. 워크플로우의 구성은 사용 사례에 따라 달라지며, n8n의 시각적 인터페이스를 통해 쉽게 구성할 수 있습니다.
Mermaid는 텍스트 기반의 다이어그램을 생성하기 위한 도구입니다. 텍스트를 사용하여 플로우차트, 시퀀스 다이어그램, 클래스 다이어그램 등을 만들 수 있습니다. 여기서는 n8n 워크플로우를 Mermaid 플로우차트 코드로 표현해 보겠습니다. 이 코드는 Mermaid 호환 마크다운 렌더러나 온라인 Mermaid 라이브 에디터에서 시각적 다이어그램으로 변환될 수 있습니다.
graph TD;
A[Start: Call Python Script via API] -->|Result| B[Send Result to Slack];
B --> C[Event Detection in Slack Bot];
C -->|Event Info| D[Analyze with GPT];
D --> E[Decision Point];
E -->|If Analysis Requires Action| F[Send to Jira];
E -->|If Informational| G[Update Wiki];
E -->|For Record Keeping| H[Log to Google Sheets];
F --> I[End of Workflow];
G --> I;
H --> I;
이 코드는 다음 단계를 표현합니다.
- Start: Call Python Script via API - Python 스크립트를 API를 통해 호출하는 시작점입니다.
- Send Result to Slack - Python 스크립트의 결과를 Slack에 전송합니다.
- Event Detection in Slack Bot - Slack 봇이 특정 이벤트를 감지합니다.
- Analyze with GPT - 감지된 정보를 GPT 모델로 분석합니다.
- Decision Point - 분석 결과에 따라 다음 단계를 결정하는 분기점입니다.
- Send to Jira - 분석 결과가 특정 액션을 요구하는 경우 Jira에 전송합니다.
- Update Wiki - 정보적인 내용이라면 Wiki를 업데이트합니다.
- Log to Google Sheets - 기록 유지를 위해 Google Sheets에 로깅합니다.
- End of Workflow - 워크플로우의 종료점입니다.
이 플로우차트는 주어진 시나리오의 기본적인 구조를 나타내며, 실제 구현에서는 더 많은 상세한 노드나 분기점이 필요할 수 있습니다. Mermaid 다이어그램을 사용하여 이런 프로세스를 시각화하면 프로젝트 팀이 워크플로우를 쉽게 이해하고 공유할 수 있습니다.
n8n을 사용하여 위 시나리오를 구현하는 것이 가능합니다. 여기에는 여러 단계가 포함되며, 각 단계는 n8n의 노드를 사용하여 구성됩니다. 아래는 각 단계를 구현하는 방법에 대한 개요입니다.
- 별도로 구성된 Python 스크립트 실행
- 외부 Python 스크립트를 실행하기 위해, 스크립트를 호스팅하는 서버에 REST API를 구현합니다. 그리고 n8n 내의 HTTP Request 노드를 사용하여 이 API를 호출하고 실행 결과를 받아옵니다.
- 실행 결과를 Slack API로 전달
- Slack 노드를 사용하여 Python 스크립트의 실행 결과를 Slack 채널에 메시지로 전송합니다. 이를 위해 Slack 노드를 구성하여 Slack 워크스페이스와 연동시키고, 적절한 메시지 포맷을 설정합니다.
- Slack 봇에 의한 이벤트 감지
- Slack 봇을 설정하여 특정 이벤트(예: 메시지 수신)를 감지하고, 해당 이벤트 정보를 n8n으로 전달하기 위해 Webhook 노드를 사용합니다. Slack 이벤트 API와 n8n의 Webhook 노드를 통해 이를 구성할 수 있습니다.
- 정보를 GPT 모델을 통해 분석 및 정리
- 받아온 정보를 분석하기 위해, OpenAI 노드(또는 HTTP Request 노드를 사용하여 직접 GPT API를 호출)를 사용하여 GPT 모델에 정보를 전달하고, 분석된 결과를 받아옵니다.
- 결과를 Jira/Wiki/Google Sheets 등에 전달
- 마지막 단계에서는 분석 결과를 다른 시스템에 전달합니다. n8n은 Jira, Google Sheets 등 다양한 서비스와의 통합을 지원합니다. 해당 서비스의 노드를 사용하여 분석 결과를 적절한 형식으로 전송하고 기록합니다.
이러한 과정을 구현하기 위해서는 각 서비스(API, Slack, Jira 등)에 대한 충분한 접근 권한과, 해당 서비스의 API를 사용하는 방법에 대한 이해가 필요합니다. 또한, 각 단계에서 발생할 수 있는 오류를 처리하고, 보안을 유지하기 위한 적절한 조치를 취하는 것이 중요합니다.
n8n의 시각적 인터페이스를 통해 이러한 워크플로우를 상대적으로 쉽게 구성할 수 있으며, 워크플로우의 각 단계를 시각적으로 확인하면서 디버깅과 테스트를 진행할 수 있습니다. n8n과 Make(이전에는 Integromat으로 알려짐)는 둘 다 인기 있는 노코드 자동화 도구로 모두 워크플로우 자동화, 데이터 통합, API 호출 등을 지원하지만, 그 기능과 사용성 면에서 차이가 있습니다. 아래에서 두 도구의 주요 특징을 비교하겠습니다.
n8n
특징
- 오픈 소스: n8n은 오픈 소스 프로젝트로, 누구나 소스 코드를 열람하고 수정할 수 있습니다.
- 자체 호스팅: 사용자들은 자신만의 서버에 n8n을 설치하고 운영할 수 있어, 데이터 프라이버시와 보안에 더 큰 통제권을 가질 수 있습니다.
- 유연성: n8n은 Node.js 기반으로, 사용자들이 커스텀 노드를 작성하거나 기존 노드를 수정하기 용이합니다.
- 시각적 인터페이스: 드래그 앤 드롭 방식의 시각적 인터페이스를 통해 워크플로우를 쉽게 구축할 수 있습니다.
- 광범위한 통합: 다양한 서드파티 서비스와의 통합을 지원하며, REST API를 이용해 커스텀 통합도 가능합니다.
단점
- 초기 설정: 자체 호스팅의 경우, 초기 설정과 유지보수가 필요합니다.
- 지원: 무료 버전에서는 공식적인 지원이 제한적일 수 있습니다.
Make (Integromat)
특징
- 클라우드 기반: Make는 클라우드 기반 서비스로, 설치나 유지보수가 필요 없습니다.
- 사용자 친화적: 사용자 인터페이스가 직관적이고 쉽게 사용할 수 있도록 설계되어 있습니다.
- 강력한 통합: 1000개 이상의 애플리케이션과의 통합을 지원하며, API 호출과 웹훅을 통한 고급 기능도 제공합니다.
- 시각적 빌더: Make의 시각적 빌더를 통해 복잡한 워크플로우도 쉽게 설계할 수 있습니다.
- 에러 처리: 워크플로우에서 발생하는 에러를 자동으로 처리하고, 알림을 통해 사용자에게 알려줍니다.
단점
- 비용: 무료 플랜이 제한적이며, 고급 기능을 사용하려면 유료 플랜을 구독해야 합니다.
- 프라이버시: 클라우드 기반이므로, 데이터 프라이버시와 보안에 대한 우려가 있을 수 있습니다.
비교표
기능/특징 | n8n | Make (Integromat) |
---|---|---|
배포 방식 | 자체 호스팅, 클라우드 | 클라우드 기반 |
오픈 소스 여부 | 오픈 소스 | 비 오픈 소스 |
통합 가능 서비스 수 | 다수 (플러그인 추가 가능) | 1000+ |
사용자 인터페이스 | 드래그 앤 드롭 기반 시각적 빌더 | 드래그 앤 드롭 기반 시각적 빌더 |
커스텀 노드 지원 | 지원 | 제한적 (웹훅, API 사용) |
초기 설정/유지보수 | 사용자에 따라 다름 (서버 설정 필요) | 없음 (클라우드에서 자동 관리) |
비용 | 기본 무료 (엔터프라이즈 유료) | 제한적 무료, 고급 기능은 유료 |
데이터 프라이버시 | 사용자 통제 가능 | 클라우드 기반으로 제한적 |
에러 처리 | 기본적인 에러 처리 제공 | 고급 에러 처리 및 알림 |
n8n과 Make는 각각의 장단점이 있어, 사용자의 요구사항과 환경에 따라 선택이 달라질 수 있습니다. 만약 자체 호스팅과 데이터 통제가 중요한 경우 n8n이 더 적합할 수 있으며, 손쉬운 사용과 클라우드 기반의 간편함이 중요한 경우 Make가 더 나은 선택일 수 있습니다. Zapper(현재 Zapier로 알려짐)도 인기 있는 노코드 자동화 도구로, n8n 및 Make와 함께 많이 사용됩니다. 각 도구의 주요 기능과 특징을 비교해보겠습니다.
Zapier
특징
- 클라우드 기반: Zapier는 클라우드 기반 서비스로, 설치나 유지보수가 필요 없습니다.
- 사용자 친화적: 사용자 인터페이스가 직관적이고 쉽게 사용할 수 있도록 설계되어 있습니다.
- 광범위한 통합: 5000개 이상의 애플리케이션과의 통합을 지원합니다.
- 템플릿: 다양한 자동화 템플릿을 제공하여 쉽게 워크플로우를 시작할 수 있습니다.
- 다단계 작업: 복잡한 다단계 작업을 설정할 수 있습니다.
단점
- 비용: 무료 플랜이 제한적이며, 고급 기능을 사용하려면 유료 플랜을 구독해야 합니다.
- 제한된 고급 기능: 고급 기능이나 커스텀 로직 작성에 있어 제약이 있을 수 있습니다.
- 프라이버시: 클라우드 기반이므로, 데이터 프라이버시와 보안에 대한 우려가 있을 수 있습니다.
n8n vs Make (Integromat) vs Zapier 비교
기능/특징 | n8n | Make (Integromat) | Zapier |
---|---|---|---|
배포 방식 | 자체 호스팅, 클라우드 | 클라우드 기반 | 클라우드 기반 |
오픈 소스 여부 | 오픈 소스 | 비 오픈 소스 | 비 오픈 소스 |
통합 가능 서비스 수 | 다수 (플러그인 추가 가능) | 1000+ | 5000+ |
사용자 인터페이스 | 드래그 앤 드롭 기반 시각적 빌더 | 드래그 앤 드롭 기반 시각적 빌더 | 드래그 앤 드롭 기반 시각적 빌더 |
커스텀 노드 지원 | 지원 | 제한적 (웹훅, API 사용) | 제한적 (웹훅, API 사용) |
초기 설정/유지보수 | 사용자에 따라 다름 (서버 설정 필요) | 없음 (클라우드에서 자동 관리) | 없음 (클라우드에서 자동 관리) |
비용 | 기본 무료 (엔터프라이즈 유료) | 제한적 무료, 고급 기능은 유료 | 제한적 무료, 고급 기능은 유료 |
데이터 프라이버시 | 사용자 통제 가능 | 클라우드 기반으로 제한적 | 클라우드 기반으로 제한적 |
에러 처리 | 기본적인 에러 처리 제공 | 고급 에러 처리 및 알림 | 고급 에러 처리 및 알림 |
템플릿 제공 | 제한적 | 제한적 | 광범위한 템플릿 제공 |
- n8n: 높은 유연성, 오픈 소스, 자체 호스팅이 가능한 사용자에게 적합합니다.
- Make (Integromat): 강력한 클라우드 기반 자동화 도구로, 고급 에러 처리와 다양한 통합을 제공합니다.
- Zapier: 가장 많은 통합을 제공하며, 사용자 친화적이고 쉽게 시작할 수 있는 템플릿이 풍부합니다.
각 도구는 고유의 장단점이 있으므로, 조직의 요구사항, 데이터 보안, 예산 등을 고려하여 가장 적합한 도구를 선택하는 것이 중요합니다.
댓글