Socket Mode(소켓 모드)는 회사의 방화벽 뒤에서 강력한 Slack 통합 앱을 안전하게 구축할 수 있도록 해 주고 Events API와 블록 키트, 워크플로 빌더 등 플랫폼의 강력한 대화식 기능에 대한 액세스를 제공합니다.
오늘날 수백만 명의 일일 활성 사용자들이 Slack에서 작업하며 엄청난 가치를 누립니다. 개발자에게 이는 Slack이 성장함에 따라 비즈니스에 중요한 앱 통합을 통해 팀이 협업하는 방식을 개선하겠다는 Slack의 목표를 함께 나누며 여러분도 함께 성장한다는 뜻입니다.
Socket Mode에서 누릴 수 있는 기능
Socket Mode에서는 추가적인 인프라 관리 없이 쉽고 안전하게 앱을 구축할 수 있습니다.
이전에는 누구든 Slack 플랫폼을 사용하여 HTTP로 메시지와 기타 데이터를 주고받으며 오픈 웹의 표준과 프로토콜을 기반으로 앱을 구축할 수 있었습니다. 그리고 이를 위해 특별한 도구나 소프트웨어가 필요하지 않았습니다. 기본적으로 모든 Slack 앱이 웹 앱이었으니까요.
하지만 자신의 앱을 온프레미스나 방화벽 뒤에서 호스팅하는 경우 Slack과의 통합에 어려움을 일으켰으며, 특히 제한적인 환경에서 Slack API 데이터를 앱으로 보낼 때 문제가 되었습니다.
일부 고객은 인터넷에서 그들의 네트워크로 패킷을 안전하게 전송하기 위해 프록시를 구축했습니다. 다른 고객은 RTM API를 사용해 WebSocket 연결을 생성했지만, RTM 스트림은 기본적으로 메시지 데이터를 포함하며 Events, 블록 키트, 단축키와 같은 다양한 플랫폼 기능을 지원하지 않습니다.
Dell Technologies의 소프트웨어 엔지니어인 Bob Bell에게 Socket Mode를 사용한다는 것은 추가 소프트웨어 계층을 관리하지 않아도 된다는 뜻입니다.
“저희는 Socket Mode를 통해 설치에 코디네이션이 필요한 L7 프록시를 대체했습니다.”라고 Bell이 말합니다. “Socket Mode를 사용하면 바로 Slack 앱 코드를 작성할 수 있습니다.”
로컬 개발 후, 어디서나 배포
Socket Mode는 기존 앱이나 신규 앱 모두를 연결할 수 있습니다. 또한 배포 방법에 상관없이 로직과 페이로드가 동일합니다.
저희는 종종 ngrok과 같은 도구로 로컬 개발을 관리할 것을 권장합니다. 이제 여러분은 Socket Mode를 활성화하고, 로컬 머신에서 연결하고, 앱 로직을 구축한 다음 웹 서버에 배포하고 다시 HTTP로 전환할 수 있습니다.
앱은 배포 프로토콜로 WebSocket이나 HTTP를 선택할 수 있습니다. 이는 언제든 앱을 위해 전환될 수 있는 이진 스위치이며 필요한 경우 재전환될 수 있습니다. 사용자의 앱은 HTTP 또는 WebSocket을 다룰 수 있으면 됩니다.
Socket Mode를 활성화하면 보안 WebSocket 연결을 구축해 앱과 Slack을 연결할 수 있습니다. 이렇게 하면 Slack에서 HTTP로 아무것도 전송하지 않고 이 WebSocket을 사용해 사용자의 앱으로 항목을 배포할 수 있습니다.
Bolt를 통해 더 나은 구축 환경
Socket Mode를 활성화하고 나면 사용자의 앱에는 WebSocket만 연결되면 됩니다. 새로운 독점 프로토콜이나 맞춤화된 SDK가 필요하지 않습니다. 전부 업계 표준이죠.
Slack의 SDK와 Slack 중심의 앱 구축 프레임워크인 Bolt를 통해 JavaScript, Java 및 Python으로 소켓 모드가 지원됩니다. Bolt를 사용하여 기존 또는 신규 앱에 몇 줄의 새로운 코드를 추가하는 것만으로 Socket Mode를 활성화할 수 있습니다.
SDK 없이 앱을 개발한다고 해서 걱정할 필요는 없습니다. 개발 과정을 도와주는 빠른 구현 가이드가 있습니다.
Socket Mode로 앱 개발 시작하기
Socket Mode에서 앱을 개발하려면 몇몇 핵심 개념과 새로운 앱 토큰, 연관된 예제 코드를 소개하는 Slack의 API 문서를 참고하세요.
보다 실질적인 지원이 필요하신가요? 언제든 웹 소켓으로 앱을 개발하는 방법에 대해 설명하는 Slack 웹 세미나를 시청하며 빠르게 개발할 수 있습니다.
저희는 모든 곳에서 새로운 종류의 Slack 앱이 호스팅 되기를 기대하고 있습니다. 즐겁게 개발하세요!
Slack은 여러분의 질문과 피드백을 중요하게 생각합니다. feedback@slack.com으로 이메일을 보내 주세요.