[Back-End] 로그와 메트릭에 대해 설명해봐라!
·
Back-end
매일메일에서 온 두 번째 메일 포스팅이다. 로그와 메트릭을 설명해주세요. 로그는 말 그대로 서버의 상태나 동작 정보를 시간에 따라 기록한 것이고, 메트릭은 상태 지표에 대한 기준이라고 알고 있다.흠 정확하게 얘기하기가 힘든거 보니 완벽하게 정리할 필요가 있을 것 같다. 로그로그는 서버가 동작할 때 서버의 상태와 동작 정보를 시간 경과에 따라 기록된 결과.시스템의 오류와 문제들을 쉽게 찾아낼 수 있도록 도와줌. 메트릭시스템의 성능과 상태에 대한 통계적인 정보시스템의 현재 상태를 손쉽게 파악할 수 있고, 사업 현황에 관한 유용한 정보를 얻을 수 있다.예시DAUREtensionCPU UtilizationMemory Utilization 로그와 메트릭을 수집해본 적이 있는가?위 질문에 로그를 보기는 했지, 수집..
[Spring] Spring Data JPA에서 새로운 Entity인지 판단하는 방법?
·
Back-end/Spring
요즘 백엔드 관련한 내용을 매일마다 질문해주는 Maeil-Mail이라는 서비스를 사용하여 하루하루 지식을 체크중이다. (이거 생각보다 재밌을지도?) 오늘의 주제는 바로 Spring Data JPA이다. 항상 인터페이스처럼 편하게 JPQL을 사용하게 해주는 녀석... 하지만 EntityManager를 사용한 영속성 컨텍스트 관리를 한다는 것 말고는 제대로 동작 방식을 알고 있었을까? 위 질문(제목에 게시)에 뭐 영속성 컨텍스트가 새로운 엔티티를 판별하겠지? 만 생각이 들고 정확한 동작 관리를 알지 못했다.  ... 아직 갈 길이 멀다. Spring Data JPA 뜯어보기. 바로 시작해보도록 하자 Spring Data JPA란? 우선 JPA란 무엇일까?JPA란 Java Persistentce API의 약자..
[Cloud Computing] Cloud Deployment Automation
·
Infra & Cloud/Cloud Computing
해당 게시글은 국민대학교 이경용 교수님의수업 내용을 바탕으로 작성하였습니다.  구동중인 서버에 문제 발생 시 해결 방안 자원의 시작, 종료, 설정 자동화! -> 시스템의 안정성, 일관성, 효율성을 높임. DevOpsDevelopment + Operation 클라우드 서비스의 등장 및 웹 서비스의 보편화에 따라 개발 및 운용의 경계 모호웹서비스의 빠른 개선 주기로 인한 간단한 릴리즈 사이클 필요 (자동으로 처리할 수 있는 배포 환경 필요)코드를 활용한 서비스 배포 보편화 (사용자로 인한 에러 감소) Infrastructure as Code (IaC)코드를 이용한 자원 관리소프트웨어 개발 프로세스를 적용 가능 (재사용, 유지보수, 확장성)JSON 또는 YAML을 활용하여 자원 상태 서술장점속도 및 안정성 :..
[Cloud Computing] Cloud High Availability
·
Infra & Cloud/Cloud Computing
해당 게시글은 국민대학교 이경용 교수님의클라우드 컴퓨팅 수업 내용을바탕으로 작성하였습니다.  고가용성 (High Availability) 이란?서비스를 운용하는 사람이 관리를 하지 않아도 서비스가 동작하지 않은 시간 최소화하여 사용자에게 예측된 성능을 제공해줄 수 있는 척도구축 시 추가 cost 발생구현 요소들Fault tolerance : 실패 내성 (문제가 발생해도 사용자에게 영향을 전파하지 않는 능력)Scalability : 확장성 (시스템 설계를 바꾸지 않고도 증가하는 요청을 처리할 수 있는 능력) 사용자 보유 데이터 센터와 클라우드에서의 고가용성 & 여러 Region들사용자 보유 데이터 센터많은 경비 소요 (하드웨어 구매, 서버룸 구축 등)중요한 일부 서비스에 대해서만 고가용성 확보클라우드여러 ..
[Cloud Computing] Serverless Computing
·
Infra & Cloud/Cloud Computing
해당 게시글은 국민대학교 이경용 교수님의수업 내용을 바탕으로 작성하였습니다.  Decoupling Modules전체 시스템을 독립적인 컴포넌트로 디자인 하는 것.  시스템이 loose coupled 될수록 시스템의 확장성을 보장하는 것이 쉬움.Web Server -> Nginx 또는 Apache Tomcat (proxy가 각 엔드포인트에 대해 요청을 뿌려줌) 장점각 컴포넌트 간의 종속성 최소화. (casecading failure 방지)tightly coupled : 한 응용 서버의 문제가 모든 웹서버에 전파됨loosely coupled : 로드밸런서가 응용서버의 실패를 가려줌 (health check) 모듈을 Decoupling 하는 방법서버를 구축해서 모든 서비스를 만드는 시도는 좋지 않음.서버를 만..
[Cloud Computing] Container
·
Infra & Cloud/Cloud Computing
해당 게시글은 국민대학교 이경용 교수님의수업 내용을 바탕으로 작성하였습니다. Monolithic Application  vs  Microservice Application  Monolithic Application하나의 서버에 다른 목적을 가지는 여러 프로세스가 동작함.Scale-up이 적당한 경우가 많음Scale-out이 불가능한 경우가 많음 Microservice Application독립적으로 배포 가능해야 하며, static한 외부 API 제공배포 가능한 컴포넌트로 분리 후 배포여러 컴포넌트 간 통신 프로토콜 정의 필요장점고가용성 시스템 구성확장이 필요한 서비스만 확장 가능필요에 따라 특정 서비스만 여러 서버에 복제하여 안정성을 높일 수 있음.여러 서비스간 소프트웨어 종속 문제 해결 가능다수 소프트..
chapter 8 - Attack & Defense (Web Security 2/2)
·
Computer Science/정보 보호와 시스템 보안
해당 게시글은 국민대학교 윤명근 교수님의수업 내용을 바탕으로 작성하였습니다.  CSRF[CWE-352] Cross-Site Request Forgery (CSRF) 웹사이트가 신뢰하는 사용자로부터 허가되지 않은 명령이 전송되는 악의적인 공격. 서버에서 발생하는 공격이다. XSS가 사용자가 특정 사이트를 신뢰하기 때문에 발생하는 문제라면, CSRF는 특정 사이트가 사용자를 신뢰 하기 때문에 발생하는 문제이다.  💡 CSRF의 2가지 조건1. 사용자가 사이트에 로그인 상태여야 한다.2. 사용자는 조작된 페이지에 방문(접속)해야 한다. 예시[새로운 비밀번호로 변경 시 web server에서 기존 비밀번호를 요구하지 않는 경우] 공격자는 다음과 같은 request endpoint를 통해 비밀번호를 변경할 수 ..
chapter 8 - Attack & Defense (Web Security 1/2)
·
Computer Science/정보 보호와 시스템 보안
해당 게시글은 국민대학교 윤명근 교수님의수업 내용을 바탕으로 작성하였습니다.WEB OverviewTCP/IP 위에서 작동하는 Client/server modelStateless ProtocolHTTP Request Message (client -> server) HTTP Response Message (server -> client) URL (Uniform Resource Locators) WEB Shell첫 웹 공격 기법으로, MITRE(마이터 - 공격 표준 설정 단체) 에서 지정한 Common Weakness Enumeration이다. 웹 서버가 유저가 실행 파일을 업로드하는 것을 허용했을 때 발생하는 취약점이다. 예시공격자가 업로드한 shell 파일(.sh)을 상대방이 다운 받으면 공격자는 설치된 ..