0. 들어가며쿠버네티스는 원래 현재 lg cns camp 교육 듣는 과정에 있었지만, 교육이 진행되면서 시간관계상 누락됐다.나는 최종프로젝트 팀으로 금융을 선택해서 쿠버네티스를 다루게 되었는데, 쿠버네티스에 대한 지식이 전무했기 때문에 멘토링을 통해 멘토님께 쿠버네티스 몇가지 배운 것들과 스스로 찾아보며 공부한 내용들을 개념, 기초 부터 큰 틀을 정리하고 디테일적인 부분 순으로 챕터별로 정리해서 블로그에 적어보려한다. 1. 쿠버네티스란 무엇인고?애플리케이션이 단순히 "잘 작동하는 코드"에서 끝나던 시대는 지났다.오늘날의 소프트웨어는 빠르게 배포되고, 안정적으로 운영되며, 수많은 사용자 요청을 효율적으로 처리할 수 있어야 한다.이러한 운영 환경의 변화 속에서 컨테이너(Container) 기술은 빠르게 대세..
분류 전체보기
1. 들어가며2월 21일부터 2월 26일까지 진행했던 미니프로젝트인데 뒤늦게 정리 겸 회고글을 작성해본다. 시기 상 JavaScript, React, Java, Spring 에 대한 수업이 끝나고 조 편성이 되어 진행했었다. 주어진 프로젝트 요구 사항 중 주제는 AI를 활용한 뉴스 서비스 개발이었다. LG CNS AM Inspire Camp에 들어오기 전 소개글 중 AI를 다룬 다는 내용을 보고 Spring AI에 대한 관심이 있어 써보고 싶은 마음이 컸는데, 이 프로젝트에서 써보는 것으로 첫 경험을 쌓았었더랬다. 팀원 구성 및 역할 분담은 프론트엔드 2명, 백엔드 2명, 인프라 1명이었다. 나는 여기서 팀장과 백엔드를 맡았고, Spring AI를 활용한 뉴스 서비스, 전역 예외처리, 회원 서비스, 카테..
1. 들어가며최근 백엔드 시스템 아키텍처를 이야기할 때 빠지지 않고 등장하는 키워드가 있다. 바로 MSA(Microservice Architecture)다.하지만 단순히 "서비스를 나눈다"는 말로는 MSA를 정확히 이해하기 어렵다. MSA는 기술적인 설계인 동시에, 조직 구조와 운영 방식까지 영향을 주는 아키텍처 패러다임이다. 오늘날 많은 기업과 개발팀이 모놀리식 아키텍처에서 마이크로서비스 아키텍처로 전환하고 있지만, 단순히 트렌드라는 이유만으로 선택하기엔 그 변화가 가지는 의미와 복잡도가 꽤 크다. (특히 조금 경험해보니 비용이 만만치않다) 앞선 글들에서는 spring cloud를 정리하면서 MSA에 필요한 기술들을 정리해왔었는데, 이 글에서는 기존의 모놀리식 아키텍처와 비교하며, MSA의 개념, 특징..
1. 들어가며어떤 시스템이든 안정적으로 운영되기 위해서는, 현재 CPU 사용률이 어떤지, 메모리는 얼마나 쓰는지, 디스크 공간은 얼마나 남았는지 같은시스템 자원 상태를 실시간으로 확인할 수 있는 모니터링 체계가 필요하다. 이 글에서는 최종 프로젝트의 관제 시스템을 만들기 위해 필수요소인 대표적인 오픈소스 기반의 시스템 모니터링 툴체인 Node Exporter + Prometheus + Grafana를 중심으로 각각의 역할과 구성 방법을 정리해본다. 2. 구성요소 개요2.1 Node ExporterNode Exporter는 리눅스 서버의 시스템 정보를 수집해주는 lightweight exporter다. CPU, Memory, Disk, Network, Load Average, Uptime 등 노드 단위의..
1. 들어가며Spring Boot를 사용하다 보면 “애플리케이션이 잘 떠 있는지, DB는 연결됐는지, 메모리는 얼마나 쓰고 있는지” 같은 내부 상태를 확인하고 싶을 때가 많다. 이럴 때 유용한 도구가 바로 Spring Boot Actuator다. Actuator는 애플리케이션의 다양한 정보를 HTTP 엔드포인트로 노출해주며, 모니터링, 운영, 헬스체크, 메트릭 수집 같은 기능을 손쉽게 구현할 수 있도록 도와준다. 이전 부트캠프 프로젝트에서는 Actuator를 사용하지 않고 Node Exporter를 이용한 Metric 수집만 했었는데 이번 기회에 여러 MSA 프로젝트를 하면서 Actuator를 사용해볼 수 있었다. 2. Spring Boot Actuator란?Spring Boot Actuator는 애플리..
1. 들어가며마이크로서비스 아키텍처를 구축하다 보면 여러 개의 독립된 서비스가 생기고,각 서비스마다 클라이언트가 직접 접근하도록 두는 건 보안, 버전 관리, 로드밸런싱 측면에서 매우 비효율적이다.그래서 모든 외부 요청을 하나의 진입점을 통해 받아서 내부 서비스로 분기시키는 패턴이 등장했는데, 그게 바로 API Gateway다.Spring Cloud에서 공식적으로 지원하는 Gateway 컴포넌트인 Spring Cloud Gateway는 이 역할을 수행하기에 최적화된 도구다. 2. Spring Cloud Gateway란?Spring Cloud Gateway는 스프링 생태계에서 API Gateway 역할을 수행하는 프로젝트로, 기존 Zuul 1의 한계를 개선하여 WebFlux 기반으로 만들어졌다. 이는 비동기..