Server(3)
-
7. SpringBoot 입문 - AOP가 필요한 상황
AOP AOP가 필요한 상황 모든 메소드의 호출 시간을 측정하고 싶다면? 공통 관심 사항(cross-cutting concern) vs. 핵심 관심 사항(core concern) 회원 가입 시간, 회원 조회 시간을 측정하고 싶다면? 문제점 회원가입, 회원 조회 등에 시간을 측정하는 기능은 핵심 관심 사항이 아니다. 시간을 측정하는 로직은 공통 관심 사항이다. 시간을 측정하는 로직과 핵심 비즈니스의 로직이 섞여서 유지보수가 어렵다. 시간을 측정하는 로직을 별도의 공통 로직으로 만들기 매우 어렵다. 시간을 측정하는 로직을 변경할 때 모든 로직을 찾아가면서 변경해야 한다. AOP 적용 AOP : Aspect Oriented Programming 공통 관심 사항과 핵심 관심 사항을 분리한다. package he..
2021.06.07 -
AWS Instance Scheduler (AWS Lambda)
AWS의 서비스를 이용하다보면 Console 또는 CLI를 통해 수동으로 관리하게 된다. 가령 EC2를 예로 들면 서버 리소스를 사용하기 위해 running 시켜놓고 사용을 하지 않을 때는 서버를 꺼줘야 비용 부담이 적게 발생하게 된다. 하지만 서버의 수가 적거나 간단한 테스트용이라면 상관 없지만 서버가 매우 많고 서버마다 필요한 케이스들이 상이하다면 관리하기가 힘들다. 또한 그렇지 않더라도 매일 사용하는 서버의 경우 일일이 켜주는 작업은 다소 비효율적이기도 하다. 따라서 정해진 시간, 날짜에 서버를 자동으로 켜고 끄는 서버 스케쥴링을 구현해보도록 하자 1. EC2 생성 2. 서버 스케쥴링을 위한 정책 생성 3. 정책을 이용하기 위해 역할 생성 4. Lambda 생성 5. 이벤트 로그를 확인하기 위해 C..
2021.05.06 -
1. Docker Intro
1.1 Docker는 왜 필요할까? Docker는 컨테이너 기술을 지원하는 다양한 프로젝트 중 하나이다. 컨테이너 기술을 과거에도 존재했으나 Docker를 통해 많이 알려지게 되었다. 기존의 컨테이너 기술은 사용자의 OS 환경에 따라 그 내용이나 명령어의 내용 등이 상이했다. 하지만 Docker를 이용한다면 환경의 제약을 받지 않고 원하는 애플리케이션을 실행할 수 있다. 컨테이너는 주로 대규모 기업, 대규모 프로젝트에서 사용된다. 요즘은 프로젝트를 시작할 때 아예 컨테이너 기반으로 시작하기도 한다. 개발팀 vs. 운영팀 개발팀과 운영팀은 적대적이라고 바라 볼 수도 있다. 서로의 성향이 매우 다르기 때문이다. - 개발팀은 매번 새로운 것을 개발하는데 반면, 운영팀은 이러한 것들을 안정적으로 운영하는 것이 ..
2021.03.30