laaS
: 인프라를 서비스로 제공
가장 많이 사용
: 인프라 + 서버
-> 관리하는 리소스
가 많은 처리를 해야하기 때문에PaaS
: 인프라보다 위에있는 플랫폼 서비스를 제공SaaS
: SolutionAWS 등장하면서 AWS가 사용하기 까다로운 인프라, 서버관리(laaS)를 서비스 형식으로 줌
-> 사용안할 이유가(개꿀)
AWS EC2
: IDC에서 on-Premise 라는 인프라를 클라우드 환경에서 서비스화 시켜서 제공해주는 것
가상서버를 구축하고 실행할 수 있는 서비스
-> 필요에 따라 원하는 성능과 운영체제를 사용
하고 유연한 Scaling 가능
Scale Up
Scale Out
AWS S3, DynamoDB, RDS
AWS S3
: 객체형 DBDynamoDB
: Key, Value 형태의 인메모리 DBRDS
: RDB(Oracle, MySQL과 같은)공통점
: 물리적인 인프라를 구축
하는 데에 있어서 가장 큰 장벽Docker, Docker Compose, K83
Docker
: 컨테이너 가상환경으로 image를 만들수 있는 기술Docker Compose
: image로 부터 실행된 컨테이너들을 1개처럼 관리하는 도구K83
: 위에 것들 고도화왜 MSA 유명해졌는데?
모놀리식
1개의 App이 1개의 서버에 배포
단일
코드베이스하나의 프로세스
SOA : 서비스 지향 아키텍처
서비스 단위
로 개발 -> 규격화된 프로토콜을 사용하여 통신
동일한 기술스택으로 서비스 개발
-> 서비스들간의 재사용이 목적
ESB(Enterprise Service bus)라는 개념을 통해 요청에 대해 어떤 서비스들을 호출할 지 캠술화된 Layer 존재
서비스간 통합 강조
모놀리식과 SOA 문제
MSA에서 개발이 빠라지는 이유
CI/CD Pipeline
: 지속적인 것 때문에Automation
API Gateway
: 어떤 서비스를 호출해야할까?MSA 구성요소 보기
개발자의 관점
사용자의 관점
모니터링의 관점