👽

Dev Div.

어떤 사업인가요?

🔥
Dev. 부문은 각 사업부와 연합해 태그바이 프로덕트를 기획하고 만들고 있는 조직입니다.
Dev. 조직은 태그바이의 비즈니스를 성공시키기 위한 프로덕트를 만들어 내는 곳으로 독립 사업조직은 아니지만 모든 사업의 이니셔티브를 가져가는 핵심조직입니다.

태그바이 플랫폼과 다수의 마이크로 서비스를 개발합니다.

우리는 인플루언서 컨텐츠 마케팅을 위한 핵심 서비스인 "태그바이"와 이를 중심으로 한 다양한 마이크로 서비스들을 개발합니다. 태그바이는 마케터 유저가 이용하는 Web 서비스와 인플루언서 유저가 이용하는 App. 으로 구성됩니다. 또한 그외에도 여러 비즈니스 링크를 관리하게 해주는 "TAGby Link", 소셜미디어 공동구매 검색서비스 "TAGby Hotdeal", 소셜미디어 관리자, 해시태그 분석 서비스 등이 제공되고 있습니다.
태그바이 1.0 은 빠른 구현을 목적으로 개발되었으며 플랫폼에 구현된 기능이 매우 많고 영역이 넓습니다. PHP를 기반으로 반응형 HTML/CSS 와 Javascript/Jquery 로 구성되어 있습니다. 로드밸런서로 다중구성 된 AWS EC2에서 Apache로 웹서버를 구동하고 있으며 데이터베이스는 AWS Aurora(MySQL)을 사용하고 있습니다. 동일한 소스코드 베이스로 한국과 태국에 서비스 되고 있습니다.
태그바이 2.0 의 경우 FrontEnd는 vue.js를 기반으로 SPA(Single Page Application) SSR(Server Side Rendering) 형태의 서비스로 운영될 예정입니다. Type Script 와 Composition API를 도입하여 원활한 협업과 효과적인 유지보수도 수행 가능할 것입니다.
BackEnd는 추후 데이터 처리 및 활용이 많아질 것을 대비하여 파이썬을 메인 랭귀지로 선택했습니다. API서버는 각각 수행하는 작업에 따라 Django, Flask, fastAPI 등의 Framework를 사용할 것입니다. 웹서버 및 인터페이스는 Nginx 와 gunicorn으로 구성되어 있으며, uvicorn으로 비동기처리가 가능한 웹서버도 구성되어 있습니다.
기능별 모듈화가 가능한 것들은 MSA(Microservices Architecture)로 운영됩니다. 대표적으로 SNS 엔진이 있습니다. 이 SNS엔진은 인플루언서가 제공한 인증토큰과 비즈니스 API를 최대한 활용하여 수집 가능한 SNS 데이터를 수집합니다. API를 통해 가져올수 없는 데이터에 대응하기 위해서 크롤링 서버를 별도로 운영하고 있습니다. 페이지 크롤링의 결과물을 안정적으로 전달 받을 수 있도록 프록시 구성을 하고, 서비스 변화(업데이트)에 대응하도록 Document의 데이터 구조를 확인해, 정형화 된 데이터로 전처리 과정을 거쳐 return 하는 역할을 합니다.
AWS SQS를 기반으로 Message Que를 관리하고 있으며 다중화 된 인스턴스가 Consumer로서의 병렬작업을 수행합니다. 시스템 자원을 최대한 활용하도록 Docker Container를 구성했으며 처리량과 부하에 따라 인스턴스도 Scale Up/Down 가동하도록 준비되어 있습니다.
Job Scheduler는 Airflow 로 구성되어 있습니다. Airflow는 데이터처리 파이프라인을 목적으로 사용하는 오픈소스입니다. 그 역할은 물론이고 주기적인 Job Task 관리가 매우 편리하게 구성되었습니다. 기존에 일일히 cronJob으로 프로세스를 올리는 과정을 DevOps화 하기 위함입니다.
인플루언서가 사용할 앱은 크로스플랫폼 Flutter를 이용해 개발중이며, 안드로이드/iOS 유저 모두에게 동일한 사용자 경험을 제공할 수 있고 적은 개발인력으로 빠르게 개발이 가능합니다. 크로스플랫폼 라이브러리지만 네이티브와 구분이 어려울 정도로 강력한 퍼포먼스를 제공할 것입니다.
1.0의 태국진출 경험으로, Globalization 해야할 부분, Localization 해야 할 부분에 대하여 초기부터 구조화 되어있어 글로벌 진출 시 해당 국가에 맞춰 플랫폼을 빠르게 서비스할 수 있습니다.
보안/운영 태그바이의 보안과 운영은 무중단 서비스를 원칙으로 운영되고 있습니다. 기본적으로 모든 서비스는 LoadBalancing 및 Failover를 위해 AWS EC2에서 서로 다른 zone으로 2중화되어 구성되어 있습니다. 인스턴스 2중화 → 컨테이너 2중화로 최소 4개 이상으로 어플리케이션이 구성됩니다. 배포 시에는 Compile/Run 에 구동되는 시간에서도 서비스 지속을 위해 Blue-Green 배포방식으로 구성하였습니다.
데이터베이스 역시 Replication DB 동시 운영으로 2중화 되어 있으며 장애 시 즉시 스위칭이 가능하도록 Failover가 구성되어 있습니다. 또한 주기적으로 백업하여 S3에 저장되고 있으며 수분 내에 원하는 시점으로 복구가 가능합니다.
DB 및 S3 리소스는 접근 정보나 활용도를 기반으로 주기적으로 아카이빙 처리됩니다.
보안취약점에 대한 대응은 물론이고, 기본적으로 외부의 접근을 차단하기 위한 Network Architecture를 설계하였습니다. Security Group으로 각 인스턴스의 역할을 수행할 수 있도로 최소한의 포트만이 열려있고, 데이터베이스 등 인스턴스 이외의 모든 자원은 VPC로 구성 된 내부망을 통해서만 접근이 가능합니다. 개발자도 ID/PW 접근을 허용하지 않고 제한 된 WhiteList 안에서 ssh key로만 접근이 가능합니다.
카드/계좌/개인정보 등 민감성 정보는 모두 암호화하여 저장되고 있으며, S3로 이미지도 신분증 등의 민감한 개인정보 접근권한을 엄격하게 관리하고 있으며 기본적으로 생애주기를 설정하여 혹시 모를 관리 누락에서도 위험하지 않도록 철저하게 보안을 지키고 있습니다.
개발자들이 운영에 시간을 많이 소모하지 않고 서비스 구현에만 집중할 수 있게 하기 위해 DevOps에 많은 공을 들이고 있습니다.
CI로는 BuddyWorks를 이용하고 있습니다.
기본적으로 Github Repository 연동 후에는 Coding → PR → Merge(Push) 만으로 개발 배포가 가능하도록 파이프라인을 자동화시켰고, 이 외에도 강력한 편의 기능들로 빌드부터 모니터링까지 가능합니다.
Docker Container 기반으로 어플리케이션이 구동되고 있으며 컨테이너 관리도구 Portainer를 이용하고 있습니다. Web Console Manager를 지원하여 일일히 직접 인스턴스에 접속하여 상태확인 및 명령을 할 필요가 없어 관리가 매우 편리합니다.
그리고 Api Key 나 DB profile 등 민감한 환경변수는 Vault를 통해 관리/배포됩니다. 내부보안의 이슈가 될 수 있는 개발자의 접근권한을 컨트롤 할 수 있으며 개발과정에는 아무런 불편이 없습니다.
모니터링 및 운영에 대해서는 한가지 채널로 정보를 전달 받을 수 있도록 최대한 Slack과 연동하여 알림은 물론 간단한 오퍼레이션까지 가능하도록 ChatOps를 지향하고 있습니다.
대기업 전용 B2B SaaS 대기업 전용 B2B SaaS는 태그바이 플랫폼에 각 기업의 '커버'를 씌워, 기업에서 태그바이의 모든 기능을 직접 이용, 운영할 수 있도록 하는 서비스를 말합니다. 클라우드 SaaS로 기업은 입맛에 맞게 커스터마이징 된 전용 플랫폼을 이용할 수 있고, 기존 태그바이에서 광고주로 활동하는 것보다 더 강력한 관리 기능을 이용할 수 있을 것입니다. 클라우드 기반이기 때문에 별도의 서버구축이나 시간 소요 없이 바로 이용 가능합니다.
인플루언서는 B2B SaaS에서 제일 중요한 핵심자원입니다. 인플루언서가 각각 다른 경로(브랜드)로 진입했더라도 연관성과 시너지를 낼 수 있는 가능성이 존재하기 때문에, 인플루언서의 Pool은 넓을수록 좋습니다. 태그바이의 회원 및 SNS 정보, 수행한 캠페인 및 평가 정보 등 인플루언서와 관련된 데이터는 B2B SaaS 플랫폼 전체에 공유 됩니다. 인플루언서의 컨텐츠 퀄리티 및 평가 정보, 성과의 통계정보도 공유되기 때문에 초기부터 효율적인 캠페인 진행이 가능할 것입니다.
디자인 커스터마이징도 가능합니다. 브랜드 전용관으로 보이는 사용자 경험을 인플루언서에게 제공하기 위해, 디자인 스킨을 각 기업에 맞게 커스터마이징 할 수 있도록 제공하고 있습니다. 태그바이1.0을 기반으로 한 아모레퍼시픽과 GS의 SaaS 서비스 구축 경험을 토대로, 전용 플랫폼으로서 브랜드 아이덴티티를 표현할 수 있는 영역을 구분 지어 디자인하였습니다.

어떤 비전을 가지고 있나요?

현직 개발자와 지망생들 사이에서 대한민국 열손가락 안에 꼽히는 개발조직이 되는 것

태그바이 개발조직은 서비스의 목표를 달성하는 것은 기본이고, 현직 개발자와 지망생들 사이에서 열손가락 안에 꼽히는 개발조직이 되는 것을 목표로 팀문화와 기술을 탄탄하게 다져가고 있습니다.
현재 태그바이 개발조직은 높은 가능성이 내재된 인재만이 함께할 수 있습니다. 정기적이고 체계적인 코칭을 기반으로, 신입 직원들도 1년 안에 2~3년차 개발자 이상의 역량으로 성장하고 있습니다. 향후 2년 안에는 이런 동료들에 걸맞게 우수한 역량을 지니고 또 높은 성과를 내는 분들만이 함께할 수 있는 조직으로 발돋움 할 계획입니다.
또한 본인이 원한다면 정형화된 포지션이 아닌 보유한 역량이나 관심사를 기준으로 백엔드 + ML엔지니어, 프로덕트 매니저 + 데이터 분석가 같은 하이브리드 포지션이 될 수 있는 것은 태그바이 개발조직으로서 누릴 수 있는 큰 장점입니다.
습득의 과정과 성과의 실현은 본인의 노력이지만, 개발조직에서는 팀원들의 빠른 성장을 위해 다음과 같은 노력을 하고 있습니다.
기술적 호기심을 현업에 최대한 활용할 수 있도록 조율합니다.
성장이 정체되지 않도록 기술 목표점을 지속적으로 상향시켜 동기를 부여합니다.
시행착오를 줄이기 위해 유연성과 안정성 퍼포먼스를 높이는 노하우를 코칭합니다.
개인 커리어 관리를 위한 상담을 돕습니다.

체계적이고 방대한 데이터 웨어하우스 구축을 시작으로 글로벌 서비스 기반을 다지는 것

빅데이터는 태그바이가 영위해 나갈 모든 사업에서 밑거름이 될 중요한 자산입니다. 각종 SNS 플랫폼에서 블라인드 되어 있는 데이터를 최대한 이끌어 내고, 태그바이에서 집행해 온 수많은 캠페인 통계가 이에 혼합되어 강력한 인사이트를 제공합니다.
현재 태그바이에서 활용하는 데이터는 많지만 데이터베이스에 저장되는 양은 약 30% 수준입니다. 따라서 더 체계적이고 방대한 데이터웨어하우스(DW)를 구축하는 것이 단기적인 목표입니다. 이러한 자원은 추후 글로벌 스케일로 통합 관리될 것입니다. 물론 인플루언서의 활동은 사생활 및 개인정보가 연관될 수 있기 때문에 통계나 데이터로서 2차 활용되도록 하여 개인정보보호에도 민감하게 대응할 것입니다.
이후에는 포스팅과 코멘트를 자연어처리(NLP)하거나, 영상 썸네일이나 사진 등은 Vision AI 를 통해 데이터 라벨링 할 수 있는 머신러닝기술을 적극 활용할 예정입니다.

어떤 성과를 이루었나요?

소셜미디어 빅데이터를 활용한 정교한 인플루언서 분석 시스템

태그바이의 핵심기술은 인플루언서의 소셜미디어 데이터 분석입니다. 빠른 속도로 변화하는 각 소셜 미디어 API에 대응하고, 인플루언서 데이터에 특화된 크롤링 엔진을 통해 데이터 마이닝을 안정적으로 자동화했습니다. 이러한 방대한 데이터 양과 분석엔진을 통해 높은 효율과 타겟 최적화된 인플루언서의 추천 및 매칭을 제공하고 있습니다.
태그바이 2.0에는 더욱 고도화된 데이터 웨어하우스를 구축해 방대한 소셜미디어 컨텐츠 데이터를 시계열로 저장해 고도화된 빅데이터 분석이 제공됩니다. 이를 통해 소셜버즈, 트렌드 분석 등 인플루언서를 넘어선 영역까지도 마케팅에 활용이 가능합니다.

우수한 보안과 안정성을 위한 견고한 암호화 인프라 시스템

태그바이는 보안과 안정성 개발에 투자를 많이 하고 있는 비즈니스 SaaS입니다.
서비스 내 민감 정보는 모두 암호화해 저장되며, 복호화에 필요한 Key는 별도로 배포됩니다. 또한 만에 하나 데이터베이스가 탈취되더라도 2차 활용이 불가능하도록 인프라가 설계되어 있습니다.
서버와 데이터베이스는 서로 인가되고 용도가 맞는 경우에만 접근이 가능하며, 웹서버의 경우 지정된 포트이외에는 접근 자체가 불가능합니다. 데이터베이스와 서버는 이중화 되어 있으며 실시간 복구 및 전환이 가능하도록 설계되어 있습니다.

집요한 사용자 연구를 통한 최적의 UX제공

태그바이는 마케터와 인플루언서 두가지의 유저 타입을 보유한 서비스입니다. 서비스 기획단계에서부터 마케터와 인플루언서의 입장을 대변하는 토론으로 두 유저를 모두 만족할 수 있는 최적의 사용환경을 만들어 내고 있습니다. 특히 IT에 익숙하지 않은 유저의 특성에 기인해 태그바이는 쾌적하고 편리한 UX를 위해 끊임없이 분석하고 개선해 나가고 있습니다. UX 개선을 위해 Survey 및 인간심리 분석뿐만 아니라 각 기능과 요소들의 로그를 분석한 데이터를 같이 활용하고 있습니다.

글로벌 확장에 최적화된 서비스

태그바이는 글로벌 원소스로 개발되어 로컬 진출에 최적화된 구조를 갖고 있습니다. 태국에 서비스를 런칭하면서 얻은 경험으로 Localization과 Internationalization이 구분된 모듈로 개발되어 어느 나라에 비즈니스가 진출되더라도 빠르게 시스템이 반영될 수 있습니다.

어떻게 일을 하나요?

주 1회의 업무회의와 비정기적인 미팅

주 1회의 업무 회의에서는 태스크의 진행상황을 확인하고, 병목 제거, 우선순위 설정, 팀 또는 회사의 주요 아젠다 공유 등이 이루어집니다.
자율적이고 효율적인 업무문화를 존중하기 위해 정기적인 데일리미팅은 하지 않고 주로 주제가 생겼을 때 비정기적으로 미팅을 하고 있습니다.

효율적인 업무를 위한 툴 사용 : 노션, 슬랙

노션 : 태스크 관리, 문서화의 용도로 많이 사용합니다.
업무에 대한 사소한 논의나 질문들이 멘션으로 활발하게 일어나고 있습니다.
작은 업무들은 노션에 To-do로 쌓아두고, 1차적으로 각 팀원이 자율적으로 태스크를 선정하여 진행하고 있습니다.
중장기 업무의 경우 평소 관심사나 역량에 맞춰 배분되고 있습니다.
슬랙 : DevOps에 적극적으로 활용 중입니다.
기본적으로 커뮤니케이션 용도로 활용되는 도구이지만, 개발조직에서는 GitHub 활동내역, 배포 과정, 스케쥴러 작업 실행결과, 에러로그, 디버깅 로그 등을 기록하는 데 활용 중입니다.
Bot과 Webhook을 이용해서 여러 관리툴에 접속하지 않고 슬랙에서 대부분 관제를 하고 있습니다.
앞으로는 ChatOps화 해서 '보는 것' 뿐 아니라 간단한 명령과 실행까지 처리하도록 준비하고 있습니다.

팀원의 기술 역량을 강화하기 위한 발표, 클래스 활동

새로운 트러블슈팅, 기술스택의 도입과정이나 리서치 내용 등의 경험을 발표합니다.
매번 다른 주제로 기술역량을 강화하는 클래스를 열고 있습니다.

Contact

dev@tagby.kr