목차
문제1 (20점)
교재에서 설명되지 않은 ‘마이크로서비스 아키텍처(Microservices Architecture)’에 관해 조사하라.
1. 개념과 정의
2. 이론적 기반과 등장 배경
3. 주요 특성과 구성 요소
1) 주요 특성 2) 구성 요소
4. 관련 도구와 기능
1) 컨테이너 오케스트레이션(Container Orchestration) 2) 테스트 도구(Testing Tools)
3) API 관리 도구(API Management) 4) 모니터링 및 관리 도구(Monitoring & Management) 5) 서비스 메시(Service Mesh) 6) 클라우드 기반 마이크로서비스 관리
5. 적용 사례
1) 아마존(Amazon) 2) 넷플릭스(Netflix) 3) 우버(Uber)
6. 장점과 문제점
1) 장점 2) 문제점
문제2 (10점)
일정 계획을 위해 작성한 CPM 네트워크가 다음과 같다. 원과 영문자는 작업을, 숫자는 소요 기간(단위는 주)을 의미한다. 시작 작업 A의 ‘가장 빠른 시작 시간(EST)’은 0이고, ‘가장 빠른 종료 시간(EFT)’은 2로 가정한다. 작업 I를 완수하면 프로젝트는 종료된다. 교재에 있는 유사 문제를 참고한다.
(1) 임계 경로를 찾는 과정을 보이고, 임계 경로를 구성하는 작업이 무엇인지 적으시오. 또 프로젝트 완료에 필요한 최소 기간은 얼마인지 적으시오.(5점)
(2) 작업 F의 ‘가장 빠른 시작 시간(EST)’과 ‘가장 늦은 시작 시간(LST)’은 각각 얼마인지 적으시오. (5점)
* 참고문헌
교재에서 설명되지 않은 ‘마이크로서비스 아키텍처(Microservices Architecture)’에 관해 조사하라.
1. 개념과 정의
2. 이론적 기반과 등장 배경
3. 주요 특성과 구성 요소
1) 주요 특성 2) 구성 요소
4. 관련 도구와 기능
1) 컨테이너 오케스트레이션(Container Orchestration) 2) 테스트 도구(Testing Tools)
3) API 관리 도구(API Management) 4) 모니터링 및 관리 도구(Monitoring & Management) 5) 서비스 메시(Service Mesh) 6) 클라우드 기반 마이크로서비스 관리
5. 적용 사례
1) 아마존(Amazon) 2) 넷플릭스(Netflix) 3) 우버(Uber)
6. 장점과 문제점
1) 장점 2) 문제점
문제2 (10점)
일정 계획을 위해 작성한 CPM 네트워크가 다음과 같다. 원과 영문자는 작업을, 숫자는 소요 기간(단위는 주)을 의미한다. 시작 작업 A의 ‘가장 빠른 시작 시간(EST)’은 0이고, ‘가장 빠른 종료 시간(EFT)’은 2로 가정한다. 작업 I를 완수하면 프로젝트는 종료된다. 교재에 있는 유사 문제를 참고한다.
(1) 임계 경로를 찾는 과정을 보이고, 임계 경로를 구성하는 작업이 무엇인지 적으시오. 또 프로젝트 완료에 필요한 최소 기간은 얼마인지 적으시오.(5점)
(2) 작업 F의 ‘가장 빠른 시작 시간(EST)’과 ‘가장 늦은 시작 시간(LST)’은 각각 얼마인지 적으시오. (5점)
* 참고문헌
본문내용
그 분석 도구 활용
- 지속적인 보안 업데이트: 개별 서비스별 보안 패치 및 업데이트를 주기적으로 수행
그러나 각 마이크로서비스가 별도의 팀에 의해 운영될 경우 보안 업데이트 일정이 다를 수 있어 취약점이 발생할 가능성이 높아진다. 따라서, 보안 일관성을 유지하는 것이 중요한 과제가 된다.
(6) 조직 문화 변화(Cultural Challenges)
마이크로서비스는 기존의 모놀리식 방식과는 전혀 다른 개발 패러다임을 요구하므로, 조직 내부의 문화적 변화가 필수적이다. 기업이 마이크로서비스를 도입하면, 개발자들은 새로운 분산 시스템 아키텍처를 이해해야 하며, 개별 서비스가 어떻게 상호 작용하는지 학습해야 한다. 또한 DevOps 및 CI/CD 방식을 적극적으로 도입해야 하며, 기존의 전통적인 개발 및 배포 방식에서 벗어나야 한다. 이 과정에서 다음과 같은 문제들이 발생할 수 있다.
- 개발팀 간의 협업의 중요성, 개발 문화 및 커뮤니케이션 방식의 변화 필요
- 자동화 및 모니터링에 대한 기술적 역량이 부족 시 마이크로서비스 운영의 어려움
- 각 서비스의 독립적 개발로 코드 및 데이터 일관성 유지 곤란
이러한 문제를 해결하기 위해서는 기업 내부적으로 교육 및 프로세스 개선을 병행해야 하며, DevOps 및 Agile 개발 방식을 적극적으로 도입하는 것이 중요하다.
문제2 (10점)
일정 계획을 위해 작성한 CPM 네트워크가 다음과 같다. 원과 영문자는 작업을, 숫자는 소요 기간(단위는 주)을 의미한다. 시작 작업 A의 ‘가장 빠른 시작 시간(EST)’은 0이고, ‘가장 빠른 종료 시간(EFT)’은 2로 가정한다. 작업 I를 완수하면 프로젝트는 종료된다. 교재에 있는 유사 문제를 참고한다.
(1) 임계 경로를 찾는 과정을 보이고, 임계 경로를 구성하는 작업이 무엇인지 적으시오. 또 프로젝트 완료에 필요한 최소 기간은 얼마인지 적으시오.(5점)
다수의 개발자가 소프트웨어 프로젝트에 참여하면 병행 작업이 필요할 것이다. 따라서 프로젝트를 효율적으로 진행하려면 먼저 작업들 간의 선후 관계를 결정해야 한다. 또, 프로젝트 계획자는 임계 경로(critical path) 상의 작업들, 즉 프로젝트의 일정 준수를 위해 지연이 전혀 허용되지 않는 작업들을 식별해야 한다. 따라서 임경 경로는 여유시간=0인 작업들을 연결한 것이다.
CPM은 일정 계획을 위한 알고리즘적 분석 방법이다. 이것은 프로젝트 개발 기간을 결정하는 임계 경로를 식별하고, 각 작업에 대한 경계 시간을 계산할 수 있도록 지원한다. 임계 경로는 시작에서 종료 작업까지의 경로 중 가장 긴 경로이며, 임계 작업들은 임계 경로상에 위치한 작업들이다. 임계경로를 찾는 가장 간단한 방법은 시작에서 종료까지 모든 가능한 경로를 찾아 해당 경로의 활동들에 소요되는 기간을 합한다. 모든 경로에 대해 기간이 가장 많이 소요되는 경로가 임계경로가 된다. 이 방법은 모든 경로를 탐색해야 하므로 망이 복잡한 경우 시간이 많이 소요된다.
주어진 CPM 네트워크에서 가능한 경로와 소요 기간은 다음과 같다.
A → B → C → E → H → I : 2 + 4 + 6 + 3 + 2 + 1 = 18
A → B → D → E → H → I : 2 + 4 + 5 + 3 + 2 + 1 = 17
A → B → D → F → H → I : 2 + 4 + 5 + 2 + 2 + 1 = 16
A → B → D → G → I : 2 + 4 + 5 + 7 + 1 = 19
\"A → B → D → G → I\"가 기간이 가장 많이 소요되는 임계경로이고, 프로젝트 완료에 필요한 최소 기간은 19주가 된다.
(2) 작업 F의 ‘가장 빠른 시작 시간(EST)’과 ‘가장 늦은 시작 시간(LST)’은 각각 얼마인지 적으시오. (5점)
작업 F가 가장 빨리 시작할 수 있는 시간은 선행작업들의 ‘가장 빠른 종료 시간(EFT)’ 중 가장 큰 값이다. F의 선행작업에는 A, B, D가 있으므로 이 작업들의 EFT 중 가장 큰 값이다.
A는 시작 작업이므로 A의 EFT 즉, 가장 일찍 종료할 수 있는 시간은 A의 작업시간인 2이다. 따라서 EST(B) = 2 이다. 쉽게 설명하면, 작업 B가 가장 빨리 시작할 수 있는 시간은, 선행작업 A가 종료된 직후 바로 시작하는 경우이므로, A의 작업시간인 2가 된다.
작업 B의 EFT = EST(B) + 4 = 2+4(=B 작업시간) = 6“이다.
작업 D의 EST는 작업 B의 EFT이므로 6이다.
EFT(D) = EST(D) + 5(=D 작업시간) = 11
따라서 작업 F의 EST는 EFT(D)의 값인 11이다.
임계 경로의 시간(19주)에서 작업 F의 남아 있는 경로들에서 가장 긴 시간을 뺀 값이 LFT(가장 늦게 종료할 수 있는 시간)이고, LFT에서 작업시간을 뺀 것이 LST이다.
작업 F의 남아 있는 경로는 H와 I이다. 작업 F의 LST를 계산하기 위해서는 후행 작업인 H의 LST를 먼저 알아야 한다.
작업 I: LFT = 19 (프로젝트 완료 시점), LST = 19 - 1 = 18
작업 H: LFT = 18 (I 시작 전), LST = 18 - 2 = 16
작업 F는 작업 H의 선행 작업 중 하나이다. H가 늦어도 16주차에는 시작해야 하므로, F는 늦어도 H의 LST인 16주차 전에 완료되어야 한다.
작업 F의 소요 기간은 2이다.
작업 F의 LFT(가장 늦은 종료 시간) = 16
작업 F의 LST(가장 늦은 시작 시간) = 16 - 2 = 14
이것은 작업 F가 14주차까지 시작하면 프로젝트 전체 일정에 영향을 주지 않는다는 의미다. 즉, 14주차 이후에 시작하면 전체 프로젝트 완료 시간이 지연된다.
따라서 작업 F의 EST = 11, LST = 14가 된다.
* 참고문헌
소프트웨어공학, 김희천, 출판문화원, 2020
https://www.techtarget.com/searchapparchitecture/definition/microservices
https://www.spiceworks.com/tech/devops/articles/what-are-microservices/
과제 스트레스 싹~ 학점 쑥!
- 지속적인 보안 업데이트: 개별 서비스별 보안 패치 및 업데이트를 주기적으로 수행
그러나 각 마이크로서비스가 별도의 팀에 의해 운영될 경우 보안 업데이트 일정이 다를 수 있어 취약점이 발생할 가능성이 높아진다. 따라서, 보안 일관성을 유지하는 것이 중요한 과제가 된다.
(6) 조직 문화 변화(Cultural Challenges)
마이크로서비스는 기존의 모놀리식 방식과는 전혀 다른 개발 패러다임을 요구하므로, 조직 내부의 문화적 변화가 필수적이다. 기업이 마이크로서비스를 도입하면, 개발자들은 새로운 분산 시스템 아키텍처를 이해해야 하며, 개별 서비스가 어떻게 상호 작용하는지 학습해야 한다. 또한 DevOps 및 CI/CD 방식을 적극적으로 도입해야 하며, 기존의 전통적인 개발 및 배포 방식에서 벗어나야 한다. 이 과정에서 다음과 같은 문제들이 발생할 수 있다.
- 개발팀 간의 협업의 중요성, 개발 문화 및 커뮤니케이션 방식의 변화 필요
- 자동화 및 모니터링에 대한 기술적 역량이 부족 시 마이크로서비스 운영의 어려움
- 각 서비스의 독립적 개발로 코드 및 데이터 일관성 유지 곤란
이러한 문제를 해결하기 위해서는 기업 내부적으로 교육 및 프로세스 개선을 병행해야 하며, DevOps 및 Agile 개발 방식을 적극적으로 도입하는 것이 중요하다.
문제2 (10점)
일정 계획을 위해 작성한 CPM 네트워크가 다음과 같다. 원과 영문자는 작업을, 숫자는 소요 기간(단위는 주)을 의미한다. 시작 작업 A의 ‘가장 빠른 시작 시간(EST)’은 0이고, ‘가장 빠른 종료 시간(EFT)’은 2로 가정한다. 작업 I를 완수하면 프로젝트는 종료된다. 교재에 있는 유사 문제를 참고한다.
(1) 임계 경로를 찾는 과정을 보이고, 임계 경로를 구성하는 작업이 무엇인지 적으시오. 또 프로젝트 완료에 필요한 최소 기간은 얼마인지 적으시오.(5점)
다수의 개발자가 소프트웨어 프로젝트에 참여하면 병행 작업이 필요할 것이다. 따라서 프로젝트를 효율적으로 진행하려면 먼저 작업들 간의 선후 관계를 결정해야 한다. 또, 프로젝트 계획자는 임계 경로(critical path) 상의 작업들, 즉 프로젝트의 일정 준수를 위해 지연이 전혀 허용되지 않는 작업들을 식별해야 한다. 따라서 임경 경로는 여유시간=0인 작업들을 연결한 것이다.
CPM은 일정 계획을 위한 알고리즘적 분석 방법이다. 이것은 프로젝트 개발 기간을 결정하는 임계 경로를 식별하고, 각 작업에 대한 경계 시간을 계산할 수 있도록 지원한다. 임계 경로는 시작에서 종료 작업까지의 경로 중 가장 긴 경로이며, 임계 작업들은 임계 경로상에 위치한 작업들이다. 임계경로를 찾는 가장 간단한 방법은 시작에서 종료까지 모든 가능한 경로를 찾아 해당 경로의 활동들에 소요되는 기간을 합한다. 모든 경로에 대해 기간이 가장 많이 소요되는 경로가 임계경로가 된다. 이 방법은 모든 경로를 탐색해야 하므로 망이 복잡한 경우 시간이 많이 소요된다.
주어진 CPM 네트워크에서 가능한 경로와 소요 기간은 다음과 같다.
A → B → C → E → H → I : 2 + 4 + 6 + 3 + 2 + 1 = 18
A → B → D → E → H → I : 2 + 4 + 5 + 3 + 2 + 1 = 17
A → B → D → F → H → I : 2 + 4 + 5 + 2 + 2 + 1 = 16
A → B → D → G → I : 2 + 4 + 5 + 7 + 1 = 19
\"A → B → D → G → I\"가 기간이 가장 많이 소요되는 임계경로이고, 프로젝트 완료에 필요한 최소 기간은 19주가 된다.
(2) 작업 F의 ‘가장 빠른 시작 시간(EST)’과 ‘가장 늦은 시작 시간(LST)’은 각각 얼마인지 적으시오. (5점)
작업 F가 가장 빨리 시작할 수 있는 시간은 선행작업들의 ‘가장 빠른 종료 시간(EFT)’ 중 가장 큰 값이다. F의 선행작업에는 A, B, D가 있으므로 이 작업들의 EFT 중 가장 큰 값이다.
A는 시작 작업이므로 A의 EFT 즉, 가장 일찍 종료할 수 있는 시간은 A의 작업시간인 2이다. 따라서 EST(B) = 2 이다. 쉽게 설명하면, 작업 B가 가장 빨리 시작할 수 있는 시간은, 선행작업 A가 종료된 직후 바로 시작하는 경우이므로, A의 작업시간인 2가 된다.
작업 B의 EFT = EST(B) + 4 = 2+4(=B 작업시간) = 6“이다.
작업 D의 EST는 작업 B의 EFT이므로 6이다.
EFT(D) = EST(D) + 5(=D 작업시간) = 11
따라서 작업 F의 EST는 EFT(D)의 값인 11이다.
임계 경로의 시간(19주)에서 작업 F의 남아 있는 경로들에서 가장 긴 시간을 뺀 값이 LFT(가장 늦게 종료할 수 있는 시간)이고, LFT에서 작업시간을 뺀 것이 LST이다.
작업 F의 남아 있는 경로는 H와 I이다. 작업 F의 LST를 계산하기 위해서는 후행 작업인 H의 LST를 먼저 알아야 한다.
작업 I: LFT = 19 (프로젝트 완료 시점), LST = 19 - 1 = 18
작업 H: LFT = 18 (I 시작 전), LST = 18 - 2 = 16
작업 F는 작업 H의 선행 작업 중 하나이다. H가 늦어도 16주차에는 시작해야 하므로, F는 늦어도 H의 LST인 16주차 전에 완료되어야 한다.
작업 F의 소요 기간은 2이다.
작업 F의 LFT(가장 늦은 종료 시간) = 16
작업 F의 LST(가장 늦은 시작 시간) = 16 - 2 = 14
이것은 작업 F가 14주차까지 시작하면 프로젝트 전체 일정에 영향을 주지 않는다는 의미다. 즉, 14주차 이후에 시작하면 전체 프로젝트 완료 시간이 지연된다.
따라서 작업 F의 EST = 11, LST = 14가 된다.
* 참고문헌
소프트웨어공학, 김희천, 출판문화원, 2020
https://www.techtarget.com/searchapparchitecture/definition/microservices
https://www.spiceworks.com/tech/devops/articles/what-are-microservices/
과제 스트레스 싹~ 학점 쑥!
키워드
추천자료
소니에 대해
(A+) 마이크로프로세서(Microprocessor)의 발전 과정과 컴퓨터 산업에 기여한 점 그리고 최신...
(A+) 컴퓨터의 이해 - 마이크로프로세서의 발전 과정과 컴퓨터 산업에 기여한 점 그리고 최신...
(A+) 마이크로프로세서(Microprocessor)의 발전 과정과 컴퓨터 산업에 기여한 점 그리고 최신...
[컴퓨터의 이해/1학년 공통]마이크로프로세서의 발전과정과 컴퓨터산업에 기여한점과 최신동...
소니기업분석,소니마케팅전략,소니위기극복사례,SONY기업분석,SONY마케팅전략,SONY위기극복사례
소니의 윤리경영
2024년 1학기 방송통신대 중간과제물 소프트웨어공학)교재에서 설명되지 않은 데브옵스(DevOp...
소개글