현재 만드는 사이트내에 슬랙 (https://slack.com/) 과 같은 팀 실시간 채팅 기능 (디스코드와 비슷하게 특정 해시태그 관련 해서 채팅방에서 실시간으로 채팅)을 외주를 맡겨서 추가하고 싶은데 어떤 기술을 사용해서 만드는게 나을까요? 아니면 이런 비슷한 팀채팅이 오픈소스로 많은데 오픈소스(zulip 등)로 시작하는게 시간,금전적으로 유리할까요?
외주를 주신다고 해도 결국은 오픈소스를 이용해서 채팅을 구현하게 될 것 같습니다.
즉, 채팅 서버를 직접 구현하는 오픈 소스를 사용하느냐, 말씀하신 Zulip같은 업체에서 제공하는 오픈 소스를 사용하느냐의 차이인 것 같습니다.
먼저, 채팅 서버를 직접 구현하는 경우,
socket.io 같은 기술을 이용하여 채팅 서버를 구현하는 방법 등이 있겠습니다만,
채팅 클라이언트나 UI도 직접 만들어야 하고 서버의 관리도 직접 해야합니다.
물론 관리할 수 있는 능력만 있다면 직접 관리하면서 원하는 기능을 만들면 되긴 합니다.
그런데 socket.io를 이용하는 오픈 소스들이 말 그대로 오픈 소스인지라
괜찮은 오픈 소스를 찾으려면 시간이 좀 걸릴 수 있습니다.
Zulip 같은 서비스를 이용한다면
서버를 구축하지 않고 API만 이용해서 만드는 방법과, Zulip 오픈 소스 서버를 받아서 서버도 직접 만드는 방법이 있는데요,
서버를 구축하지 않고 API만 이용하는 경우
서버를 관리할 필요도 없고, 관련된 오픈 소스도 많이 제공하기 때문에
처음부터 그럴싸한 채팅 서비스를 올리기에 좋을 것 같습니다.
게다가 여기서의 오픈 소스는 Zulip이라는 업체에서 제공하는 소스이기 때문에
어느 정도의 괜찮은 품질이 있는 소스라고 보시면 될 것 같습니다.
다만 외부 서비스이기 때문에 서비스적으로 종속될 수도 있다는 것인데
다시 말해 외부 서비스가 지원하는 범위 안에서만 기능을 사용해야 하고,
해당 서비스에 문제가 생기는 경우(속도가 느려진다든가, 접속이 안된다는가 등) 직접 컨트롤 할 수 없으며
간혹 유료 서비스로 전환되면 금전적 지출이 발생할 수도 있을 것입니다.
이 문제가 고민이라면 Zulip의 오픈 소스 서버를 직접 받아서 만들어 올리는 방법이 있긴 한데
서버를 올리고 관리하는 과정이 생각보다 간단하지는 않을 수도 있습니다.
(클라우드용으로 사용하는 서버인지라 필요 이상으로 무겁고 기능이 많을 수 있기 때문입니다)
말씀하신 상황을 제가 대략적으로 예상하고 살펴보았을 때는
일단은 Zulip 채팅 서비스의 API만 이용하여 채팅을 만드는 것도 괜찮은 방법이신 것 같습니다.
요즘은 이런 API 방식의 서비스 품질이 좋아져서 문제가 생기는 경우가 드물기도 하고
서비스가 제공하는 기능이나 소스들도 많기 때문에 처음부터 만드는 것보다 좀 더 수월하게 만들 수 있는 것 같습니다.
요컨대, 만드시는 서비스가 대형 프로젝트가 아니고
채팅 기능에 특별히 커스터마이징이 필요하지 않다면
서버 구축 필요 없이 Zulip API를 이용하는 오픈 소스로 만드는 것도 괜찮은 선택이라고 보여집니다.
원하시는 답변이 되었는지 모르겠습니다만
또 궁금하시거나 설명이 필요한 것들이 있으시면 언제든지 질문 남겨주시기 바랍니다~
외주를 주신다고 해도 결국은 오픈소스를 이용해서 채팅을 구현하게 될 것 같습니다.
즉, 채팅 서버를 직접 구현하는 오픈 소스를 사용하느냐, 말씀하신 Zulip같은 업체에서 제공하는 오픈 소스를 사용하느냐의 차이인 것 같습니다.
먼저, 채팅 서버를 직접 구현하는 경우,
socket.io 같은 기술을 이용하여 채팅 서버를 구현하는 방법 등이 있겠습니다만,
채팅 클라이언트나 UI도 직접 만들어야 하고 서버의 관리도 직접 해야합니다.
물론 관리할 수 있는 능력만 있다면 직접 관리하면서 원하는 기능을 만들면 되긴 합니다.
그런데 socket.io를 이용하는 오픈 소스들이 말 그대로 오픈 소스인지라
괜찮은 오픈 소스를 찾으려면 시간이 좀 걸릴 수 있습니다.
Zulip 같은 서비스를 이용한다면
서버를 구축하지 않고 API만 이용해서 만드는 방법과, Zulip 오픈 소스 서버를 받아서 서버도 직접 만드는 방법이 있는데요,
서버를 구축하지 않고 API만 이용하는 경우
서버를 관리할 필요도 없고, 관련된 오픈 소스도 많이 제공하기 때문에
처음부터 그럴싸한 채팅 서비스를 올리기에 좋을 것 같습니다.
게다가 여기서의 오픈 소스는 Zulip이라는 업체에서 제공하는 소스이기 때문에
어느 정도의 괜찮은 품질이 있는 소스라고 보시면 될 것 같습니다.
다만 외부 서비스이기 때문에 서비스적으로 종속될 수도 있다는 것인데
다시 말해 외부 서비스가 지원하는 범위 안에서만 기능을 사용해야 하고,
해당 서비스에 문제가 생기는 경우(속도가 느려진다든가, 접속이 안된다는가 등) 직접 컨트롤 할 수 없으며
간혹 유료 서비스로 전환되면 금전적 지출이 발생할 수도 있을 것입니다.
이 문제가 고민이라면 Zulip의 오픈 소스 서버를 직접 받아서 만들어 올리는 방법이 있긴 한데
서버를 올리고 관리하는 과정이 생각보다 간단하지는 않을 수도 있습니다.
(클라우드용으로 사용하는 서버인지라 필요 이상으로 무겁고 기능이 많을 수 있기 때문입니다)
말씀하신 상황을 제가 대략적으로 예상하고 살펴보았을 때는
일단은 Zulip 채팅 서비스의 API만 이용하여 채팅을 만드는 것도 괜찮은 방법이신 것 같습니다.
요즘은 이런 API 방식의 서비스 품질이 좋아져서 문제가 생기는 경우가 드물기도 하고
서비스가 제공하는 기능이나 소스들도 많기 때문에 처음부터 만드는 것보다 좀 더 수월하게 만들 수 있는 것 같습니다.
요컨대, 만드시는 서비스가 대형 프로젝트가 아니고
채팅 기능에 특별히 커스터마이징이 필요하지 않다면
서버 구축 필요 없이 Zulip API를 이용하는 오픈 소스로 만드는 것도 괜찮은 선택이라고 보여집니다.
원하시는 답변이 되었는지 모르겠습니다만
또 궁금하시거나 설명이 필요한 것들이 있으시면 언제든지 질문 남겨주시기 바랍니다~