재피어 전격해부

아웃코드팀이 상당히 자주 받는 질문인데요, 주로 비개발자 분들이라서 기술적인 차이점을 정확하게 모르시는 것 같아서 올립니다.

Disclaimer1: 아웃코드팀 자체 테스트 결과이며, 일반 사용자를 위한 가이드 성격의 테스트입니다. 테스트 조건이나 상황에 따라 다를 수 있습니다.

Disclaimer2: 아웃코드팀 내부 의견이며 객관적으로 검증받지 않았습니다. 의견에 대한 정합성 보장은 하지 않습니다.

업무 자동화나 데이터 자동화를 선택하시는 분들이 늘고 있습니다. 아래는 올바른 선택을 위한 사용자 가이드를 위해서 작성되었습니다.

벤치마크의 범위는 기업이나 운영업무에 필요한 데이터를 자동화하는데 적합한지 여부와 성능에 대해서 테스트를 해보았습니다. 아래의 몇가지 기준으로 아웃코드팀이 자체 테스트를 실시하였습니다.

  1. 구동 방식 (아웃코드 대 재피어)
  2. 데이터 처리방식 (아웃코드 대 재피어)
  3. 정합성 여부 (아웃코드 대 재피어)

아웃코드의 실행 방식은 연결되는 앱들과 독립된 구조를 가지고 있습니다. 아웃코드가 제공하는 트리거는 소프트웨어 개발과 데이터 정합성 측면에서 정확하게 작동하기 위해서 독립적으로 작동하며, 수동/스케줄/HTTP 요청(웹훅)으로 구동합니다.

이러한 방식은 아웃코드의 특징으로 사용자가 이벤트가 아니라 전체 데이터를 접근해서 사용자가 보면서 원하는대로 자동화에 활용하게 되어 있습니다.

반면, 재피어는 구동방식은 독특합니다. 자동화를 Zap이라고 부르는데, 구동방식은 이벤트 트리거가 실행되면 순차적으로 Zap 실행되는 플로우 구조입니다.

이벤트 트리거는 “새로운 열이 추가되었을때"와 같이 연결되는 앱 상에서 이벤트를 기준으로 시작으로 합니다. 아래에서 보면 앱을 선택하고 앱의 특정한 이벤트를 설정하는 구조입니다.

두 번째 업데이트 주기입니다. 기본적으로 15분 간격으로 실행시키며, 팀 요금제 이상이 되어야만 1분단위로 이벤트를 감지합니다.

이러한 방식은 선뜻 편리하게 보이지만, 데이터의 관점에서는 문제가 발생할 수 있습니다. 즉, 새로운 열이 추가되었다는 정보를 정확하게 감지해야만 하는데 오류가 발생할 가능성이 있습니다.

자체 테스트를 해본 결과, 데이터가 순차적으로 업데이트나 변동없이 증가만하는 경우에는 정상 작동했지만, 15분 뒤에 확인해본 결과 아래와 같은 경우에 오류가 주로 발생했습니다.

  1. 트리거 테스트를 위해서 새로운 열을 추가한 경우: 트리거가 새로운 열을 정확하게 찾지 못하는 경우가 발생합니다.
  2. 데이터가 업데이트된 경우 (열을 몇 개를 지우고 다시 추가한 경우)에 정상작동하지 않았습니다.

(위의 어떤 경우에도 Warning은 뜨지 않았습니다. 그리고 Zap limit가 넘어가는 경우 실행을 자동중단합니다.)

데이터베이스는 프리미엄 커넥터라서 연결하지 못했지만, 재피어 커뮤니티에서 트리거 오류가 발생하는 질문들이 많고, 답변은 가이드를 참조해라는 수준이라서 정확한 해결책은 찾지 못했습니다. (엉뚱한 사용자에게 메일을 잘 못보냈다는 케이스 등)

재피어에서 new data를 식별하는 방법이 나와있는데요, 어떻게 동작하는지 기술적인 설명이 거의 없어서 다시 찾아보았습니다. 결론은 구글시트나 데이터베이스, 앱에 따라서 식별자를 주지 않는 경우가 많기 때문에 정상적으로 구분할 수 있는 방법은 없고, 가능한 추정은 열의 숫자를 단순 카운딩 등의 방법으로 처리하는 것 같습니다.

두 번째로 데이터 처리 방식을 보면 재피어는 복수의 데이터를 처리할 수 없습니다. 재피어 이벤트 트리거를 보면 데이터가 중심이 아니라 이벤트가 중심입니다. 예를 들어, 데이터소스에서 100개의 데이터를 받아서 실행할 수는 없고, 오직 새로운 하나의 단일 데이터만 구동할 수 있습니다.

예를 들어, 재피어는 단일 이벤트가 발생하고 해당 단일 이벤트 정보만 다른 단일 이벤트로 넘겨서 구동시키는 경우, 유용할 수는 있지만 그 외의 경우에는 적합하지 않습니다.

아웃코드는 데이터를 식별하는 방법이 필터입니다. 데이터 전체를 읽어서 일자나 시간, 식별자, 이름, 비율 등 다양하게 필터링하고 해당 조건에 일치하는 데이터만 정확하게 실행시킬 수 있습니다.

예를들어, 스케줄을 5분간격으로 설정하고 필터링된 데이터(전체 데이터에서 사용자가 설정한 조건으로 필터링합니다. 신규, 업데이트는 물론 열별로 다양한 조건으로 설정가능합니다. )만 실행되도록 할 수 있습니다.

데이터 정합성은 데이터가 서로 모순 없이 일관되게 일치해야 함을 의미합니다. 기업이나 단체의 데이터를 자동처리하는 솔루션 입장에서는 오류가 있거나 정상 구동되는 경우가 없어야만 합니다.

특히 회사의 운영 데이터를 처리하는 과정에서 위와같은 정합성에 모순이 생기는 경우, 문제가 발생할 수 있으며 돌이킬 수 없는 부정적인 결과를 초래하기도 합니다.

아웃코드의 경우, 베타테스트와 상용화에서 데이터 처리 실패율이 아직까지는 0%입니다. 수백만건의 데이터를 안정적으로 자동처리하고 있습니다.

재피어의 강점은 수천개에 달하는 앱의 이벤트를 코딩없이 연결하는데 있는 것 같습니다. 이러한 특징은 장점이 될 수 있습니다. 반면 데이터를 통합하고 연동하는데는 적합하지는 않은 것 같습니다.

또한, 팀원간의 협업 기능이 약하고 데이터를 직접 제어하거나, 내부 시스템과 연동하기는 어렵습니다. 가격적인 측면에서는 요금제가 복잡한데 Pro 요금제 기준으로 실행당 약 30원으로 적지 않은 금액입니다.

결론적으로 재피어는 데이터의 발생빈도나 양이 매우 적은 수준에서 간단하게 자동화된 이벤트 데이터를 자동처리할 수 있지만, 데이터의 발생빈도나 양이 많거나, 실시간으로 자동처리해야하는 경우, 미션 크리티컬(Mission Critical)한 경우에는 최적의 선택이 아닐 수 있습니다.

감사합ㄹ다