[카테고리:] Architecture
-

AWS 서비스 총정리 – 컴퓨팅부터 네트워킹까지 카테고리별 개념 정리
EC2, S3, RDS, Lambda, VPC… 서비스 이름만 200개가 넘는데 대체 뭐가 뭔지, 어디서부터 봐야 할지 감이 안 잡히죠. 하나씩 파다 보니 사실 몇 가지 큰 카테고리로 나눠서 보면 훨씬 쉽게 이해된다는 걸 알게 됐습니다. 이번 글은 AWS 서비스 총정리로, AWS 핵심 서비스들을 카테고리별로 묶어서 소개해보겠습니다. AWS 서비스 총정리 1. 컴퓨팅 (Compute): “내 코드를 어디서 돌릴까”…
-

3계층 아키텍처란? 웹 아키텍처 기초 정리
각종 시스템을 다루다 보면, “왜 이렇게 구성했을까”를 다시 짚어보고 싶어질 때가 있습니다. 이번 글에서는 웹 서비스를 설계할 때 가장 기본이 되는 3계층 아키텍처를 시작으로, VM과 컨테이너 비교, 분산·확장 시스템 설계 시 고려 요소, 그리고 로드밸런서(ALB vs NLB)까지 제가 공부하면서 정리한 내용을 공유해봅니다. AWS 환경을 예로 들어 설명하면 이해가 더 잘 되는 것 같아서, 실제 AWS…
-

AWS ECS와 Lambda 아키텍처 분리: 무거운 AI 모델 서빙을 위한 컨테이너와 ALB 로드 밸런서 구축
지금까지 API Gateway와 Lambda를 연결해 가벼운 API 서버를 구축하고, DynamoDB로 대화 로그를 빠르게 처리할 아키텍처를 완성했습니다.이번 시간에는 AWS ECS와 Lambda 아키텍처를 분리하고, AI 모델 서빙을 위해 컨테이너와 ALB 로드 밸런서를 만들어보겠습니다. AWS ECS와 Lambda 아키텍처 분리 챗봇의 핵심인 ‘AI 페르소나 모델’을 서버에 올려야 할 차례입니다. 처음에는 단순히 기존에 만들어둔 Lambda 함수에 AI 모델 코드도 같이…
-

AWS DynamoDB를 사용하는 이유: RDBMS가 아닌 NoSQL이 필요한 아키텍처
이전 시간에 API Gateway와 Lambda를 활용하여 서버리스 API를 구축했습니다.빠르고 저렴한 API 서버를 구축했다면, 다음은 바로 DB 설계입니다.이번엔 AWS DynamoDB라는 서비스를 사용해 봤는데요, 제가 알고 있던 일반적인 NoSQL(MongoDB 등)과는 설계 방식이 달라서 조금 신기했습니다. AWS DynamoDB를 사용하는 이유 제가 기획한 ‘바이블톡’의 프로토타입은 AI 페르소나와 실시간으로 롤플레잉 대화를 나누는 챗봇 서비스입니다. 서비스 특성상 기존 데이터를 복잡하게 수정(Update)하는…
-

AWS Lambda, API Gateway를 활용한 서버리스 MVP 구축 – 콜드 스타트와 방어 전략
최근 AI 페르소나 챗봇 서비스(‘바이블톡’)의 초기 MVP를 기획하면서, 백엔드 아키텍처에 대한 깊은 고민이 많았습니다.일반적으로 알려진 대규모 서비스 아키텍처와 달리, 초기 스타트업 단계의 개발 속도 및 운영 비용을 고려하여 AWS Lambda를 활용한 서버리스 MVP 구축을 시도했고, 그 과정에서 API Gateway, 콜드 스타트 등 새로운 개념을 마주했습니다. 이번 글에서는 서버리스 아키텍처를 실제 프로젝트에 적용하면서 고민했던 내용과 경험한…
-

MSA(MicroService Architecture) 전환 2편 – Toss Bank
지난 시간엔, MSA와 Monolithic 의 특징을 알아보고 Toss Bank의 “지금 이자 받기”에 대해 간략하게 말씀드렸습니다. 이번 시간엔 해당 기능이 무엇인지와 어떤 과정을 거쳐서 MSA로 전환되었는지, 좀 더 깊이 있게 탐구합니다. 우선 해당 기능의 기본적인 비즈니스 로직부터 알아보도록 하겠습니다. (※ 본문에 나오는 Code는 필자의 개인 Code, 의견인 점을 참고해주시기 바랍니다.) 지금 이자받기 Business Logic 지금 이자받기의…
-

MSA(MicroService Architecture) 전환 1편 – Toss Bank
마이크로서비스 아키텍처(Microservices Architecture, MSA)는 최근 인기를 끌고 있는 혁신적인 아키텍처 패턴입니다. 기존의 모놀리식(Monolithic) 아키텍처의 한계를 극복하고, 높은 유연성과 확장성을 제공하기 위해 여러 개의 독립적인 작은 서비스로 애플리케이션을 분리하여 개발하는 접근 방식입니다. 많은 기업들이 MSA로의 전환을 시도하고 있으며 국내 금융 기업 Toss Bank의 Core Banking 시스템의 일부를 기반으로 알아보도록 하겠습니다. 기존의 Monolithic Architecture Banking System의 대략적인…