MSA MSA [정의] 대규모 분산 웹 환경에서 응용 소프트웨어를 독립적으로 배치 가능한 서비스 조합으로
설계하는 아키텍쳐
[특징] 사상: 리액티브 시스템 [디자인패턴] observer패턴, circuit breaker 패턴
[구조] 서비스 컴포넌트화(fine grained, loosely coupled), 분산거버넌스(polyglot),
분산데이터(vertical slicing), End point 통합(API GW, Orchestraion),
비즈니스 연계(Cross functional Team)
SPOF 방지 구현을 위해 다수의 API GW 구성가능
API GW, LB, Conway's Law, SOA, DevOps, Docker,
DDD, EDA, Agile
마이크로서비스/모노리틱
토픽 이름 MSA(Micro Service Architecture)
분류 SW > SW Architecture > MSA(Micro Service Architecture)
키워드(암기) API Gateway, Orchestration REST API, Persistent, DevOps,
DDD(Domain Driven Design; 도메인 주도 설계),
Polyglot(폴리글랏): 크로스 플랫폼 적인 데이터 교환를 의미함.
콘웨이의 법칙(Conways Law)
암기법(해당경우)  

 

기출문제

번호 문제 회차
1 마이크로 서비스 아키텍처(Micro Service Architecture) 관리 117 1교시 6

 

I.  MSA(Micro Service Architecture)개요.

 - 하나의 애플리케이션을 여러 개의 작은 마이크로 서비스 단위로 나누어 변경과 조합이 가능하도록 만든 아키텍처

 

II. 개념도 기술요소

 . 개념도( 하나 취사선택)

 

 

OR

 

 

. 구성요소

 

- 대용량 서비스 개발에 적합하게 작은 서비스의 결합을 통해 하나의 응용프로그램을 개발하는 SOA 근간으로 서비스 아키텍처

 

III. 마이크로 서비스 아키텍처와 모놀리식 아키텍처 비교

[추가자료] 마이크로 서비스 아키텍처와 SOA(Service Oriented Architecture) 비교

 

 

[참고] 콘웨이(Conway) 법칙

1967년 프로그래머 멜빈 콘웨이가 제안한 법칙

•시스템 구조는 설계하는 조직의 커뮤니케이션 구조를 닮게 된다.

•모든 시스템은 그 조직의 의사소통 구조와 동일하게 만들어진다(닮는다는 의미임).

•조직의 구조가 시스템 아키텍처 설계에 영향을 줌

반응형

'정보관리기술사 > 소프트웨어공학' 카테고리의 다른 글

UML의 관계(Relationship)  (0) 2024.04.04
UML / Diagram 전체  (0) 2024.04.03
SW Architecture 평가  (0) 2024.04.01
ISO/IEC/IEEE 42010  (1) 2024.03.31
명세기반 테스팅 기법  (0) 2024.03.30
78
출제예상 CI, CD [CI의 정의]
- 개발자 별로 소스코드를 지속적/연속적 통합하여 자동화된 빌드, 테스트 및 배포 기능을 통하여 단기간에 고품질의 SW를 획득하는 기술 (형상관리 필수적용)
[CD의 정의]
변경된 요구사항에 대한 개발/통합/배포/테스트/릴리즈를 자동화함으로써 SW의 개발과 운영을 통합하여 DevOps를 지원하는 소프트웨어 연속적인 배포 출시 전략
CI, 자동화, 통합, 빌드, 배포, Jenkins 연속적 소스 머지, 연속 배포 CI : 소스파일을 실행파일(바이너리파일)로 컴파일, 테스트, 테스트서버에 배포까지 프로 세스(Build Tool)
토픽 이름 CI (Continuous Integration), CD (Continuous Delivery)
분류 PM > Agile > CI, CD
키워드(암기) 소스파일의 연속적인 통합(CI) 연속적 배포(CD)
CI : 소스코드의 통합/테스트/배포 자동화를 통한 고품질 SW 획득
CD : S/W 개발 운영 통합을 통한 DevOps 지원하는 연속적인 배포
암기법(해당경우)  

 

기출문제

번호 문제 회차
1 12. CI(Continuous Integration) 대해 설명하시오. 합숙_2019.04.관리.Day-5
2 4. CI(Continuous Integration) CD(Continuous Delivery) 설명하고, 이를 통한 SW 생산성 향상방안에 대해 제시하시오. 합숙_2018.08.공통.Day-5
3 1. 클라우드 환경 확산 따라 DevOps 중요성이 증가하고 있다. DevOps 구성요소에 대해서 설명하고, CD(Continuous Delivery) 개념과 절차에 대해서 설명하시오. 모의_2017.04.관리.4
4 다양한 요구 변화에 대한 품질을 확보하며 안정적인 시스템 운영을 위해 스타트업 기업 위주로 DevOps 사상을 도입하는 경우가 증가하고 있다. DevOps 부각 배경과 CI(Continuous Integration) 도구, 그리고 DevOps 적용 고려사항에 대해서 설명하시오. 모의_2016.04.관리.4
5 1. CI(Continuous Integration), CD(Continuous Delivery) 대해 설명하시오. 합숙_2014.07.공통.Day-3

 

I. SW 품질개선과 위험 완화를 위한 Agile Practice, CI (Continuous Integration)) 개요

. CI 정의

- 개발자 별로 소스코드를 지속적/연속적 통합하여 자동화된 빌드, 테스트 배포 기능을 통하여 단기간에

고품질의 SW 획득하는 기술 (형상관리 필수적용)

. CI 목적/필요성

필요성 내용
에러의 조기 발견 - 에러를 초기에 발견할 있어, 흔히 발생하는 일반적인 위험을 줄여줌
- 자주 통합할수록 에러가 발생하는 반경(소스Gap) 좁아짐
배포 용이성 확보 - 언제 어느 때라도 배포할 있는 소프트웨어를 생성
가시적 관리 및 자동화 - 프로젝트 가시성 향상, 반복적인 수작업 최소화

 

II. CI 개념도 기술요소

. CI 개념도

 

. CI 기술요소

구성요소 설명 CI 도구
버전관리 저장소 모든 프로젝트 파일의 중앙 저장소가 있어 팀원들의 작업을 전부 동기화 공간을 제공 - CVS
- Subversion
- GIT
지속적인 통합서버(CI시스템) 컴파일, 테스트, 릴리즈, 디플로이, 결과보고등의 작업을 통합적 자동화 SW - Hudson
- Jenkins
빌드스크립트 자동화된 절차를 위한 셀 스크립트(또는 배치파일) 작성(소트 코드 컴파일, 테스트 수행 등) - 스크립트
- 배치파일
Project Management Tool 빌드 결과를 모니터링하거나 자동적으로 피드백을 받을 수 있는 관리도구 - 이메일, UC
- 문자메시지
자동화된 테스트 결과를 스스로 확인하는 자동화된 테스트 - SonarQube

 

III. CI 위험요소와 프렉티스를 성공적 수행하기 위한 자동화 프로세스 Tools

소프트웨어 위험요소 CI 자동화 프로세스 CI 자동화 Tools
배포 가능한 SW 부재
빌드 실패
DB 동기화 실패
배포 실패
소스 컴파일 자동화
DB Script 테스트
릴리즈 자동화
Ant, Maven
뒤늦은 결함 발견
회귀테스트 부재
테스트 적용범위 부재
테스트 자동화 JUnit, TestNG, Selenium
프로젝트 가시성 부재 통합 결과 피드백 Hudson, CruiseControl
저품질 SW
코딩표준, 설계지침 위반
중복/복잡한 코드
코딩 표준, 설계 지침, 중복코드, 코드복잡도 검사 자동화 Checkstyle, PMD, JDepent, Findbugs

 

[CD(Continuous Delivery)]

I. SW 개발/운영 통합관리, DevOps 위한 CD(Continuous Delivery) 개요

 

 

- 변경된 요구사항에 대한 개발/통합/배포/테스트/릴리즈를 자동화함으로써 SW 개발과 운영을 통합하여 DevOps 지원하는 소프트웨어 연속적인 배포 출시 전략

II. CI CD 관계도

 

- Commit 코드를 CI를 수행하고 CD 수행하여 지속적인 Deploy 수행

 

[추가_2018.08.합숙풀이]

- 발전된 오픈소스를 통해 CI/CD 넘어서 DevOps 환경 구성가능

반응형

'정보관리기술사 > 소프트웨어공학' 카테고리의 다른 글

Architecture  (0) 2024.03.08
번다운차트  (0) 2024.03.07
Lean(린)  (1) 2024.03.05
Kanban  (4) 2024.03.04
XP  (0) 2024.03.03

+ Recent posts