LG CNS Camp 2기/MSA 과정 2

[MSA 과정] 클라우드 네이티브

클라우드 네이티브 란? 클라우드의 장점을 최대한 활용하여 어플리케이션을 개발하고 운영하는 방식 단순히 클라우드에서 돌리는게 아니라, 클라우드의 특성에 맞게 설계하는 것! 전통적인 방법 ( On-Premise ) - 물리 서버 직접 구매 / 설치 - 시스템 관리자가 직접 관리 - 수동 배포 (USB, CD 등으로 복사) - 장애 시 서버실 직접 확인해야 함 - 서버 증설 오래 걸림 문제점 - 확장성 제한 ( 서버 주문하고 설치까지 오래 걸림 ) - 유연성 부족 ( 한 번 구축하면 바꾸기 어려움 ) - 높은 운영 비용 ( 전기세, 관리 인력 등 ) - 장애 대응 느림 ( 직접 현장에 가서 확인해야 함 ) 클라우드 네이티브 방식 - 필요할 때 즉시 서버 생성 - 자동화된 배포와 관리 - 트래픽에 다른 자동 확..

[MSA 과정] 모놀리식(Monolithic) 아키텍쳐와 마이크로서비스(MSA)

모놀리식 아키텍쳐( Monolithic Architecture ) - 여러기능 ( ex. 로그인, 상품 조회, 주문, 결제 ... ) 들을 하나의 큰 프로그램으로 만드는 방식 장점 초기 스타트업 같은 경우에는 좋을 수 있음. 빠른개발 : 간단하고 직관적이라 빠르게 만들 수 있음. 쉬운 배포 : 파일 하나만 서버에 올리면 끝! 간단한 테스트 : 전체를 한 번에 테스트 하면 됨. 쉬운 디버깅 : 모든 코드가 한 곳에 있어서 문제를 찾기 쉬움. 단점 서비스가 커지면서 문제가 생기기 시작함.. 복잡도 폭발 : 코드가 너무 길어짐. 작은 수정하나에 전체를 이해해야 함. 배포의 공포 : 기능하나 수정하는데 전체를 다시 배포해야함. 근데 다른 기능에서 오류가 나버림.. 확장의 한계 : 기능에 따라 ..