실전 클라우드 배포와 운영: 내가 마주한 기술적 고민과 해결책
들어가면서 최근 클라우드 환경에서 프로젝트를 진행하면서 기술적인 고민도 많았고 예상 못 한 문제도 여러 번 겪었다. 기능을 구현하는 것과 실제 운영 환경에서 안정적으로 돌아가게 만드는 것은 다른 문제였고, 그 차이를 메우는 과정에서 배운 게 많았다. 이 글에는 클라우드 환경(AWS EC2, RDS, S3, ALB 등)에 애플리케이션을 배포하고 운영...
들어가면서 최근 클라우드 환경에서 프로젝트를 진행하면서 기술적인 고민도 많았고 예상 못 한 문제도 여러 번 겪었다. 기능을 구현하는 것과 실제 운영 환경에서 안정적으로 돌아가게 만드는 것은 다른 문제였고, 그 차이를 메우는 과정에서 배운 게 많았다. 이 글에는 클라우드 환경(AWS EC2, RDS, S3, ALB 등)에 애플리케이션을 배포하고 운영...
들어가면서 이전 포스트들에서 VM과 컨테이너는 무엇이 다를까?, 컨테이너는 어떻게 격리될까?, Docker 이미지는 정말 OS일까?를 다루며 컨테이너의 개념과 격리 원리, 이미지의 본질을 살펴봤다. 컨테이너는 애플리케이션을 가볍게 패키징하고 실행하는 도구다. 하지만 실제 운영 환경에서 수많은 컨테이너를 관리하는 것은 또 다른 문제다. docker ...
들어가면서 이전 포스트들에서 VM과 컨테이너의 근본적인 차이와 컨테이너가 어떻게 격리되는지 살펴보았다. 컨테이너는 호스트 OS의 커널을 공유하며 가볍게 동작한다고 했는데, 그렇다면 우리가 흔히 쓰는 ubuntu나 alpine 같은 Docker 이미지는 정말 운영체제(OS)일까? 많은 개발자가 Docker 이미지를 “작은 VM”이나 “OS가 통째로 ...
들어가면서 이전 포스트인 VM과 컨테이너는 무엇이 다를까?에서 컨테이너가 VM보다 가볍고 빠르게 동작하는 이유를 구조적 차이에서 살펴보았다. 컨테이너는 호스트 OS의 커널을 공유하면서도 독립적인 실행 환경을 제공한다. 이 격리에서 핵심 역할을 하는 것이 Linux Namespace와 Cgroup이다. 컨테이너는 OS를 새로 띄우지 않는데, 어떻게 ...
들어가면서 수업에서 가상화 기술을 배우다가, 오래전에 자바의 구동 원리를 정리하며 JVM이라는 가상 머신을 고민했던 기억이 떠올랐다. 예전에 Testcontainers를 활용한 통합 테스트 환경을 구축하면서 Docker를 썼지만, 그때는 VM과 컨테이너의 구조적 차이를 제대로 이해하지 못한 채 적용하느라 애를 먹었다. 이번 학습으로 둘의 근본적인 차...
들어가면서 이전에 AOP를 정리하면서 “공통 로직은 어디에 있어야 할까?”에 대해 고민했었다. 실무에서 이 질문에 대한 가장 첫 번째 대답이자, AOP를 가장 먼저 적용하게 되는 곳이 바로 ‘로깅(Logging)’이라고 한다. 처음에는 단순히 에러가 났을 때 콘솔 창을 확인하기 위해 log.info()나 System.out.println()을 쓰는...
들어가면서 처음에는 단순히 이렇게 생각했다. “EntityGraph랑 Pageable 같이 쓰면 안 되는 거 아닌가?” 실제로 JPA를 공부하다 보면: fetch join + pagination 주의 컬렉션 fetch join 페이징 문제 메모리 페이징 발생 가능 같은 이야기를 자주 보게 된다. 그래서 처음에는 Enti...
들어가면서 최근 Filter, Interceptor를 정리하면서 “공통 로직을 어디에서 처리해야 하는가”를 계속 고민하게 됐다. Filter → 요청 입구 Interceptor → MVC 흐름 제어 그리고 마지막으로 남은 게 AOP였다. 👉 Filter vs Interceptor vs AOP — 어디서 무엇을 처리해야 할까 처음에는...
들어가면서 이전에 Filter / Interceptor / AOP를 비교하면서 각 기술이 어디에서 동작하는지 정리했었다. 👉 Filter vs Interceptor vs AOP — 어디서 무엇을 처리해야 할까 그리고 최근에는 Filter를 더 깊게 보면서 “인증은 Controller 전에 이미 끝난다”는 흐름도 다시 정리했다. 👉 Filter를...
들어가면서 이전에 Filter / Interceptor / AOP를 정리하면서 각각의 역할을 구분해봤다. 👉 Filter vs Interceptor vs AOP — 어디서 무엇을 처리해야 할까 그때는 “어디서 무엇을 처리해야 하는가”라는 기준으로 정리했다면, 이번에는 이런 질문에서 출발했다. “인증은 정확히 어디서 시작되는 걸까?” J...