배경 회사에 장애가 발생했었을 때 K8s로 돌아가고 있는 서비스들에 대해 가설을 나눴는데 제가 K8s에 대한 기본적인 개념들과 지식들이 얕다보니 잘못된 이야기들을 하는 순간들이 있었습니다. 쿠버네티스를 공부하기 위해서 강의까지 구매 했었지만 바쁜 일정들이 있어 미뤄두고 있었고 그렇게 계속 미뤄지다가 결국 문제가 생겼을 때까지 미뤄지게 되었습니다. 입사한 지 오래되지 않았지만 경력 개발자로서 제대로 대처하지 못한 점이 큰 충격이었고 이를 계기로 쿠버네티스의 핵심 개념과 동작 원리를 정리하여, 유사한 문제가 발생했을 때 효과적으로 대응할 수 있도록 필수 개념을 숙지하려고 합니다. 기본 아키텍처1. Control Plane클러스터 중앙 제어 시스템과 같은 역활을 하는 노드로 클러스터의 전반적인 상태를 유..
클라우드에 비즈니스를 맞추면 생기는 일 클라우드라고 하면 AWS가 바로 언급될 정도로 AWS는 클라우드라는 시장에 아주 막강한 영향력을 가지게 되었습니다. 그래서 저희가 프로젝트를 진행하고 있는 누구나 리포터 LAB프로젝트도 AWS 기반으로 인프라를 구성하게 되었습니다. 기존에 하던 사이드 프로젝트와 다르게 비영리 기업에서 기존에 사용하고 있던 기술에 최대한 맞춰주기 위해 AWS Lambda를 도입하였고 이를통해 웹서버 운영에 드는 고정 인프라 비용을 크게 절감할 수 있었습니다. 이런 노력에도 불구하고 매달 200달러 이상의 비용지출이 예상되었고 이는 AWS 생태계에서 필수적으로 사용해야 하는 인프라(NAT, Redis, Database 등)으로 발생하는 비용들이였습니다. 필수 인프라를 없애는 것은 ..
제어할 수 없는 일속에서도 의미 찾기올해는 정말 어떤 것 하나도 제 의도대로 돌아가지 않았던 한 해였습니다.사내 MSA 프로젝트가 중단된 일부터 해서 팀원들이 줄줄이 퇴사했던 일, 계속해서 변하는 사내 업무 환경까지 어느 것 하나 제대로 제어하기 어려웠습니다.그러다 결국 회사 재무 사정이 어려워져 팀 전체가 구조조정되었고, 그렇게 실업자가 된 저는 본능적으로 “다시 이직을 해야 한다”라는 생각에 후반기에는 취업 준비에 많은 시간을 투자하며 나날을 보냈었습니다.이런 과정들을 그저 혼자 이겨내려고 했다면 계속되는 실패로 인해 조커가 되었을지 모르겠지만 감사하게도 주변에 직간접적으로 도움을 주시는 분들이 있었고, 그분들의 좋은 영향력 덕분에 안좋은 감정들을 떨처내고 이겨낼 수 있었습니다. 그래서 올해 회고에는..
생각보다 어려운 굴러가는 바퀴 만들기여러 인원이 모여서 사이드 프로젝트를 진행해 보신 경험들이 있으신가요? 처음에 시작할 때에는 여러 사람들이 모여 협업하기 때문에 내가 혼자하는 것보다 몇 배는 빨라질 것이라 생각하지만 실제 체감해보면 생각보다 느린 속도를 경험해 보셨을 것입니다. 그래서 이를 해결하기 위해 여러 규칙들을 만들고 프로세스를 정의하다가 결국 배보다 배꼽이 더 커져 프로젝트 인원들이 나가게 되는 경험들도 해보셨을 거라 생각됩니다. 저희 누구나리포터 LAB도 다른 사이드 프로젝트와 마찬가지로 무려 13명이라는 인원들이 모여 프로젝트를 진행하는 과정 속에서 여러 시행착오들과 잘못된 선택들을 한 순간들이 다수 존재했습니다. 그런 순간들을 어떻게 이겨내고 문제들을 해결해 나갔는지 소개하면서 누구나..
서론기술 면접을 진행하다보면 가장 많이 들어오는 질문 중 하나는 데이터베이스 입니다. 그 중에 단골 질문을 꼽자면 디비 트랜잭션에 대한 질문과 데이터베이스를 기반으로 동시성을 제어하는 질문입니다. 해당 질문을 가장 자주 물어보는 이유는 트랜잭션은 백엔드를 개발하는데 가장 작은 단위이기도 하고 트랜잭션에 대한 이해없이 개발을 했다가 운영 중에 데이터의 무결성이 깨지거나 동시성을 제어하지 못하는 경우들을 자주 접하기 때문입니다. 하지만 백엔드 엔지니어를 준비하면서 보통 트랜잭션의 특성과 Isolation Level의 개념, 각 Isolation Level에 일어날 수 있는 문제들만 충분하다는 생각에 단기적으로 외우고 끝내는 경우가 많습니다. 저도 마찬가지로 그렇게 외우고 있다가 최근에 T사 면접과 스타트업 ..
서버리스를 쓰게 된 배경 이번에 테크포임팩트라는 활동을 통해서 비영리 기업을 지원하는 프로젝트에 참여하게 되었는데요. 해당 기업에서는 내부적으로 Lambda라는 기술을 사용하고 있어서 신규 프로젝트도 서버리스 환경에 맞춰 구축하고 운영하기 위해 고려해야 되는 점들을 조사하여 정리해보려고 합니다. 일단 프로젝트를 개발하고 운영하는 전략을 알아보기 전에 서버리스는 어떤 장점을 가지고 있기에 스타트업부터 대기업까지 다양한 규모의 기업들이 활용하고 있는지에 대해 자세히 알아봅시다. 서버리스의 가장 큰 장점 중 하나는 적은 러닝커브에 있습니다. 개발자가 일반적인 웹서버를 구축하기 위해 어떤 지식들이 필요한지 나열해보면 아래의 내용처럼 많은 지식들을 요구하는 것을 알 수 있었습니다. 그래서 초기에 개발을 배우고 서..