-
모노리식 아키텍처, 마이크로서비스 아키텍처전공/소프트웨어 공학 2020. 5. 13. 10:34
모노리식(monolithic) 아키텍처
•한 프로젝트의 덩치가 너무 커져서 어플리케이션 구동시간이 늘어나고 빌드,배포 시간도 길어진다.
•조그마한 수정사항이 있어도 전체를 다시 빌드하고 배포를 해야한다.
•많은 양의 코드가 몰려있어 개발자가 모두를 이해 할 수 없고 유지보수도 힘들다.
•일부분의 오류가 전체에 영향을 미친다.
•기능별로 알맞는 기술, 언어, 프레임워크를 선택하기가 까다롭다.
마이크로서비스(micorservice) 아키텍처
•대형 소프트웨어 프로젝트의 기능들을 작고 독립적이며 느슨하게 결합 된 모듈로 분해하여 서비스를 제공하는 아키텍처
•서비스가 개별적으로 독립적인 단위의 애플리케이션이기 때문에 변경이 용이하고 그 변경이 다른 서비스에 미치는 영향이 적다.
•개별 서비스 단위의 배포가 가능하기 때문에 하루에도 필요에 따라 여러 번 배포를 하는 것이 가능하다.
•부하가 집중되는 특정 서비스를 위해 전체 애플리케이션을 스케일 아웃할 필요가 없기 때문에 불필요한 자원의 낭비를 줄일 수 있다.
•해당 서비스의 개선과 수정 작업이 다른 서비스의 이해 당사자들과 독립적으로 진행될 수 있기 때문에 의사결정이 빠르고, 독립적인 테스트의 구축이 용이하기 때문에 품질이 개선된다.
'전공 > 소프트웨어 공학' 카테고리의 다른 글
테스트, 유지보수 종류 (0) 2020.05.11 오픈소스 라이선스 (0) 2020.05.10