세부 애플리케이션 평가 - AWS 규범적 지침

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

세부 애플리케이션 평가

세부 애플리케이션 평가의 목표는 대상 애플리케이션과 관련 인프라(컴퓨팅, 스토리지 및 네트워크)를 완전히 이해하는 것입니다. 위험을 방지하려면 충실도가 높은 데이터가 필요합니다. 예를 들어 조직은 애플리케이션을 완전히 이해한다고 가정하는 것이 일반적입니다. 이는 자연스러우며 많은 경우에 마찬가지입니다. 그러나 비즈니스에 대한 위험을 최소화하려면 프로그래밍 데이터를 최대한 확보하여 기관의 지식과 정적 문서를 검증하는 것이 중요합니다. 이렇게 하면 검색 프로세스의 과중한 부담을 덜 수 있습니다. 비즈니스별 정보, 전략적 로드맵 등 대체 소스에서 나오는 데이터 요소에 집중할 수 있습니다.

핵심은 마이그레이션 중 및 마이그레이션 후 마지막 순간의 변경을 방지하는 것입니다. 예를 들어 마이그레이션할 때는 서버를 지속적인 마이그레이션 웨이브에 포함해야 할 수 있는 식별되지 않은 종속성에 따른 변경을 피하는 것이 중요합니다. 마이그레이션 직후 트래픽을 허용하거나 추가 서비스를 배포하려면 관련 플랫폼 요구 사항에 따른 변경을 피하는 것이 중요합니다. 이러한 종류의 계획되지 않은 변경은 보안 및 운영 문제의 위험을 높입니다. 세부 애플리케이션 평가를 수행할 때 프로그래밍 방식 검색 도구를 사용하여 트래픽 패턴과 종속성을 검증하는 것이 좋습니다.

평가를 시작할 때 애플리케이션 이해관계자를 식별해야 합니다. 일반적으로 다음과 같습니다.

  • 사업부 리드

  • 애플리케이션 소유자

  • 아키텍트

  • 운영 및 지원

  • 클라우드 지원 팀

  • 컴퓨팅, 스토리지 및 네트워크와 같은 특정 플랫폼 팀

자세한 검색을 위한 두 가지 접근 방식이 있습니다. 하향식 검색은 애플리케이션 또는 사용자로 시작하여 인프라로 완전히 내려갑니다. 이는 애플리케이션 식별이 명확할 때 권장되는 접근 방식입니다. 반대로 상향식 검색은 인프라에서 시작하여 애플리케이션 또는 서비스와 해당 사용자에게 전달됩니다. 이 접근 방식은 인프라 팀이 마이그레이션 프로그램을 주도하고 매핑이 명확하지 않은 경우에 application-to-infrastructure 유용합니다. 일반적으로 두 가지 조합을 모두 사용할 수 있습니다.

애플리케이션을 자세히 살펴보려면 기존 아키텍처 다이어그램을 시작하는 것이 좋습니다. 사용할 수 없는 경우 현재 지식을 기반으로 생성합니다. 간단한 재호스팅 또는 재배치 마이그레이션 전략의 경우에도이 작업의 중요성을 과소평가하지 마십시오. 아키텍처 다이어그램을 도표화하면 클라우드에서 사소한 변경으로 신속하게 해결할 수 있는 비효율성을 식별할 수 있습니다.

하향식 또는 상향식 접근 방식을 수행하는지 여부에 따라 초기 다이어그램은 애플리케이션 구성 요소와 서버 및 로드 밸런서와 같은 서비스 또는 인프라 구성 요소를 표시합니다. 기본 구성 요소 및 인터페이스가 식별되면 검색 도구 및 애플리케이션 성능 모니터링 도구의 프로그래밍 데이터를 사용하여 검증합니다. 도구는 종속성 분석을 지원하고 구성 요소 간의 통신 정보를 제공해야 합니다. 이 애플리케이션을 구성하는 각 구성 요소를 식별해야 합니다. 다음으로, 내부 및 외부의 다른 애플리케이션 및 서비스에 대한 종속성을 문서화합니다.

종속성과 매핑을 검증하는 도구가 없는 경우 수동 접근 방식이 필요합니다. 예를 들어 인프라 구성 요소에 로그인하고 스크립트를 실행하여 열린 포트 및 설정된 연결과 같은 통신 정보를 수집할 수 있습니다. 마찬가지로 실행 중인 프로세스와 설치된 소프트웨어를 식별할 수 있습니다. 수동 검색에 필요한 노력을 과소평가하지 마세요. 프로그래밍형 도구는 더 큰 간격(일반적으로 작은 백분율)으로 발생하는 종속성을 제외하고 며칠 내에 대부분의 종속성을 캡처하고 보고할 수 있습니다. 수동 검색은 모든 데이터 포인트를 수집하고 병합하는 데 몇 주가 걸릴 수 있으며 오류와 누락된 데이터가 발생하기 쉽습니다.

우선 순위가 지정된 각 애플리케이션 및 매핑된 인프라에 대한 데이터 요구 사항 섹션에 지정된 정보를 가져옵니다. 다음으로 다음 설문지를 사용하여 자세한 평가 프로세스를 안내합니다. 식별된 이해관계자와 만나 이러한 질문에 대한 답변을 논의합니다.

일반

  • 이 애플리케이션의 중요도 수준은 어떻게 됩니까? 수익이 발생하나요? 비즈니스 전략 또는 지원 비즈니스 애플리케이션입니까? 다른 시스템에서 공유하는 핵심 인프라 서비스입니까?

  • 이 애플리케이션에 대해 진행 중인 변환 프로젝트가 있습니까?

  • 내부 또는 외부를 대상으로 하는 애플리케이션입니까?

아키텍처

  • 현재 아키텍처 유형(예: , SOA마이크로서비스, 모놀리스)은 무엇입니까? 아키텍처에는 몇 개의 티어가 있습니까? 단단히 결합되어 있습니까, 아니면 느슨하게 결합되어 있습니까?

  • 구성 요소는 무엇입니까(예: 컴퓨팅, 데이터베이스, 원격 스토리지, 로드 밸런서, 캐싱 서비스)?

  • APIs이란 무엇입니까? API 이름, 작업, URLs, 포트 및 프로토콜을 포함하여 이를 설명합니다.

  • 구성 요소와이 애플리케이션 또는 서비스 간에 허용되는 최대 지연 시간은 얼마입니까?

운영

  • 이 애플리케이션은 어떤 위치에서 작동하나요?

  • 애플리케이션과 인프라를 운영하는 사람은 누구입니까? 내부 또는 AWS 파트너 팀에서 운영하나요?

  • 이 애플리케이션이 다운되면 어떻게 되나요? 누가 영향을 받나요? 어떤 영향이 있나요?

  • 사용자 또는 고객은 어디에 있나요? 애플리케이션에 어떻게 액세스하나요? 동시 사용자 수는 몇 명입니까?

  • 마지막 기술 리프레시가 언제였나요? 향후 새로 고침이 예정되어 있습니까? 그렇다면 언제입니까?

  • 이 애플리케이션에 대해 알려진 위험과 문제는 무엇입니까? 중단, 중간 심각도 및 심각도가 높은 인시던트의 이력은 무엇입니까?

  • 사용 주기(영업 시간)는 어떻게 됩니까? 운영 시간대는 어떻게 됩니까?

  • 변경 동결 기간은 어떻게 됩니까?

  • 이 애플리케이션을 모니터링하는 데 사용되는 솔루션은 무엇입니까?

성능

  • 수집된 성능 정보는 무엇을 표시하나요? 사용량이 급증하거나 일정하고 예측 가능합니까? 사용 가능한 성능 데이터의 기간, 간격 및 날짜는 어떻게 됩니까?

  • 이 애플리케이션의 일부이거나이 애플리케이션과 상호 작용하는 예약된 배치 작업이 있습니까?

소프트웨어 수명 주기

  • 현재 변화율은 얼마입니까(주간, 월간, 분기별 또는 연간)?

  • 개발 수명 주기(예: 테스트, 개발, QA, UAT, 사전 프로덕션, 프로덕션)는 무엇입니까?

  • 애플리케이션 및 인프라의 배포 방법은 무엇입니까?

  • 배포 도구란 무엇입니까?

  • 이 애플리케이션 또는 인프라는 지속적 통합(CI)/지속적 전송(CD)을 사용하나요? 자동화 수준은 어느 정도입니까? 수동 작업이란 무엇입니까?

  • 애플리케이션 및 인프라에 대한 라이선스 요구 사항은 무엇입니까?

  • 서비스 수준 계약(SLA)이란 무엇입니까?

  • 현재 테스트 메커니즘은 무엇입니까? 테스트 단계는 무엇입니까?

마이그레이션

  • 마이그레이션 고려 사항은 무엇입니까?

이때이 애플리케이션을 마이그레이션할 때 고려해야 할 사항을 기록해 둡니다. 보다 완전하고 정확한 평가를 위해 다른 이해관계자로부터이 질문에 대한 답변을 얻습니다. 그런 다음 지식과 의견을 대조합니다.

복원력

  • 현재 백업 방법은 무엇입니까? 백업에 사용되는 제품은 무엇입니까? 백업 일정은 어떻게 됩니까? 백업 보존 정책은 무엇인가요?

  • 현재 복구 시점 목표(RPO) 및 복구 시간 목표(RTO)는 무엇입니까?

  • 이 애플리케이션에 재해 복구(DR) 계획이 있습니까? 그렇다면 DR 솔루션은 무엇입니까?

  • 마지막 DR 테스트는 언제였나요?

보안 및 규정 준수

  • 이 애플리케이션에 적용되는 규정 준수 및 규제 프레임워크는 무엇입니까? 마지막 및 다음 감사 날짜는 언제입니까?

  • 이 애플리케이션은 민감한 데이터를 호스팅하나요? 데이터 분류란 무엇입니까?

  • 전송 중 또는 유휴 데이터, 또는 둘 다 데이터가 암호화됩니까? 암호화 메커니즘이란 무엇입니까?

  • 이 애플리케이션은 보안 소켓 계층(SSL) 인증서를 사용하나요? 발급 기관은 무엇입니까?

  • 사용자, 구성 요소 및 기타 애플리케이션 및 서비스에 대한 인증 방법은 무엇입니까?

데이터베이스 수

  • 이 애플리케이션에서는 어떤 데이터베이스를 사용하나요?

  • 데이터베이스에 대한 일반적인 동시 연결 수는 몇 개입니까? 최소 연결 수와 최대 연결 수는 얼마입니까?

  • 연결 방법은 무엇입니까(예: , JDBCODBC)?

  • 연결 문자열이 문서화되어 있습니까? 그렇다면 어디입니까?

  • 데이터베이스 스키마란 무엇입니까?

  • 데이터베이스가 사용자 지정 데이터 유형을 사용합니까?

종속성

  • 구성 요소 간의 종속성은 무엇입니까? 해결할 수 없고 구성 요소를 함께 마이그레이션해야 하는 종속성을 기록해 둡니다.

  • 구성 요소는 여러 위치로 분할됩니까? 이러한 위치(예: , WANVPN) 간의 연결은 무엇입니까?

  • 이 애플리케이션의 다른 애플리케이션 또는 서비스에 대한 종속성은 무엇입니까?

  • 운영 종속성이란 무엇입니까? 예를 들어, 패치 창과 같은 유지 관리 및 릴리스 주기입니다.