안녕하세요. 실험플랫폼 팀 Data Scientist 이수형입니다. 뱅크샐러드는 실험을 통해 제품을 개선하는 노력이 실제로 사용자에게 더 좋은 경험으로 이어지는지 매일매일 데이터를 통해 검증해나가고 있습니다. 여기서 말하는 실험(A/B Test, Online Controlled Expe…
들어가며 “개발과 운영의 벽을 허물어 더 빨리 더 자주 배포하자” 데브옵스(DevOps)의 핵심 개념을 나타내는 문장입니다. 2020년 소프트웨어 업계 종사자라면 데브옵스의 영향을 직접 혹은 간접적으로라도 받고 있을 것 입니다.(받고 있어야 합니다!) 데브옵스 개념이 등장한 지 10년이…
- blog FE개발자의 성장 스토리 05 : 의존관계를 이용해 구조적 리팩토링 포인트 찾기 안녕하세요, FE플랫폼팀 frey 입니다. 작년 초부터 카카오 i오픈빌더(이하 오픈빌더)의 Front-end 개발을 담당하고 있습니다. 앵귤러(Angular)를 기반으로 개발된 오픈빌더는 많은…
SE팀은 사람인HR에서 제공하는 서비스의 전반적인 인프라 구성/운영/관제를 담당하며 서비스가 안정적으로 운영이 되도록 모니터링을 하기 위해 다양한 오픈소스툴을 활용하거나 필요에 따라 직접 개발하기도 합니다. 이번 포스팅은 IDC 의 서비스트래픽 모니터링을 위해 오랜기간 사용중이던 cac…
2020년과 이후 JavaScript의 동향 - 라이브러리와 프레임워크 1 - 등록일 - 2020.12.21 - | - 코멘트 - 62784 어느 한 프레임워크가 독보적인 위치를 차지하지 않는 상태는 많은 이들에게 희망과 고통을 동시에 안겨준다고 할 수 있습니다. 대체로 3(+1)대 프…
Java는 Hystrix와 Resilience4j, 그렇다면 PHP는?! 저희 파트가 운영하는 도메인은 Spring Boot를 사용하여 MSA로 분리되어 있습니다. MSA를 위한 여러 가지 기법이 존재하는데, 그중에서 서킷브레이커 패턴을 활용하는 방법에 대해 살펴보도록 합시다. 이번에는…
외부 API 장애에 대한 트러블슈팅 경험을 공유드립니다. 프로젝트를 진행하면 API를 활용할 일이 많습니다. 어떻게 해야 API와의 의존성을 줄일 수 있는지 고민해보셨나요? 모든 전말은 1년 전으로 거슬러 올라갑니다. 이야기를 풀기 위해 잠깐 사람인 개발 문화에 대해 소개해드릴게요. 사…
- blog 카카오 서비스의 모든 시스템과 트래픽을 책임지는 ‘인프라팀’ 이야기 카카오 인프라팀은 카카오 서비스의 시스템과 트래픽을 책임지고 관리/운영하고 있는 조직으로 국내 최대 인프라 규모를 자랑하며 최고의 인프라 엔지니어가 함께 하고 있습니다. 모든 장애 상황에 대해 가장 먼저 대…
안녕하세요, 데이터플랫폼셀 김민수입니다. 이번 글은 데이터 분석 라이브러리 개발기 (1)에서 이어지는 <데이터 분석 라이브러리 개발기> 두번째 글입니다. DevPlay Analytics는 PySpark을 활용하여 Amazon S3에 적재된 데이터 분석을 도와주는 파이썬 라이브러리입니다.…
안녕하세요! 저는 데이터플랫폼셀에서 데이터 엔지니어로 일하고 있는 김민수입니다. 데이터플랫폼셀은 데브시스터즈의 모든 데이터가 흐르는 DevPlay Data Platform 을 만드는 팀입니다. 저희는 엔지니어링을 통하여 제품에서 발생하는 여러 가지 로그와 데이터가 잘 흐르도록 하는 일을…
에어브릿지가 직접 개발한 OLAP DB, Luft에 대해 소개합니다. Hyojun Kim — 김효준 @therne 코호트 분석 기능? 코호트 분석은 원하는 유저군 (= 코호트)을 잡아서 해당 유저들의 행동을 분석하는 기법입니다. 예를 들어 "지난 6개월간 우리 앱에서 한달에 10만원 이…
데이터 거버넌스(Data Governance)의 변화 데이터 거버넌스는 데이터 표준 및 정책에 따라 비즈니스 데이터를 생성·변경하고 생성된 데이터의 가용성·유용성·무결성과 보안을 관리하는 프로세스입니다. 많은 조직에서 업무 데이터를 분석한 결과로 비즈니스 의사 결정을 하고 있어 그 중요…
Saramin 형상관리 전환과정을 설명합니다. 사람인 서비스의 형상관리 전환을 위해 IT연구소 내부에서 자발적 지원으로 구성된 TF팀이며 Saramin SVN to Git 이라는 의미를 담고 있습니다. 저희 SSG 팀에서 SVN 에서 GIT으로의 형상관리 전환과정에 대해 공유드리고자 이…
클라우드 컴퓨팅의 대표적인 장점으로 필요에 따라 서비스를 빠르게 확장하거나 축소할 수 있는 유연성을 들 수 있습니다. 오토스케일링(Auto Scaling)은 클라우드의 유연성을 돋보이게 하는 핵심기술로 CPU, 메모리, 디스크, 네트워크 트래픽과 같은 시스템 자원들의 메트릭(Metric…
큰 하나의 데이터베이스(Monolithic)를 여러개의 데이터베이스(MSA)로 구조를 개선하면서 발생하는 이슈에 좀 더 쉽게 대응하기 위하여 MSR을 도입한 사례에 대해서 간략하게 설명하겠습니다. 저희 IT전략팀은 사람인의 계속적인 서비스 확장에 따른 개발 복장성 증가 및 서비스 간 강…
컨테이너 기술의 발전 소프트웨어 인프라를 운영하는 기업에서 컨테이너 기술은 생산성과 효율성을 높일 수 있는 좋은 대안입니다. 2008년 리눅스 컨테이너(Linux Container)가 소개되고 2013년 도커(Docker)가 등장한 이래 컨테이너(Container)는 꾸준히 개량되어 왔…
최예지 | 2020년 11월 04일 | #Product/Biz 제품을 출시하기 전 Product-market fit을 찾거나 사용성을 점검하기 위한 테스트는 꼭 필요한 과정입니다. 새로운 형태의 제품이라면 테스트를 통해 문제를 발견하고 보완하는 과정이 더더욱 중요하죠. 지난 6월, 핑퐁…
1. 프로세스 혁신(Process Innovation, PI/ERP) 이후 기업들의 고민 2000년 이후 국내 기업들은 6-Sigma, TQM(Total Quality Management), Lean Process, Value Stream 등의 경영혁신 활동과 함께 프로세스 혁신(PI/…
AWS WAF 운영에 대한 이야기 안녕하세요. 우아한형제들 정보보안팀에서 근무하고 있는 이주호라고 합니다. 퍼블릭 클라우드 환경에서의 보안을 책임지는 보안팀은 클라우드 환경에서의 보안 수준을 IDC 환경 보안 수준과 동일 또는 그 이상의 수준으로 만드는 데에서 어려움을 겪고 있습니다.…
데브시스터즈는 '데이터'로 대화하고, 결정합니다. 고객을 정확히 이해하고, 최상의 의사를 결정하며, 최고의 경험을 선사하기 위한 모든 해법이 데이터에 있다고 믿기 때문인데요. 이 믿음을 기반으로 함께 일하며 성장해나가는 방식을 우리는 'Data-Driven 문화'라고 부릅니다. 데브시스…
아 엑셀다운로드 개발,,, 쉽고 빠르게 하고 싶다 (feat. 엑셀 다운로드 모듈 개발기) 1. 들어가며 안녕하세요! 정산시스템팀 병아리 개발자 최태현입니다. 최근에 엑셀 다운로드 개발을 편하게 할 수 있는 모듈을 만들게 되었습니다. - 제가 엑셀 다운로드 모듈을 만들게 된 이유는 무엇…
안녕하세요 뱅크샐러드 데이터 파운데이션의 실험 플랫폼 팀 Product Manager 장한솔입니다. 데이터 파운데이션은 뱅크샐러드의 모든 조직이 데이터 기반의 의사결정을 할 수 있도록 인프라와 각 내부 서비스를 구축하고 가이드 하는 조직입니다. 실험 플랫폼 팀은 모든 조직이 가설을 검증…
우리는 불편함을 어떻게 마주하고 있는가 안녕하세요. 신사업부 띠잉셀 박제현입니다. 띠잉 서비스를 개발하면서 어떤 고민을 하며 시스템을 개선했는지, 그리고 그 고민을 해결하는 과정에서 얻은 것은 무엇이었는지 가볍게 공유하고자 합니다. 뭔가 불편하다. 띠잉 서비스는 작년 10월에 오픈했습니…
코로나19의 장기화로 인해 전 세계적으로 경기가 침체되면서 역성장 추세에 있습니다. 심지어 코로나가 종식되더라도 경제적 위기가 지속되고 회복기간이 오래 걸릴 것이라는 전망까지 나오고 있습니다. 따라서, 기업의 재무는 미래의 불확실성과 변동성에 대한 리스크를 관리하는 데 더욱 집중할 것으…
MySQL 환경의 스프링부트에 하이버네이트 배치 설정해 보기 안녕하세요. 배민상품시스템팀 권순규 입니다. 저희팀에서 하이버네이트 배치 설정을 통해 대량 insert/update 시의 속도개선을 경험하여 공유드리고자 합니다. 전체 예제 파일은 github 에서 확인 할 수 있습니다. 하이…
뱅크샐러드는 앱 출시 이후 약 3년의 세월 동안 폭발적인 성장을 겪어왔습니다. 늘어나는 사용자 수 만큼 더 많은 문제를 해결할 수 있는 서비스로 발전해왔고, 이 과정에서 뱅크샐러드의 기술적인 복잡도는 점점 더 높아졌습니다. 여느 빠르게 성장하는 스타트업이 그렇듯, 뱅크샐러드 역시 비즈니…
들어가며 대부분의 기업용 애플리케이션은 하나의 거대한 서비스 형태로 개발되어 왔습니다. 모놀리식 아키텍처(Monolithic Architecture)로 불리는 이 구조는 개발·관리가 용이하다는 장점이 있습니다. 그러나 시스템 규모가 커질 경우 복잡도도 증가해 코드의 이해와 분석이 어려워…
- blog 입사 후 6개월 동안 달라진 것들 - 2020 신입 온보딩 과정 그 후의 이야기 지난 3월, 카카오 개발자로서 첫 걸음을 떼던 Albus, David, Tate 세 분을 만나 두 달간의 신입 개발자 온보딩 과정에 대해 진솔한 이야기를 나누는 자리가 있었습니다. (두 달 간의…
다양한 서비스에 맞춰진 국내 최대 규모의 데이터베이스를 효율적으로 관리하는 경험을 할 수 있는 카카오 DBA Oli의 이야기 안녕하세요. 2020 신입 개발자 블라인드 공채로 입사한 Oli입니다. 컴퓨터공학 전공은 아니나 평소에 다양한 분야에 관심이 많았기에 대학 시절부터 이것저것 다양…
- blog 다양한 서비스와 소통이 함께하는 '콘텐츠서비스개발팀' 이야기 카카오와 고객을 이어주는 접점에는 ‘클라이언트 개발’이 있습니다 클라이언트 개발은 웹이나 앱을 통해 카카오의 다양한 서비스들을 만나는 **‘카카오의 첫 인상’**을 만들어가는 사람들입니다. 각종 통계와 고객의 반응…
데브시스터즈에서는 쿠키런: 오븐브레이크 외에도 많은 내부 개발팀과 외부 개발사가 개발한 많은 게임들을 운영, 관리하고 있습니다. 유저분들께 더 재밌고 풍성한 컨텐츠와 경험을 제공하기 위해서는 잦은 업데이트가 필연적인데요. 이렇듯 빈번하게 일어나는 배포를 조금 더 효율적이고 안전하게 하기…
최근 900여만 원의 부정 결제가 발생한 핀테크 전문업체의 금융사고가 한동안 이슈가 되었습니다. 금융당국의 사고 조사는 이제 착수단계지만 해당 업체의 잘잘못을 떠나 이미 고객의 신뢰는 많이 떨어진 상태입니다. 이렇듯 편리한 송금 기능을 앞세워 5년 만에 1,700만 명의 가입자를 보유할…
어서 와, SSR은 처음이지? - 개발 편 - 등록일 - 2020.07.23 - | - 코멘트 - 43678 어서 와, SSR은 처음이지? - 개발 편은 Node.js 기반의 SSR 개발과 운영을 통해 겪은 경험기 총 3편 중 두 번째 글로, 17년간 잔존해 왔던 레거시 시스템 내에서…
- blog 카카오톡의 백엔드를 담당하는 '톡플랫폼개발팀' 이야기 카카오의 '서비스 서버 개발’은 전 국민이 사용하는 다양한 서비스를 안정적으로 제공하고 있습니다. 카카오톡과 그 안에 들어 있는 다양한 연계 서비스와 대한민국 No.1 뮤직플랫폼 멜론 서비스, 그리고 뉴스와 스포츠를 포함…
김준성 구상준 백영민 박채훈 이주홍 서상우 장성보 정다운 | 2020년 07월 22일 | #Machine_Learning Annual Meeting of the Association for Computational Linguistics (ACL)는 자연어 처리(NLP) 분야를 주도하는…
유용한 테스트 케이스를 위한 개발자의 자세 각종 커뮤니티에 주기적으로 등장하는 "private 메서드를 테스트하려면 어떻게 하나요?" 혹은 "private 메서드를 테스트해야 하나요?" 와 같은 질문을 보면서 언젠가는 관련해서 정리해봐야겠다고 생각했었는데 꽤 시간이 흘러 이 내용으로 글…
클린봇 2.0: 문맥을 이해하는 악성 댓글(단문) 탐지 AI - 등록일 - 2020.07.17 - | - 코멘트 - 39845 악성 댓글(이하 '악플')의 자극적이고 공격적인 표현은 보는 이의 감정을 상하게 하고, 싸움을 부추기고, 집단 간의 갈등을 심화시키는 등 사용자의 서비스 이용…
엘라스틱서치는 엘라스틱(Elastic) 社가 아파치 루씬(Apache Lucene)을 기반으로 개발·공급하는 오픈소스 검색엔진 솔루션입니다. 루씬은 강력한 검색 기능을 탑재하고 있지만, 라이브러리 형태로 제공되다 보니 실제 적용 시에는 많은 부분을 직접 개발해야 합니다. 반면 엘라스틱서…
오늘날 기업은 내외부적으로 수많은 문제에 직면해 있습니다. 기업 내부적으로, 경영진은 시스템에서 발생하는 엄청난 양의 데이터로부터 가치있는 인사이트를 도출하기 위해 고군분투하고 있으며, 이기종 설비로 복잡해진 생산현장은 기술 고도화에 따라 더욱 복잡해지고 있습니다. 외부적으로는, 저가업…
Thiiing(띠잉) iOS 앱 개발기 안녕하세요. 저는 영상 기반 소셜 서비스인 Thiiing(띠잉) iOS 앱을 개발하고 있는 박태현입니다. 2019년 12월 띠잉셀에 합류하여 약 3개월 동안 개발하여 신규 서비스 Thiiing(띠잉) 앱을 출시하였는데요, 프로젝트 세팅부터 출시까지…
데이터분석가로서 업무 과정과 경험, 배움을 공유합니다 1. 들어가며 안녕하세요? 우아한형제들에서 데이터분석가로 일하고 있는 송훈화입니다. 최근에 분석가로서 Product 부문에 참여해 아래 2개의 업무를 진행했습니다. - AI 추천배차의 성과 측정 및 현황 분석 - 비마트 주문수 및 입…
1 들어가며 최근 많은 기업이 기존 모놀리식 아키텍처(Monolithic Architecture)의 한계를 극복하고 클라우드 환경에서 시스템 운영 이점을 극대화하기 위해 마이크로서비스 아키텍처(Microservices Architecture, 이하 MSA)를 채택하고 있습니다. 현재 뜨…
- blog 실시간 댓글 개발기(part.3) - Spring의 동시성 접근 제어에 발목 잡힌 이야기 전편(실시간 댓글 개발기(part.2) – 험난했지만 유익했던 웹소켓 스트레스 테스트 및 안정화 작업)에서 공유 드린 바와 같이 다양한 모니터링 및 디버깅 툴의 실제 활용 사례인 Spr…
- blog 실시간 댓글 개발기(part.2) - 험난했지만 유익했던 웹소켓 스트레스 테스트 및 안정화 작업 전편(실시간 댓글 개발기(part.1) -DAU 60만 Alex 댓글의 실시간 댓글을 위한 이벤트 기반 아키텍처) 에서는 기본적인 테스트 환경 구축에 대한 설명을 드렸다면, 이번…
- blog 실시간 댓글 개발기(part.1) - DAU 60만 Alex 댓글의 실시간 댓글을 위한 이벤트 기반 아키텍처 안녕하세요! 콘텐츠플랫폼개발팀 briony입니다. 제가 속한 팀 내 인터랙션플랫폼셀에서는 작년 한 해동안 '실시간 댓글’이라는 신규 기능을 위해 조직 구성원 모두 그…
라이트하우스 6.0에서 바뀐 성능 지표변화 지난 번역 글에서 라이트하우스의 향상된 기능들이 업데이트될 것이라고 소개하였다. 그리고 최근 5월에 이르러 라이트하우스 6.0이 정식으로 릴리즈되었고 최신 크롬 84에도 적용될 예정이다. 바로 써보고 싶은 사람은 크롬 나이틀리 빌드(카나리아)를…
1. "넷플릭스 당하다" "넷플릭스 당하다(Netflixed)"라는 말을 들어 보셨나요? 이는 실리콘밸리에서 기존 비즈니스 모델이 붕괴하였을 때 사용하는 표현입니다. 실제로 넷플릭스는 지난 20년간 대형 DVD 대여점과 케이블 TV 등 미디어 업계의 골리앗들을 차례대로 쓰러뜨렸습니다.…
깃헙 액션을 마켓에 등록해보자 지난 글에서는 github actions를 이용해 workflow를 만드는 법을 소개했다. 이번 시간은 Github Market place에 등록되어있는 액션들처럼 쉽게 가져다가 쓸 수 있는 액션을 만들어보려고 한다. 마켓에 등록하는 액션을 만드는 것은 기…
간단하게 만드는 이상한 알람 안녕하세요. 우아한형제들에서 DBA로 근무하고 있는 이재웅입니다. 오늘은 간단한 이상점 탐지를 이야기 하려고 합니다. 장애 사례를 한가지 들어볼께요. 오전 8시 서버 배포 이후 DB의 CPU 사용률이 전일 대비 10% 정도 높아졌습니다. 아침에는 서비스 트래…
K8S 인프라 CI/CD 처리 사내 구축된 Kubernetes 인프라에 어플리케이션을 빌드하고 배포하는 프로세스에 대한 전반적인 설명 글입니다. 이 글은 Kubernetes 클러스터 환경 구축을 전제로 어플리케이션을 빌드하고 배포하는 과정의 프로세스를 설명하는 글이므로, 전반적인 Kub…
EasyCache 서비스 소개 (TOAST Service 들여다 보기) EasyCache 란? 2019년 12월에 출시된 EasyCache는 Redis(REmote DIctionary Server)를 클라우드 환경에서 제공하는 상품으로 간단한 설정으로 고가용성의 Redis 서버를 사용할…
CNCF(Cloud Native Computing Foundation)의 2019년 연간 리포트[1]에 의하면, 조사에 참여한 기업 중 84%가 프로덕션 환경에서 컨테이너를 활용 중이며, 89%가 다양한 형태의 쿠버네티스(퍼블릭 클라우드에서 제공하는 관리형 쿠버네티스나 온프레미스 환경의…
안녕하세요 뱅크샐러드 데이터 파운데이션의 Product Manager 장한솔입니다. 데이터 파운데이션은 모든 뱅크샐러드 조직원들이 손쉽게 데이터 기반의 의사결정을 돕기 위해 만들어진 데이터 전문 조직입니다. 실시간으로 쏟아지는 뱅크샐러드 내 앱 이용 데이터, 고객들의 금융 및 건강 데이…
홍승환 | 2020년 04월 17일 | #Machine_Learning #Engineering 핑퐁팀은 PyTorch뿐만 아니라 TensorFlow 2.0도 활발하게 사용하고 있습니다. 최근 팀 내에서 TPU를 활용하여 학습하는 프로젝트를 진행하고 있는데, 이 글에서는 TF 2.0을 기…
작년에 쓰여진 딥러닝 추천 시스템 in production 에서 소개한 당근마켓 딥러닝 추천시스템의 파이프라인과 서빙 시스템이 구축 후 1년 동안 운용하며 어떻게 관리되고 변경되었는지 간단히 소개하려고 합니다. 1. Pipeline 당근마켓은 여전히 Kubeflow Pipelines을…
Service Monitoring 서비스 소개 (TOAST Service 들여다 보기) 2019년 7월 말에 출시된 TOAST Service Monitoring 서비스에 대해 소개합니다. 서비스 개발자에게 중요한 도구 중의 한 가지는 모니터링 도구일 것입니다. 서비스가 안정적으로 동작하…
Heimdall - 로그 수집 관제 시스템 이번 블로그에서는 로그수집과 관제알림을 위해서 구축된 관제시스템 "Heimdall"에 대해서 공유하고자 합니다. 1. Heimdall 개요 사람인HR에서 사용하던 기존 관제시스템에서 UI 및 기능을 개선한 관제시스템입니다. Heimdall 유래…
- blog 두 달 간의 신입 개발자 온보딩 과정을 돌아보며 - 신입 개발자들과의 인터뷰 안녕하세요! 기술기획팀 Candice입니다. 지난 두 편의 포스팅을 통해서 카카오 신입 개발자 온보딩 프로그램이 어떻게 진행되었는지 살펴 보았는데요, 이번 편에서는 실제 온보딩에 참여했던 신입 개발…
사람인HR에서 Elastic APM을 적용한 경험에 대해서 공유하고자 합니다. 사람인HR에서 서비스 모니터링을 위한 APM시스템을 구축 하였습니다. 시스템을 구축하며 조사한 자료에 대해서 공유 하고자 합니다. « Elastic APM 소개 및 설치와 관련된 내용은 1편을 참고해 주세요»…
사람인HR에서 Elastic APM을 적용한 경험에 대해서 공유하고자 합니다. 사람인HR에서 서비스 모니터링을 위한 APM시스템을 구축 하였습니다. 시스템을 구축하며 조사한 자료에 대해서 공유 하고자 합니다. « Elasti APM 도입시의 장점 및 Newrelic과의 비교는 2편을 참…
개발자를 위한 레디스 튜토리얼 04 이것만은 하지 마세요! 이제 많은 분이 요청주셨던 레디스의 장애 포인트에 대해서 말씀드리려고 합니다. 레디스, 잘 몰라도 괜찮으니 요구사항 파악하기 (캐시용? 저장소용?) 서비스에서 레디스의 도입을 고민할 때, 캐시용으로 사용할 것인지, 혹은 저장소용…
Kurly에서 주문을 모니터링 하는 법 Legacy 시스템에서 주문 모니터링을 Elasticsearch로 이전했습니다. 주문을 모니터링 하는 개발팀, 출처 : GIPHY 들어가며 컬리 개발팀은 24시간 운영되는 마켓컬리 쇼핑몰과 잠들기 전에 주문한 상품을 다음 날 아침 바로 받아 볼 수…
구상준 백영민 김준성 이주홍 장성보 정다운 | 2020년 03월 16일 | #Machine_Learning 새해가 밝은 지 얼마 되지도 않았는데 벌써 2020년도 1/6이나 지나갔습니다. 그 짧은 시간에도 수많은 좋은 논문들이 발표되었습니다. 우리의 불쌍한 핑퐁팀 ML 사이언티스트들은…
안녕하세요, 뱅크샐러드 Engineering Foundation의 Front End Team 소속 Web Engineer 이소영입니다. 뱅크샐러드는 사용자의 데이터를 기반으로 가장 최적의 금융 상품을 추천하기 위해 여러 금융사와 제휴하여 다양한 상품을 확보해나가고 있습니다. 웹팀은 추천…
1. 마이크로서비스 아키텍처 도입을 고민 중인 당신에게 IT 업계에서 마이크로서비스 아키텍처(Microservices Architecture, MSA)가 대세로 떠오르면서 엔터프라이즈 서비스 개발 프로젝트에 활발하게 채택되고 있습니다. 애플리케이션을 보다 빠르게 개발하고 성능을 지속적으…
알람에 관하여 안녕하세요. 우아한형제들에서 DBA로 근무하고 있는 이재웅입니다. 오늘은 누구나 알고 있는 알람에 관해 이야기를 하려고 합니다. 인프라나 데이터베이스를 운영하게 되면 수많은 알람을 만나게 됩니다. 우아한형제들의 데이터베이스 또한 많은 알람이 설정되어 있습니다. 사실 알람이…
DevOps 엔지니어의 Redis Test 분투기 - Part 1 Redis 테스트를 진행했습니다. - 계기: Redis 성능 측정과 Key/Value 값 저장 문제 - 측정/테스트 도구를 찾아보자 - 테스트 전에 Redis 용도를 정리해보자 - API를 사용해 테스트를 시작 - 테스트…
계기: Redis 성능 측정과 Key/Value 값 저장 문제 최근 서비스 고도화를 위해 회사의 중요 서비스들을 MSA로 변환하던 중, 성능 향상 및 용도를 이유로 개발팀은 Redis 도입을 고려하고 있었습니다. 그러다 최근 api 하나의 버전이 업데이트된 이후 덜컥 장애가 발생했습니다…
Database Driven Development에서 진짜 DDD로의 선회 -1- DDD에 대한 오해에서 벗어나고 개발의 즐거움을 깨달은 이야기 들어가며 - 과거의 내 모습 이 글은 DDD(Domain Driven Design 또는 Development)에 대해 아무런 고민도 없던 제가…
들어가며 - 과거의 내 모습 이 글은 DDD(Domain Driven Design 또는 Development)에 대해 아무런 고민도 없던 제가 현장에서 DDD를 팀원들과 함께 실천하며 깨달은 것(주로 경험)에 대한 이야기 입니다.(내용이 길어지고 하고 싶은 이야기가 많아져서 디테일한 이…
안녕하세요, 뱅크샐러드 Engineering Foundation의 Framework Team 소속 Server Engineer 안석찬입니다. 실리콘밸리의 벤처 캐피털은 테크 기업에 투자를 고려할 때 그 기업이 확장 가능한 기술 역량을 보유하고 있는지 판단합니다. 이때 판단에 활용되는 지…
안녕하세요, 뱅크샐러드 엔지니어링 파운데이션의 정겨울입니다. 뱅크샐러드는 마이크로 서비스 환경에서 다양한 언어와 프로토콜을 활용해 서비스를 운영하고 있습니다. 하나의 서비스는 요청을 처리하기 위해 다른 서비스의 API를 호출하는데 대부분의 기존 서비스는 REST API를 통해 JSON으…
안녕하세요. 뱅크샐러드, Advanced Financial Infra Team(이하 AFIT) 서지원 입니다. AFIT 은 최고의 개발환경을 구축한다 는 Vision 아래, IDC 에 Nutanix 를 올린 Private Cloud 환경을 멋지게 개선하고 있는 팀입니다. 이번 글은 AF…
배달의민족 최전방 시스템! ‘가게노출 시스템’을 소개합니다. 안녕하세요 우아한형제들 프론트검색서비스팀 권용근입니다. 저는 "먼데이 프로젝트" 라는 2019년 대형 프로젝트에서 요란하게 탄생하였고, 탄생한 순간부터 지금까지 배달의민족 최전방에서 활약 중인 2019년 4월 1일생 가게노출…
네이버 검색의 SRE 시스템 - 등록일 - 2020.02.11 - | - 코멘트 - 42126 네이버 검색은 국내 최대 규모의 트래픽과 데이터를 다루는 대용량 분산 시스템입니다. 수만 대의 서버에서 수백 개의 검색 서비스가 운영되고 있으며, 하루에도 몇 번씩 크고 작은 신규 개발과 유지…
AWS 멀티 계정 환경에서 취약한 Security Group 설정 모니터링 들어가며 클라우드 서비스의 장점은 리소스의 탄력적 사용, 비용 절감, 운영에 대한 부담 감소에 있다. 하지만 보안 관점에서는 이러한 클라우드 서비스의 장점이 취약점으로 작용한다. 클라우드 환경에서는 개발자가 직접…
ELK 셋팅부터 알람까지 안녕하세요. 저는 상품시스템팀에서 개발업무를 맡고 있는 이중석입니다. 최근 팀 내에서 로그엔트리를 ELK 로 전환하고 필요한 알람을 셋팅하는 작업을 진행했습니다. 이 과정중 알람을 설정하는 부분이 어렵진 않지만 쉽지도 않았습니다. 그 과정에서 알게된 것들이 다른…
feign 좀더 나아가기 안녕하세요. 저는 상품시스템팀에서 개발하고 있는 고정섭입니다. 이 글에서는 배달의민족 광고시스템 백엔드에서 feign 을 적용하면서 겪었던 것들에 대해서 공유 하고자 합니다. 이 글은 이전에 작성된 게시글에서 추가 보완사항에 대해서 작성되었습니다. http cl…
Aurora MySQL를 운영하면서 알면 좋을 것 같은 미세한 팁 들어가며 안녕하세요. 우아한형제들에서 DBA로 근무하고 있는 유영근입니다. 저희는 AWS환경에서 RDS로 수많은 요청을 처리하고 저장하며 Aurora MySQL을 주력으로 사용하고 있습니다. 한정된 사람구하기 힘든 DBA…
AI 동향 2012년 국제영상인식대회인 ILSVRC(ImageNet Large Scale Visual Recognition Challenge, 이미지넷)를 통해 심층학습(Deep Learning)의 성능이 학계 및 산업계에 입증된 이후, AI는 2차 암흑기(AI Winter)를 지나 다…
장성보 백영민 정다운 이주홍 구상준 김준성 | 2019년 10월 30일 | #Machine_Learning EMNLP는 자연어 처리(NLP) 분야를 주도하는 주요 국제 컨퍼런스 중 하나로, 매년 많은 NLP 연구자들이 주목하는 학회입니다. 올해는 11월 3일부터 7일까지 5일간, IJC…
2019년과 이후 JavaScript의 동향 – 브라우저 밖의 JavaScript 1 - 등록일 - 2019.10.28 - | - 코멘트 - 29904 이제 JavaScript는 프런트엔드에서만 작동하는 언어라고 말할 수 없습니다. 브라우저 영역에만 국한되지 않는 다양한 시도가 Java…
2018년 7월, 서버리스(Serverless) 아키텍처의 오류 감지 및 모니터링 솔루션 업체인 대시버드(Dashbird)의 SEO 매니저 존 데미안(John Demian)은 자사 홈페이지에 흥미로운 글을 게시했습니다. 코카콜라가 아마존 웹 서비스(Amazon Web Service, 이…
WEB Firewall 서비스 소개 (TOAST Service 들여다 보기) WEB Firewall은 웹 공격을 전문적으로 탐지/방어하는 보안 설루션으로, 고객의 웹서비스로 공격이 인입될 경우, 전용 설루션을 통해 탐지/방어함으로써 즉각적인 대응이 가능하도록 지원하는 서비스입니다. TO…
개발자 머피의 법칙 안녕하세요, 우아한형제들 광고시스템팀의 손권남입니다. 이 글은 기술적인 내용도 아니고 우아한형제들 회사에 관한 이야기도 아닌, 순전히 저의 개인적인 경험을 다룹니다. 매우 긴 글이므로, 맨 앞과 맨 뒤, 그리고 제목 정도만 읽어도 대략의 핵심 주제는 파악 가능합니다.…
System Monitoring 서비스 소개 (TOAST Service 들여다 보기) System Monitoring이란? 지난 7월 말에 System Monitoring 서비스가 새롭게 출시되었습니다. 클라우드에서 VM 인스턴스를 생성하여 그 위에 서비스를 구축하게 되면 가장 중요한…
TOAST Mobile Contact 소개 (TOAST Service 들여다 보기) Mobile Contact 이란 모든 서비스들은 고객센터 채널을 제공하고 있으며 특히 결제가 포함된 경우에는 고객 문의에 대한 빠른 처리를 위해 콜센터를 제공하고 있습니다. 다만, 정해진 시간과 장소/인…
Load Balancer 통계 기능 (TOAST Service 들여다 보기) 로드밸런서는 유입된 트래픽을 인스턴스로 분배하기 위해 사용하는 서비스입니다. TOAST 로드밸런서 서비스를 이용하면 인스턴스 하나로 처리하기 힘든 부하를 여러 대의 인스턴스로 분산하여 처리량을 높일 수 있고,…
글로벌 네트워크 에뮬레이터 prism_pacman 소개 - 등록일 - 2019.08.28 - | - 코멘트 - 15250 해외 서비스에서 현지 네트워크 상황을 고려하여 최적화된 서비스를 제작하고 튜닝하는 일은 쉽지 않습니다. 전송 속도가 낮아서 서비스 전체적인 응답 속도가 떨어져 답답하…
이어서 앞선 글에서 Java의 메모리 구조와 OOME가 발생하는 케이스에 대해 알아보았다면, 이번 글에서는 OOME를 예측할 수 있는 모니터링 방법과, OOME가 발생했을 때 덤프를 통해 원인분석을 하는 방법에 대해서 알아보고자 한다. 보통 서버를 관리하는 사용자들은 CLI 환경에서 작…
About OOME OOME란 Out Of Memory Error의 첫글자를 따서 약어처럼 쓰는 전세계에서 통용되는 일종의 프로그래밍 언어다. 데이터 분석과 관련된 프로젝트 일을 하는 필자로서는 가장 보기 싫은 에러임과 동시에, 현장에서 발생하면 설명하기가 매우 까다로운 녀석임에 틀림이…
2019년과 이후 JavaScript의 동향 - 라이브러리와 프레임워크 1 - 등록일 - 2019.08.02 - | - 코멘트 - 60045 어느 순간부터 프레임워크의 홍수 속에 있는 듯합니다. 각 프레임워크가 내세우는 철학과 다양한 장점에 촉각을 세우고, 어떤 것을 선택해야 할지 그리…
- blog - support 참여 후기: Open Infrastructure & Cloud Native Days Korea 2019 지난 주 18일부터 19일까지 양일간 진행된 Open Infrastructure & Cloud Native Days Korea 2019 행사에 카카오가…
멀티모듈 설계 이야기 with Spring, Gradle 멀티 모듈 설계 이야기 안녕하세요. 배달의민족 프론트 서버를 개발하고 있는 권용근입니다. 멀티 모듈의 개념을 처음알게 되었을 때부터 현재까지 겪었던 문제점들과 그것을 어떻게 해결해나갔는지를 이야기해보려고 합니다. 아래 내용은 모두…