
[유튜브 메인 페이지]
첫 영상에 광고가 배치되어있다.
이렇게 띄우는 이유는 유저가 착각하게 해서 클릭을 유도하게 하기 위함이다.
업계에서는 “다크패턴”이라고 한다.
- 고민할 점
- 핸드폰
- 안드로이드와 아이폰의 다른점은 안드로이드에서는 뒤로가기가 있다는 점이다.
- 여기서 안드로이드는 앱을 끌 때 광고 alert를 띄울 수 있다. 그래서 안드로이드가 광고하기 유리하다.
- 유튜브
- 유튜브 광고만 해도 광고의 종류가 많다. 설문, 건너띄기, 15초 다양하다.
- 네이버
- PC에서 네이버를 로그인할 때 로그인 창은 모바일에 적합하게 UI가 짜여져있다. 모바일 환경에서 많이 사용함을 인식한 것.
MSA와 AD 서버.
네이버 지도, 웹툰 같은 본 서버(Service API Server)를 가기 전에 굉장히 많은 서버를 거쳐간다.
옛날 아키텍처는 모든 서비스를 하나의 서버에서 다루었지만 요즘 SA 아키텍처는 서비스마다 서버를 구현한다. (서버마다 기능이 나뉘어져있다.)
그렇다면 AD 서버도 그 안에 있을 것이다.
- AD Server
- Fraud Detection Server
- 나이키와 아디다스가 월드컵을 앞두고 광고를 기획한다. 나이키는 네이버 같은 포털 사이트에 200만뷰를 보여주도록 요청한다. 그 때 아디다스가 클릭봇을 나이키에 클릭하도록 누군가에게 요청한다.
- 이렇게 되면 광고를 적법하게 본다고 볼 수 없다. 때문에 Fraud Detection Server가 적절한 접근이 아닌것들을 잡아서 나이키 같은 광고주에게 증명하여 자신들이 얼마나 잘 광고하는지 보여줄 수 있다.
- = 프로토콜 형태의 정상적이지 않은 연결을 차단하는 서버
- 요즘은 AI가 잡아낸다.
- 어떻게 하면 적법하지 않은 요청을 막아낼 수 있는지를 우리가 고민한다.
- Global AD Manager Platform Server
- 광고주에게 분석자료를 줘야한다.
- 분석 기법을 배워보고 만들어볼것이다.
서버가 은퇴할 때까지 서버들이 어떤 역할을 하는지 고민해봐야한다.
1. MSA 아키텍처?
서비스를 운영하는데서 여러 도메인을 처리해야한다. 이 도메인들을 하나의 서버에서 처리하는 모놀리식 아키텍처와 다르게 도메인의 범주에 따라 서버를 분리하는 아키텍처를 MSA 아키텍처라고한다.
A. MSA는 서비스 규모를 기준으로 언제 적용하는것이 좋을까요?
도메인 단위로 여러 서버로 분리하는 것은 좋지만 운영하는 입장에서 수입보다 서버의 리소스에 대해 지불하는 비용이 더 크다면 적자가 발생할 수 있다. 때문에 여러 서버마다의 서버 비용과 네트워크 비용을 수입이 넘길 수 있다면 MSA를 적용하는것이 좋다.
- 기업이미지가 중요하니까 신뢰도를 높이기 위해 MSA를 도입할 수 있다.
- 넷플릭스: 데이터베이스의 큰 장애가 일어났고 3일동안 이용하지 못했다. 규모가 커져 이런 문제점이 생겨 MSA를 도입했다.
B. MSA 의 장점은 무엇일까요?
- MSA 등장 배경이 확장성이라고 생각한다. : 이벤트가 일어나면 트래픽이 몰릴 것. 그것을 대비해야하는데 모놀리식이라면 서버 전체를 내려야한다. 하지만 micro하게 나눠져 있다면 트래픽이 몰릴 것 같은 곳만 내리면 된다.
- 단일 장애점(시스템 구성 요소 중, 동작하지 않으면 전체 시스템이 중단되는 요소)을 해소한다. : 서버에 장애가 일어났을 때 하나의 서버에 fault가 일어났을 때 전체 서비스를 이용할 수 없으면 안된다. MSA를 적용하면 많은 서버 중 하나의 서버에 fault가 일어난다해도 다른 서비스를 이용할 수 있다.
- 커져가는 프로젝트 규모에 대한 대비: 프로젝트를 만들고 운영하는데서 요구사항이 생겨 이를테면 코드의 변화가 일어날 수 있는데 MSA를 사용하면 Low coupling되어 에러가 전이 되지 않고 high cohesion되어
- 스케일링: MSA는 scale in(서버 증설)을 통해 규모가 커졌을 때 트래픽을 감당할 수 있도록 만들 수 있다.
- 언어와 프레임워크의 독립성 확보: 쪼개져 있다보니 각 언어와 프레임워크에 있어서 특화된 서비스를 개발할 수 있다.
C. MSA 의 단점은 무엇일까요?
인디개발자의 입장에서 MSA를 적용하는 것은 패인일 수 있다. 많은 자본을 가지지 못한다면 MSA보다 모놀리식 아키텍처를 고민하는 것이 나을 수 있다.
기본적으로 네트워크를 통해서 서버끼리 통신함으로써 작동하는 아키텍처이기 때문에 서버 간 통신 지연이 일어난다면 병목현상이 일어날 수 있다.
트렌젝션 관리가 어렵다.
API 사용범위 또한 스펙을 변경하면 예상치 못한 서비스에서 장애가 발생할 수 있다.
통합적으로 테스트하기 힘들다.
테크리드가 필요하다고 생각한다.
2. 효율적인 MSA 운영을 위해서 꼭 필요한 미들웨어는 무엇이 있을까요?
message queueing과 같은 시스템을 예상치 못한 장애를 대응하기 위해 도입. 서버가 갑자기 다운되어도 메시지 큐잉에서 가져오면 된다.
A. 관제시스템 (Monitoring) 미들웨어는 무엇이고 기능과 목적은 무엇이 있을까요?
타깃 서버의 시스템의 성능과 상태를 분석해서 서버가 잘 동작하는지, 트래픽을 감당할 수 있는지 분석.
B. 장애 대응을 위한 Notification 에 대한 내용을 조사하고, 어떻게 구현 하는게 신속 정확 , 그리고 현황 파악을 할 수 있을 지 정리 해 봅니다.
관제시스템 미들웨어에 해당하는 내용이라고 생각한다.
[배달의민족을 운영한다고 생각하자.]
3. AD Server 의 기능 과 목적을 정의 해 봅니다. 명확한 하나의 문장으로 정의 한 후 RFP 문서로 작성합니다.
광고를 주는 서버
페이지마다 슬롯에 해당하는 광고를 제공하는 서버
4. Fraud Detection Server 의 기능 과 목적을 정의 해 봅니다. 명확한 하나의 문장으로 정의 한 후 RFP 문서로 작성합니다.
비정상적 행위를 탐지하는 서버
유저의 비정상적 행위를 탐지하는 서버
광고 관리 서버
* 생각의 틀 정하는 방법

모든 정리 내용은 한 문장으로 끝나야한다. 그 문장에서 세분화 해야한다.
첫 문장에서 다른 키워드를 포함하면 안된다.
- ex) AD 매니저는 뭐하는 사람인가?
- → 광고를 준다. (여기서 끝나야한다.)
- (옵션을 붙여준다.) → 광고를 라인 메인페이지에 준다.
- → 광고를 라인의 메인페이지를 주는데에는 어떤 광고 섹션을 사용해서 준다.
- → 광고를 인도네시아 버전 라인의 메인페이지에서 여름기간에 어떤 광고 섹션을 활용해서 준다.



첫 한문장을 큰 틀에서 정의하고 문장을 만든다.
RFP 문장을 만드는 것은 코드를 큰 단위부터 짜고 그걸 상속하거나 라이브러리로 빼거나 한다.